Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Αυτόματη Αρίθμηση σε τιμολόγηση
Καλησπέρα… και Καλή χρονιά!!! Για να έχω αυτόματη αρίθμηση τιμολογίου χρησιμοποιώ τον κώδικα(κάπου εδώ τον βρήκα): Private Sub Form_BeforeInsert(Cancel As Integer) If Nz(Me.Controls("Νο"), 0) = 0 Then Me.Controls("Νο") = Nz(DMax("[Νο]", "ΤΙΜΟΛΟΓΗΣΗ"), 0) + 1 End Sub Όμως ο παραπάνω κώδικας παίρνει το μεγαλύτερο νούμερο της στήλης και προσθέτει ένα… Εαν θέλω να παίρνει αυτόματη αρίθμηση για το τιμολόγιο, άλλη για το δελτίο Αποστολής, άλλη για το Δ. Αποστ. Τιμ., κ.ο.κ… Τι πρέπει να προσθέσω στον κώδικα για να διαβάζει την στήλη του παραστατικού και να παίρνει μετά την μεγαλύτερη τιμή από την στήλη No? |
#2
| |||
| |||
Καλημέρα Αντώνη, αν υποθέσουμε ότι ο τύπος του παραστατικού αποθηκεύεται στο πεδίο ΤΥΠΟΣ, άλλαξε τον κώδικα με τον ακόλουθο: 1) Αν το πεδίο ΤΥΠΟΣ είναι αριθμητικό If Nz(Me.Controls("Νο"), 0) = 0 Then Me.Controls("Νο") = Nz(DMax("[Νο]", "ΤΙΜΟΛΟΓΗΣΗ","ΤΥΠΟΣ=" & me.ΤΥΠΟΣ), 0) + 1 2) Αν το πεδίο ΤΥΠΟΣ είναι κειμένου If Nz(Me.Controls("Νο"), 0) = 0 Then Me.Controls("Νο") = Nz(DMax("[Νο]", "ΤΙΜΟΛΟΓΗΣΗ","ΤΥΠΟΣ='" & me.ΤΥΠΟΣ & "'"), 0) + 1 Φιλικά/Γιώργος |
#3
| |||
| |||
Γιώργο ευχαριστώ πολύ για την απάντηση... ΦΦυσικά ο τύπος παραστατικού ειναι κείμενο και με αυτόν τον κώδικα δίνει συνέχεια αρίθμηση 1...
|
#4
| |||
| |||
Είναι φανερό ότι δεν προσάρμοσες σωστά τον κώδικα στα δεδομένα σου. Το λάθος δεν είναι δυνατόν να εντοπιστεί χωρίς να ανεβάσεις δείγμα της ΒΔ. |
#5
| |||
| |||
Γιώργο είναι συνέχεια της προηγούμενης που είχα ανεβάσει... Μπορείς να δεις την παλιά... να μην την ανεβάζω συνέχεια!!!
|
#6
| |||
| |||
Αυτό έγραψα... If Nz(Me.Controls("Νο"), 0) = 0 Then Me.Controls("Νο") = Nz(DMax("[Νο]", "ΤΙΜΟΛΟΓΗΣΗ", "ΠΑΡΑΣΤΑΤΙΚΟ='" & Me.ΠΑΡΑΣΤΑΤΙΚΟ & "'"), 0) + 1 |
#7
| |||
| |||
Το πεδίο ΠΑΡΑΣΤΑΤΙΚΟ, μολονότι εμφανίζει τιμές κειμένου, ενδέχεται να είναι αριθμητικό. Δοκίμασε και τον κώδικα: If Nz(Me.Controls("Νο"), 0) = 0 Then Me.Controls("Νο") = Nz(DMax("[Νο]", "ΤΙΜΟΛΟΓΗΣΗ", "ΠΑΡΑΣΤΑΤΙΚΟ=" & Me.ΠΑΡΑΣΤΑΤΙΚΟ ), 0) + 1 |
#8
| |||
| |||
Μου βγάζει λάθος Γιώργο... η Βάση ειναι εδω... (εαν θες να κάνεις δοκιμές) http://www.ms-office.gr/forum/access...se-pinaka.html Υ.Γ. Ευχαριστώ για την βοήθεια!!! |
#9
| |||
| |||
Καλησπέρα Αντώνη, δοκίμασε τον παρακάτω κώδικα: Κώδικας: Private Sub ΠΑΡΑΣΤΑΤΙΚΟ_AfterUpdate() If Nz(Me.ΠΑΡΑΣΤΑΤΙΚΟ, "") <> "" Then Me.Νο = Nz(DMax("Νο", "ΤΙΜΟΛΟΓΗΣΗ", "ΠΑΡΑΣΤΑΤΙΚΟ='" & Me.ΠΑΡΑΣΤΑΤΙΚΟ & "'"), 0) + 1 End If End Sub |
#10
| |||
| |||
Εισαι αστέρι!!! Ευχαριστώ πολύ δουλεύει τέλεια!!! |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Excel07] Αυτόματη αρίθμηση | stam75 | Excel - Ερωτήσεις / Απαντήσεις | 7 | 28-06-16 12:04 |
αυτόματη αρίθμηση | ευη79 | Access - Ερωτήσεις / Απαντήσεις | 3 | 17-02-15 01:19 |
[ Πίνακες ] Αυτόματη αρίθμηση | artchrist73 | Access - Ερωτήσεις / Απαντήσεις | 13 | 19-05-11 11:08 |
Αυτόματη αρίθμηση | NIC | Access - Ερωτήσεις / Απαντήσεις | 2 | 31-08-10 00:00 |
Η ώρα είναι 09:44.