Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Διπλότυπη Εγγραφή σε πεδίο Υποφόρμας
Καλημερα σε ολους.Ανεβαζω ενα δειγμα της βασης μου.Η πρωτη φορμα που ανοιγει ειναι τα "Προσωπικα Στοιχεία".Αφου καταχωρησουμε καποια απαραιτητα στοιχεια ανοιγουμε την φορμα "Μαιευτική".Στα πεδια της υποφορμας "Περιστατικα Ιδ Ενδιαφερντος Εξωτερικων Μαιευτικης" στο πεδιο "Αριθμος Φακελου" γινεται να αποφευγεται η διπλοτυπη εγγραφη.Πχ οταν παει να γινει την ιδια στιμγη καταχωρηση στην δευτερη γραμμη της υποφορμας να μας εμφανιζει το σχετικο μηνυμα αν υπαρχει διπλοεγγραφη? Στον κωδικα vba εχσω βαλει εναν κωδικα αλλα προφναως δεν δουλευει γιατι μαλλον δεν εχει αποθηκευτει πρωτα η εγγραφη |
#2
| ||||
| ||||
Καλημέρα σε όλους! Γιάννη, φρόντισε τα ονόματα των πινάκων αλλά και των υπόλοιπων στοιχείων του έργου σου να έχουν μικρό μήκος και να περιέχουν μόνο λατινικούς χαρακτήρες. στη σχεδίαση του πίνακα "Περιστατικα_Ιδ_Ενδιαφέρον ος_Εξωτερικών_Μαιευτικής" επίλεξε το πεδίο "Αριθμός Φακέλου" και άλλαξε την ιδιότητα "Με ευρετήριο" σε "Ναι (Δεν επιτρέπονται διπλότυπα)". Κατόπιν στη φόρμα "Περιστατικά_Ιδ_Ενδιαφέροντ ος_Εξωτερικών_Ιατρ_Μαιευτι ής" αφού αφαιρέσεις το συμβάν "Αριθμός_Φακέλου_BeforeUpdate" , επικόλλησε τον παρακάτω κώδικα και αποθήκευσε: Κώδικας: Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 3022 Then Dim ret As VbMsgBoxResult MsgBox "Υπάρχει ήδη ο αριθμός φακέλου: '" & Me.Αριθμός_Φακέλου & _ "'" & vbLf & vbLf & "Πατήστε [ESC] για να ακυρώσετε την αποθήκευση", _ vbExclamation, "Διπλότυπη καταχώρηση" Me.Αριθμός_Φακέλου.Undo Me.Αριθμός_Φακέλου.SetFocus Me.Αριθμός_Φακέλου.SelStart = 0 Me.Αριθμός_Φακέλου.SelLength = Len(Me.Αριθμός_Φακέλου.Text) Response = acDataErrContinue End If End Sub Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#3
| |||
| |||
Τασο θα το κοιταξω και θα σε ενημερωσω.Σε ευχαριστω
|
#4
| |||
| |||
Τασο το εκανα αλλα μου βγαζει αυτο οπως βλεπεις στην εικονα
|
#5
| ||||
| ||||
Ιωάννη μου δεν έκανες δοκιμές στο παράδειγμα που ανέβασες αλλά σε άλλο αρχείο που συνδέεται με MSSQL. Δεν είναι το ίδιο πράγμα. Δοκίμασε τα παρακάτω: Αντικατέστησε τον κώδικα: Κώδικας: Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 3022 Then Dim ret As VbMsgBoxResult MsgBox "Υπάρχει ήδη ο αριθμός φακέλου: '" & Me.Αριθμός_Φακέλου & _ "'" & vbLf & vbLf & "Πατήστε [ESC] για να ακυρώσετε την αποθήκευση", _ vbExclamation, "Διπλότυπη καταχώρηση" Me.Αριθμός_Φακέλου.Undo Me.Αριθμός_Φακέλου.SetFocus Me.Αριθμός_Φακέλου.SelStart = 0 Me.Αριθμός_Φακέλου.SelLength = Len(Me.Αριθμός_Φακέλου.Text) Response = acDataErrContinue End If End Sub Κώδικας: Private Sub Form_Error(DataErr As Integer, Response As Integer) MsgBox Dataerr End Sub Κατόπιν επανέφερε τον αρχικό κώδικα και άλλαξε το 3022 με το νούμερο του μηνύματος (MsgBox) και δοκίμασε ξανά.
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#6
| |||
| |||
ok Τασο θα το διορθωσω και θα σου πω.
|
#7
| |||
| |||
Kαλημερα.Το error ταν 3146.To αντικατέστησα και τωρα δουλευει.Σε ευχαριστω Τασο.
|
#8
| ||||
| ||||
Να είσαι καλά! Καλή συνέχεια!
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Φόρμες ] επιλογή σε αναδυόμενο πεδίο και τοποθέτηση σε πεδίο υποφορμας | artchrist73 | Access - Ερωτήσεις / Απαντήσεις | 5 | 25-04-18 12:02 |
[ Φόρμες ] Εστίαση σε συγκεκριμένο πεδίο υποφόρμας | dimitrisp | Access - Ερωτήσεις / Απαντήσεις | 10 | 25-06-15 13:24 |
[ Φόρμες ] Πεδίο που συμπληρώνεται αυτόματα αν υπάρχει η τιμή σε προηγούμενη εγγραφή. | dim.konst | Access - Ερωτήσεις / Απαντήσεις | 2 | 29-05-14 13:17 |
Διπλότυπη Εγγραφή | choulio19 | Access - Ερωτήσεις / Απαντήσεις | 1 | 25-05-14 19:10 |
[ Πίνακες ] Αυτόματη εγγραφή πεδίου από άλλο πεδίο | Free_Ghost | Access - Ερωτήσεις / Απαντήσεις | 10 | 01-02-10 08:13 |
Η ώρα είναι 08:18.