![]() |
ΚΑΝΟΝΑΣ ΠΕΡΙΟΡΙΣΜΟΥ ΗΜΕΡΟΜΗΝΙΑΣ ΜΕ ΒΑΣΗ ΤΟ ΠΑΡΑΣΤΑΤΙΚΟ Καλησπέρα, πως μπορώ να διαμορφώσω τον κώδικα, dt1 = Nz(DMax("[ΗΜΕΡΟΜΗΝΙΑ ΧΡΕΩΣΗΣ]", "[tblEispraxi]", "[AP] <" & Me.[AP]), 0) dt2 = Nz(DMin("[ΗΜΕΡΟΜΗΝΙΑ ΧΡΕΩΣΗΣ]", "[tblEispraxi]", "[AP] >" & Me.[AP]), #1/1/9999#) If Me.[ΗΜΕΡΟΜΗΝΙΑ ΧΡΕΩΣΗΣ] < dt1 Or Me.[ΗΜΕΡΟΜΗΝΙΑ ΧΡΕΩΣΗΣ] > dt2 Then MsgBox "ημερομηνια προγενέστερη της τελευταίας " όπου [AP] η αρίθμηση, ώστε να λαμβάνει υπόψη και τον τύπο του παρασταστικού [id_type]; Τώρα βλέπει μόνο την αρίθμηση. Αν έχω πχ ΤΠΥ & ΤΙΜ.ΠΩΛ. με διαφορετική αρίθμηση δεν δουλεύει σωστά. |
Καλησπέρα, Διαβάζω τον κώδικα, τον καταλαβαίνω, αλλά αν δεν δοκιμάσω τις εντολές και τη δομή τους δεν μπορώ να σε δώσω απάντηση. Οι ημερομηνίες θέλουν 'ευαίσθητους' χειρισμούς ! Υστερολόγιο : Ο φίλος μας ο Νάσος, έχει καλή εμπειρία, είναι προσεκτικός και αν αναρτήσεις μια μικρογραφία της σχεδίασης που κάνεις και στην οποία να φαίνεται το πρόβλημα, είναι βέβαιο ότι θα βρεις λύση. καλή συνέχεια... / Νίκος |
1 Συνημμένο(α) Καλημέρα, ναι Νίκο μου έχει δώσει λύσεις στο παρελθόν όπως και εσύ και ο Γιώργος Καπ. Ανεβάζω ένα δείγμα στο οποίο έχω δύο τύπους παραστατικών ΤΠΥ & ΤΙΥ. Η τελευταία αρίθμηση στο ΤΠΥ είναι 3 με ημερομηνία 24/4/2017. Η τελευταία αρίθμηση στο ΤΙΥ είναι 3 με ημερομηνία 31/3/2017. Δοκιμάστε να επιλέξετε το ΤΙΥ με ημερομηνία 20/4/2017 η οποία είναι μεταγενέστερη του τύπου παραστατικού(ΤΙΥ).Δεν την παίρνει γιατί προφανώς βλέπει το ΤΠΥ με ημερομηνία 24/4/2017. |
1 Συνημμένο(α) Καλησπέρα στην παρέα. Σάκη δες μια δική μου προσέγγιση για το ζητούμενο. Στην επισυναπτόμενη βάση για κάθε κάθε τύπο τιμολογίου γίνεται διαφορετική αρίθμηση. Με την αλλαγή του έτους ξεκινάει πάλι απ' την αρχή Σημ.Για την πρώτη εγγραφή κάθε τιμολογίου και κάθε έτους έχουμε τη δυνατότητα να ορίσουμεε τον αριθμό που θα ξεκινάει το κάθε τιμολόγιο |
1 Συνημμένο(α) Καλή η προσέγγισή σου Νάσο, όπως και πολύ χρήσιμο να δίνεται η δυνατότητα επιλογής αλλαγής αρίθμησης στο επόμενο έτος(ήταν κάτι που δεν είχα σκεφθεί)..Ίσως μία "πινελιά" ακόμη σε περίπτωση που δεν θέλουμε να ξεκινάει η αρίθμηση από το 1 στο επόμενο έτος να υπάρχει επιλογή συνέχισης χωρίς να ψάχνουμε να βρούμε την τελευταία. Προσάρμοσα την λύση του Νάσου στο δικό μου παράδειγμα και εξακολουθεί να μην δουλεύει. Επιλέξτε τον τύπο παραστατικού ΤΙΥ με ημερομηνία 20/4/2017 η οποία είναι μεταγενέστερη του συγκεκριμένου τύπου(τελευταία 31/3/17). |
1 Συνημμένο(α) Προσαρμοσμένη στην πρότασή μου |
1 Συνημμένο(α) Νάσο όπως έχω το παράδειγμά σου επέλεξε τον τύπο παραστατικού ΤΙΥ και δώσε ημερομηνία 5/2/2016. Υπάρχουν μόνο 2 εγγραφές με ΤΠΥ. |
Καλησπέρα Σάκη προσοχή στην προέλευση των δεδομένων.. Κώδικας: Private Sub ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ_AfterUpdate()Καλό είναι να κοιτάμε πρώτα την ουσία και μετά την δημιουργία μιας εντυπωσιακής βάσης. Θα μπορούσε να είναι πιό απλή στην κατασκευή της και πιο λειτουργική |
Ok Νάσο αυτό ήθελα, δουλεύει σωστά.Σε ευχαριστώ. Ξέρω ότι κάποια πράγματα που είναι και πέρα από τις γνώσεις και δυνατότητές μου μπορούν να γίνουν και πιο απλά.Παρόλα αυτά ακολουθώ αυτό που μου αρέσει και "αισθητικά" χωρίς να σκεφτώ ότι στην πορεία θα γίνει περίπλοκο.Την εφαρμογή αυτή την δημιούργησα για την έκδοση των δικών μου παραστατικών παρόλο που θα μπορούσα να χρησιμοποιήσω κάποια άλλη εμπορική. Τέλος, αν μπορούσες να δεις το θέμα της επιλογής συνέχισης της αυτόματης αρίθμησης και στο επόμενο έτος χωρίς να ψάχνουμε να βρούμε την τελευταία αρίθμηση θα ήταν ακόμη πιο καλό. |
Private Sub ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ_AfterUpdate() If IsNull(Me.[ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ]) Then Exit Sub End If Me.AP = Nz(DMax("[AP]", "[tblEispraxi]", "Year([ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ])=" & Year([ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ]) & _ " and[id_seiraPar]=" & Me.[id_seiraPar] & "and[id_type]=" & Me.[id_type] & ""), 0) + 1 End Sub |
| Η ώρα είναι 11:44. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.