![]() |
Μαζική διαγραφή πολλών συνημμένων Καλησπέρα σε όλο το forum. Για μια ακόμα φορά ζητώ την βοήθεια σας σε ένα πρόβλημά μου.. Έχω μία φόρμα στην οποία εμφανίζετε ένα περιγραφή "Note", μια ημερομηνία "Date" και 4 διαφορετικές επισυναπτόμενες εικόνες "Image_1", "Image_2", "Image_3" και "Image_4". Το ερώτημά μου είναι πώς μπορώ με ένα "clik" να κάνω ταυτόχρονη διαγραφή μόνο των τεσσάρων εικόνων χωρίς να διαγράψω όλη την εγγραφή (δηλ την ημερομηνία "Date" και τις σημειώσεις "Note")??? |
Καλημέρα Σωτήρη, υποθέτω ότι οι εικόνες είναι αποθηκευμένες στο πεδίο fImages τύπου attachment (συνημμένο) και ότι το κουμπί λέγεται cmdDelImages. Ο παρακάτω κώδικας, που εκτελείται πατώντας το κουμπί, θα διαγράψει όλες τις εικόνες από το πεδίο fImages της τρέχουσας εγγραφής. Κώδικας: Private Sub cmdDelImages_Click()Φιλικά/Γιώργος |
kapetang ευχαριστώ πολύ... μόλις είδα την λύση που μου πρότεινες ....όμως κάτι δεν πάει καλά... μου βγάζει ένα μύνημα "user-defined type not defined" Private Sub cmdDelImages_Click() Dim rs As DAO.Recordset2, rsIm As DAO.Recordset2 Set rs = Me.RecordsetClone rs.Bookmark = Me.Bookmark Set rsIm = rs.Fields("[USimage1]").Value Do Until rsIm.EOF rsIm.Delete rsIm.MoveNext Loop Me.[USimage1].Requery rsIm.Close rs.Close End Sub πού κάνω λάθος...:wall: |
1 Συνημμένο(α) Σωτήρη, πήγαινε στον κώδικα, μενού Tools, επιλογή References και έλεγξε αν υπάρχουν οι αναφορές που φαίνονται στο συνημμένο. Αν δε λυθεί το πρόβλημα ανέβασε δείγμα της ΒΔ. |
1 Συνημμένο(α) kapetang ευχαριστώ για ακόμη μία φορά... από αυτά τα λίγα που διάβασα είχα ενεργοποίησα και το "Microsoft DAO 3.6 Object Library" αλλά όπως καταλαβαίνεις δε λειτούργησε... και συν τις άλλοις δεν μου άφηνε να ενεργοποιήσω και την επιλογή σου "Microsoft Oficce 14.0 Access database engine Object Library". Με το απενενεργοποίησα το "Microsoft DAO 3.6 Object Library" όλα καλά!! Όμως έτσι μου σβήνει μόνο το ένα συνημμένο "USimage1" που έχει μια εικόνα. Υπάρχουν άλλα 5 συνημμένα "USimage2" &"USimage3" & "USimage4" & "USimage5" & "USimage6" που έχουν το καθένα από μία φωτογραφία. Από αυτό που κατάλαβα είναι ότι το LOOP "δουλεύει" μόνο για όσες εικόνες έχει το συνημμένο "USimage1"... για τα υπόλοιπα??? :035: Ευχαριστώ |
Καλησπέρα Σωτήρη, νόμιζα ότι έχεις ένα πεδίο τύπου Attachment (συνημμένο) με πολλές εικόνες. Για να διαγράψεις όλες τις εικόνες από όλα τα πεδία συνημμένων, δοκίμασε τον κώδικα: Κώδικας: Private Sub cmdDelImages_Click() |
kapetang πολύ γρήγορος και πάλι αφού κατάφερα να σου δώσω να καταλάβεις τι θέλω.... όμως πάλι κάτι δεν πάει καλά.. ...λογικά κάτι δεν πάει καλά με το loop... μου βγάζει λάθος εδώ: "Me.Controls(images(i)).Requery" |
Πιθανόν τα ονόματα των πεδίων στη φόρμα, δεν ταυτίζονται με τα ονόματα των πεδίων στον πίνακα: "USimage1", "USimage2", "USimage3", "USimage4", "USimage5". |
kapetang ευχαριστώ πολύ για τις πολύτιμες συμβουλές σου πάνω στις οποίες βασίστηκα για να βρω την παρακάτω λύση:icon_yes: Private Sub cmdDelImages_Click() Dim rs As DAO.Recordset2, rsIm As DAO.Recordset2 Set rs = Me.RecordsetClone rs.Bookmark = Me.Bookmark Set rsIm = rs.Fields("[USimage1]").Value rsIm.Delete Set rs = Me.RecordsetClone rs.Bookmark = Me.Bookmark Set rsIm = rs.Fields("[USimage2]").Value rsIm.Delete Set rs = Me.RecordsetClone rs.Bookmark = Me.Bookmark Set rsIm = rs.Fields("[USimage3]").Value rsIm.Delete Set rs = Me.RecordsetClone rs.Bookmark = Me.Bookmark Set rsIm = rs.Fields("[USimage4]").Value rsIm.Delete Set rs = Me.RecordsetClone rs.Bookmark = Me.Bookmark Set rsIm = rs.Fields("[USimage5]").Value rsIm.Delete Set rs = Me.RecordsetClone rs.Bookmark = Me.Bookmark Set rsIm = rs.Fields("[USimage6]").Value rsIm.Delete MsgBox "Delete All!!!" End Sub Τελικά δεν ήταν τα πεδία στην φόρμα που δεν ταυτίζονται με τα ονόματα των πεδίων στον πίνακα γιατί με τα ίδια πεδία "τρέχει" η παραπάνω λύση... Απλός με τον παραπάνω τρόπο πρέπει να κλείσω και να ξανανοίξω την φόρμα για να εξαφανισθούν οι φωτογραφίες και όταν δεν έχουν όλα τα πεδία συνημμένη φωτογραφία (πχ λείπει συνημμένο στο πεδίο "USimage6" μου βγάζει το μήνυμα " Run-time error 3021, Δεν υπάρχει τρέχουσα εγγραφή". Καμιά ένσταση στην παραπάνω λύση ή ιδέα στα ψιλοπροβληματάκια που προέκυψαν? |
1 Συνημμένο(α) Καλημέρα Σωτήρη, υπάρχουν ενστάσεις, αλλά αντί να τις περιγράψω, δοκίμασε: 1) Πέρασε στο επισυναπτόμενο αρχείο πολλές εικόνες σε κάποια (ή όλα) τα πεδία συνημμένων (πχ USimage2, USimage4) και πάτησε το κουμπί. 2) Δοκίμασε το ίδιο με τον κώδικά σου. Δες τη διαφορά. Φιλικά/Γιώργος |
| Η ώρα είναι 15:34. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.