Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Φόρμες ] Διπλότυπη Εγγραφή σε πεδίο Υποφόρμας

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 08-07-20, 08:29
Όνομα: ΙΩΑΝΝΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-01-2020
Μηνύματα: 83
Προεπιλογή Διπλότυπη Εγγραφή σε πεδίο Υποφόρμας

Καλημερα σε ολους.Ανεβαζω ενα δειγμα της βασης μου.Η πρωτη φορμα που ανοιγει ειναι τα "Προσωπικα Στοιχεία".Αφου καταχωρησουμε καποια απαραιτητα στοιχεια ανοιγουμε την φορμα "Μαιευτική".Στα πεδια της υποφορμας "Περιστατικα Ιδ Ενδιαφερντος Εξωτερικων Μαιευτικης" στο πεδιο "Αριθμος Φακελου" γινεται να αποφευγεται η διπλοτυπη εγγραφη.Πχ οταν παει να γινει την ιδια στιμγη καταχωρηση στην δευτερη γραμμη της υποφορμας να μας εμφανιζει το σχετικο μηνυμα αν υπαρχει διπλοεγγραφη?

Στον κωδικα vba εχσω βαλει εναν κωδικα αλλα προφναως δεν δουλευει γιατι μαλλον δεν εχει αποθηκευτει πρωτα η εγγραφη
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Διπλοτυπη εγγραφη σε υποφορμα.zip (220,9 KB, 2 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 08-07-20, 11:06
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλημέρα σε όλους!

Γιάννη, φρόντισε τα ονόματα των πινάκων αλλά και των υπόλοιπων στοιχείων του έργου σου να έχουν μικρό μήκος και να περιέχουν μόνο λατινικούς χαρακτήρες.

στη σχεδίαση του πίνακα "Περιστατικα_Ιδ_Ενδιαφέρον ος_Εξωτερικών_Μαιευτικής" επίλεξε το πεδίο "Αριθμός Φακέλου"
και άλλαξε την ιδιότητα "Με ευρετήριο" σε "Ναι (Δεν επιτρέπονται διπλότυπα)".

Κατόπιν στη φόρμα "Περιστατικά_Ιδ_Ενδιαφέροντ ος_Εξωτερικών_Ιατρ_Μαιευτι ής"
αφού αφαιρέσεις το συμβάν "Αριθμός_Φακέλου_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  
Παλιά 08-07-20, 14:06
Όνομα: ΙΩΑΝΝΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-01-2020
Μηνύματα: 83
Προεπιλογή

Τασο θα το κοιταξω και θα σε ενημερωσω.Σε ευχαριστω
Απάντηση με παράθεση
  #4  
Παλιά 08-07-20, 14:27
Όνομα: ΙΩΑΝΝΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-01-2020
Μηνύματα: 83
Προεπιλογή

Τασο το εκανα αλλα μου βγαζει αυτο οπως βλεπεις στην εικονα
Συνημμένα Thumbnails
Διπλότυπη Εγγραφή σε πεδίο Υποφόρμας-error.jpg  
Απάντηση με παράθεση
  #5  
Παλιά 08-07-20, 14:56
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Ιωάννη μου δεν έκανες δοκιμές στο παράδειγμα που ανέβασες αλλά σε άλλο αρχείο που συνδέεται με 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
και προσπάθησε να περάσεις μια διπλοεγγραφή για να δεις εάν, και ποιο νούμερο σφάλματος θα σου επιστρέψει (μπορεί να είναι και το 3621).

Κατόπιν επανέφερε τον αρχικό κώδικα και άλλαξε το 3022 με το νούμερο του μηνύματος (MsgBox) και δοκίμασε ξανά.
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #6  
Παλιά 08-07-20, 19:36
Όνομα: ΙΩΑΝΝΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-01-2020
Μηνύματα: 83
Προεπιλογή

ok Τασο θα το διορθωσω και θα σου πω.
Απάντηση με παράθεση
  #7  
Παλιά 09-07-20, 07:51
Όνομα: ΙΩΑΝΝΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-01-2020
Μηνύματα: 83
Προεπιλογή

Kαλημερα.Το error ταν 3146.To αντικατέστησα και τωρα δουλευει.Σε ευχαριστω Τασο.
Απάντηση με παράθεση
  #8  
Παλιά 09-07-20, 10:58
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Να είσαι καλά! Καλή συνέχεια!
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός 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.