Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
![]()
Καλό μεσημέρι σε όλους.Θα ήθελα να ρωτήσω το εξής: Έχω δημιουργήσει μία φόρμα με διάφορα πεδία(ΕΠΩΝΥΜΟ, ΟΝΟΜΑ.ΤΗΛΕΦΩΝΟ,ΑΦΜ κτλ) τα οποία προέρχονται από κάποιο πίνακα.Στη ίδια φόρμα έχω δημιουργήσει και ένα σύνθετο πλαίσιο ,βάση του οποίου κάνω αναζήτηση πληκτρολώντας το ΕΠΩΝΥΜΟ. Πίσω από το σύνθετο πλαίσιο είναι ο εξής κώδικας για εύρεση της εγγραφής βάση του στοιχείου ελέγχου. Private Sub Σύνθετο_πλάσιο64_AfterUpdate() Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[ΑΡ_ΜΗΤΡΩΟΥ] = " & Str(Nz(Me! [Σύνθετο_πλάσιο64], 0)) If Not rs.EOF Then Me.Bookmark = rs.Bookmark End Sub Ρωτώ:Πως γίνεται, και σε ποιο σημείο μπορεί να μπει κώδικας VBA ώστε όταν δεν βρίσκει την εγγραφή να μου εφμανίζεται ένα πλαίσιο διαλόγου (συνάρτηση Msg Box) ΔΕΝ ΒΡΕΘΗΚΕ ΤΟ ΕΠΩΝΥΜΟ ΑΠΟ ΤΗ ΛΙΣΤΑ Φιλικά |
#2
| |||
| |||
![]()
νομιζω αν καταλαβα καλα ειναι το else στο if που εχεις Θα βαλεις else και την VBA που θελεις Φιλικα Δημητρης |
#3
| |||
| |||
![]()
Δημήτρη το δοκίμασα αλλά δεν τρέχει.
|
#4
| |||
| |||
![]()
Καλησπέρα Θα πρέπει να διαμορφωθεί ο κώδικας ως εξής: Κώδικας: Private Sub Σύνθετο_πλάσιο64_AfterUpdate() Dim rs As DAO.Recordset Set rs = Me.RecordsetClone rs.FindFirst "[ΑΡ_ΜΗΤΡΩΟΥ] = " & Str(Nz(Me![Σύνθετο_πλάσιο64], 0)) If Not rs.EOF Then Me.Bookmark = rs.Bookmark Else MsgBox "Δε βρέθηκε το ζητούμενο" End If rs.Close End Sub Κώδικας: rs.FindFirst "[ΑΡ_ΜΗΤΡΩΟΥ] ='" & Str(Nz(Me![Σύνθετο_πλάσιο64], 0)) & "'" |
#5
| |||
| |||
![]()
Γιώργο δοκίμασα τον κώδικα, τρέχει κανονικά, αλλά δεν εμφανίζει το μήνυμα "ΔΕ ΒΡΕΘΗΚΕ" ,όταν δε βρίσκει το επώνυμο στη λίστα. Ευχαριστώ. |
#6
| ||||
| ||||
![]()
ΤΖΙΜΗ για δοκιμασε τα εξης: Κανε δεξι κλικ πανω στην λιστα σου και πηγαινε στις ιδιοτητες. Στα ΔΕΔΟΜΕΝΑ εκει που λεει "Περιορισμος σε Λιστα" εσυ κανε το ΝΑΙ. Μετα στο ΣΥΜΒΑΝ εκει που λεει "Οταν δεν υπαρχει στην Λιστα" περασε αυτο τον κωδικα. MsgBox "Το επώνυμο δεν Βρέθηκε.", vbExclamation, "TZIMIS DB" Response = acDataErrContinue Καλη συνεχεια...
__________________ http://www.facebook.com/home.php?ref...00000309992857 |
#7
| |||
| |||
![]()
Καλησπέρα στην παρέα Τζίμη, έχεις δίκιο. Ο σωστός κώδικας είναι ο παρακάτω. Κώδικας: Private Sub Σύνθετο_πλάσιο64_AfterUpdate() Dim rs As DAO.Recordset Set rs = Me.RecordsetClone rs.FindFirst "[ΑΡ_ΜΗΤΡΩΟΥ] = " & Str(Nz(Me![Σύνθετο_πλάσιο64], 0)) If rs.NoMatch Then MsgBox "Δε βρέθηκε το ζητούμενο" Else Me.Bookmark = rs.Bookmark End If rs.Close End Sub Φιλικά/Γιώργος |
#8
| |||
| |||
![]()
Παιδιά πολλά ευχαριστώ για την ώρα που διαθέσατε, και για τη λύση που μου δώσατε. Η λύση του Τόλη πράγματι πολύ έξυπνη και γρήγορη. Η δεύτερη λύση του Γιώργου ήθελε σαφώς περισσότερο κώδικα και πιο δύσκολή στη σύλληψη με την διαφορά όμως Γιώργο ότι ,όταν δεν υπάρχει το επώνυμο μέσα στη λίστα προηγείται το μνμ της Access από το δικό μας διαμορφωμένο μνμ. Γιώργο και Τόλη πράγματι δώσατε μαθήματα vba. |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Msgbox | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 2 | 10-01-16 22:22 |
[VBA] msgBox Μήνυμα | gfevran | Excel - Ερωτήσεις / Απαντήσεις | 13 | 02-02-14 23:00 |
msgbox με 3 επιλογές | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 2 | 02-01-14 19:26 |
[VBA] MsgBox επαναλαμβάνεται | anestaki | Excel - Ερωτήσεις / Απαντήσεις | 2 | 26-03-13 01:22 |
msgbox από πεδίο από ερώτημα | tzvangel | Access - Ερωτήσεις / Απαντήσεις | 5 | 11-07-11 21:06 |
Η ώρα είναι 13:31.