Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Αποτροπή διπλοεγγραφής

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 02-09-15, 20:46
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή Αποτροπή διπλοεγγραφής

Καλησπέρα σ' όλους...
Ζητώ τη βοήθειά σας στο εξής:

Σε μια συνεχή φόρμα, με μια σειρά απο εγγραφές, θέλω όταν κάνω τροποποίηση κάποιας εγγραφής να αποτρέπεται (μέσω VBA) η διπλοεγγραφή.

Πιο συγκεκριμένα, στο συνημμένο αρχείο και, στη Φόρμα που θα ανοίξει, υπάρχουν 3 πεδία:
1) IDA (κλειδί)
2) fld1 (αριθμός)
3) fld2 (ημερομηνία)

ΔΕΝ θέλω να μου επιτρέπει να σώσω εγγραφή όπου τα fld1 και fld2 να είναι ίδια με μιας άλλης εγγραφής.

Έτσι όταν στην 3η εγγραφή της φόρμας, η ημερομηνία αλλάξει σε 2/9/2015, να ΜΗΝ με αφήσει!

Τελευταία επεξεργασία από το χρήστη Χρήστος : 16-10-16 στις 18:56.
Απάντηση με παράθεση
  #2  
Παλιά 03-09-15, 08:43
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 02-02-2010
Μηνύματα: 141
Προεπιλογή

Καλημέρα. Μια απλή προσέγγιση στο συνημμένο.
Φιλικά Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: accdb ΑποτροπήΔιπλοεγραφήςΜεVBAΣεΣυνεχήΦόρμα2.accdb (432,0 KB, 34 εμφανίσεις)
Απάντηση με παράθεση
  #3  
Παλιά 03-09-15, 11:01
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Μια άλλη πρόταση στο συνημμένο.

Εκμεταλλεύεται τη δυνατότητα δημιουργίας σύνθετων ευρετηρίων και το συμβάν OnError της φόρμας.

Το ευρετήριο το δημιουργούμε πατώντας το κουμπί Indexes της κορδέλας, ενώ ο πίνακας είναι σε προβολή σχεδίασης.

Το όνομα που έδωσα στο ευρετήριο και τα πεδία που συμμετέχουν, φαίνονται στην εικόνα που επικόλλησα στη φόρμα.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: accdb ΑποτροπήΔιπλοεγγραφής.accdb (1,81 MB, 39 εμφανίσεις)
Απάντηση με παράθεση
  #4  
Παλιά 03-09-15, 11:21
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή

Καλημέρα...Ευχαριστώ για τις απαντήσεις.
Σχετικά με την 1η λύση...την είδα...βεβαίως και δουλεύει αλλά δεν θα ήθελα να χρησιμοποιήσω ευρετήριο σε πεδίο πίνακα.

Τη 2 λύση ξεκινώ να τη μελετώ τώρα .

Προτιμώ μια λύση στη λογική του συνημμένου, με τη διαφορά ότι στο συνημμένο έχω 2 πεδία αριθμών ενώ αναζητώ λύση σε 2 πεδία (αριθμό και ημερομηνία).

Τελευταία επεξεργασία από το χρήστη Χρήστος : 16-10-16 στις 18:56.
Απάντηση με παράθεση
  #5  
Παλιά 03-09-15, 11:33
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή

Πολύ ωραία...με ικανοποιεί διότι μπορώ να "προσαρμόσω" το μήνυμα σε περίπτωση διπλοεγγραφής!!

Τελευταία επεξεργασία από το χρήστη Χρήστος : 03-09-15 στις 13:30.
Απάντηση με παράθεση
  #6  
Παλιά 03-09-15, 17:12
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή

Μπορούμε να προσαρμόσουμε την εξής λειτουργία;
Όταν γίνει διπλοεγγραφή τότε αφού δώσει το μήνυμα να "εντοπίσει και να μεταβεί" στην (υπάρχουσα) εγγραφή με τα ίδια fld1 και fld2.

Με το παρακάτω καταφέρνω να μεταβεί στην εγγραφή με το ίδιο fld1 (αλλά όχι και με το ίδιο fld2!)
Dim GoToDate As Date
Dim GoToNum As Long
GoToDate = Me.fld2
GoToNum = Me.fld1

With Me.Recordset.Clone
.FindFirst ("[fld1]=" & GoToNum)
If Not .NoMatch Then
Me.Bookmark = .Bookmark
End If
End With

Το επιθυμητό είναι, αλλάζοντας το 2/3/2015 σε 2/9/2015 να μεταβαίνει στην εγγραφή με IDA=6 και όχι IDA=2!

Τελευταία επεξεργασία από το χρήστη Χρήστος : 16-10-16 στις 18:56.
Απάντηση με παράθεση
  #7  
Παλιά 03-09-15, 17:42
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλησπέρα
Δεν ξέρω αν κατάλαβα καλά το ζητούμενο.
Άλλαξε
GoToNum = Me.fld1
με
GoToNum = Me.ActiveControl
Απάντηση με παράθεση
  #8  
Παλιά 03-09-15, 18:14
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Η αλλαγή αυτή θεωρεί ότι
εκεί που έγινε η τελευταία εισαγωγή και γράφτηκε διπλότυπο
εκεί πρέπει να αλλάξει.

Δεν ξέρω, δικό σου έργο είναι.
Αλλά μήπως έτσι είναι το σωστό;
Απάντηση με παράθεση
  #9  
Παλιά 03-09-15, 18:42
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Χρήστο άλλαξε τη μέθοδο .FindFirst με την .FindLast.

Πρέπει να σημειώσω ότι δύο εγγραφές θεωρούνται ίδιες όταν έχουν ίδιες τιμές στο πεδίο fld1 και Fld2.

Συνεπώς στην αναζήτηση πρέπει να συμμετέχει και το πεδίο Fld2.
Απάντηση με παράθεση
  #10  
Παλιά 03-09-15, 18:53
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή

Ναι...πράγματι όταν το τελευταίο πεδίο που αλλάξω είναι το fld1 και γίνει διπλοεγγραφή μεταβαίνει στην 1η εγγραφή με το ίδιο fld1. Εγώ θέλω να μεταβεί σε εκείνη την εγγραφή με ίδια τα fld1 και fld2.
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Αποτροπή διπλοεγγραφής stavross Access - Ερωτήσεις / Απαντήσεις 7 04-01-13 17:28
Αποτροπή διπλοεγγραφής bill72 Access - Ερωτήσεις / Απαντήσεις 2 20-12-12 15:15
[Μορφοποίηση] Αποτροπή διπλοεγγραφών nakosg Excel - Ερωτήσεις / Απαντήσεις 10 05-11-12 15:11
Έλεγχος διπλοεγγραφής με κώδικα VBA pdhmos Access - Ερωτήσεις / Απαντήσεις 6 01-05-11 09:09
[ Φόρμες ] SOS_Πρόβλημα διπλοεγγραφής PanosPan Access - Ερωτήσεις / Απαντήσεις 3 02-03-11 10:59


Η ώρα είναι 09:52.