| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| |||
| |||
|
Καλησπέρα σ' όλους... Ζητώ τη βοήθειά σας στο εξής: Σε μια συνεχή φόρμα, με μια σειρά απο εγγραφές, θέλω όταν κάνω τροποποίηση κάποιας εγγραφής να αποτρέπεται (μέσω VBA) η διπλοεγγραφή. Πιο συγκεκριμένα, στο συνημμένο αρχείο και, στη Φόρμα που θα ανοίξει, υπάρχουν 3 πεδία: 1) IDA (κλειδί) 2) fld1 (αριθμός) 3) fld2 (ημερομηνία) ΔΕΝ θέλω να μου επιτρέπει να σώσω εγγραφή όπου τα fld1 και fld2 να είναι ίδια με μιας άλλης εγγραφής. Έτσι όταν στην 3η εγγραφή της φόρμας, η ημερομηνία αλλάξει σε 2/9/2015, να ΜΗΝ με αφήσει! Τελευταία επεξεργασία από το χρήστη Χρήστος : 16-10-16 στις 18:56. |
|
#2
| |||
| |||
|
Καλημέρα. Μια απλή προσέγγιση στο συνημμένο. Φιλικά Γιώργος |
|
#3
| |||
| |||
|
Καλημέρα Μια άλλη πρόταση στο συνημμένο. Εκμεταλλεύεται τη δυνατότητα δημιουργίας σύνθετων ευρετηρίων και το συμβάν OnError της φόρμας. Το ευρετήριο το δημιουργούμε πατώντας το κουμπί Indexes της κορδέλας, ενώ ο πίνακας είναι σε προβολή σχεδίασης. Το όνομα που έδωσα στο ευρετήριο και τα πεδία που συμμετέχουν, φαίνονται στην εικόνα που επικόλλησα στη φόρμα. Φιλικά/Γιώργος |
|
#4
| |||
| |||
|
Καλημέρα...Ευχαριστώ για τις απαντήσεις. Σχετικά με την 1η λύση...την είδα...βεβαίως και δουλεύει αλλά δεν θα ήθελα να χρησιμοποιήσω ευρετήριο σε πεδίο πίνακα. Τη 2 λύση ξεκινώ να τη μελετώ τώρα . Προτιμώ μια λύση στη λογική του συνημμένου, με τη διαφορά ότι στο συνημμένο έχω 2 πεδία αριθμών ενώ αναζητώ λύση σε 2 πεδία (αριθμό και ημερομηνία). Τελευταία επεξεργασία από το χρήστη Χρήστος : 16-10-16 στις 18:56. |
|
#5
| |||
| |||
|
Πολύ ωραία...με ικανοποιεί διότι μπορώ να "προσαρμόσω" το μήνυμα σε περίπτωση διπλοεγγραφής!!
Τελευταία επεξεργασία από το χρήστη Χρήστος : 03-09-15 στις 13:30. |
|
#6
| |||
| |||
|
Μπορούμε να προσαρμόσουμε την εξής λειτουργία; Όταν γίνει διπλοεγγραφή τότε αφού δώσει το μήνυμα να "εντοπίσει και να μεταβεί" στην (υπάρχουσα) εγγραφή με τα ίδια 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
|
|
Καλησπέρα Δεν ξέρω αν κατάλαβα καλά το ζητούμενο. Άλλαξε GoToNum = Me.fld1 με GoToNum = Me.ActiveControl |
|
#8
|
|
Η αλλαγή αυτή θεωρεί ότι εκεί που έγινε η τελευταία εισαγωγή και γράφτηκε διπλότυπο εκεί πρέπει να αλλάξει. Δεν ξέρω, δικό σου έργο είναι. Αλλά μήπως έτσι είναι το σωστό; |
|
#9
| |||
| |||
|
Χρήστο άλλαξε τη μέθοδο .FindFirst με την .FindLast. Πρέπει να σημειώσω ότι δύο εγγραφές θεωρούνται ίδιες όταν έχουν ίδιες τιμές στο πεδίο fld1 και Fld2. Συνεπώς στην αναζήτηση πρέπει να συμμετέχει και το πεδίο Fld2. |
|
#10
| |||
| |||
|
Ναι...πράγματι όταν το τελευταίο πεδίο που αλλάξω είναι το fld1 και γίνει διπλοεγγραφή μεταβαίνει στην 1η εγγραφή με το ίδιο fld1. Εγώ θέλω να μεταβεί σε εκείνη την εγγραφή με ίδια τα fld1 και fld2.
|
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | 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.


Υβριδικός τρόπος

