Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > ΚΑΝΟΝΑΣ ΠΕΡΙΟΡΙΣΜΟΥ ΗΜΕΡΟΜΗΝΙΑΣ ΜΕ ΒΑΣΗ ΤΟ ΠΑΡΑΣΤΑΤΙΚΟ

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 21-04-17, 13:45
Όνομα: ΣΑΚΗΣ
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-02-2013
Μηνύματα: 326
Προεπιλογή ΚΑΝΟΝΑΣ ΠΕΡΙΟΡΙΣΜΟΥ ΗΜΕΡΟΜΗΝΙΑΣ ΜΕ ΒΑΣΗ ΤΟ ΠΑΡΑΣΤΑΤΙΚΟ

Καλησπέρα, πως μπορώ να διαμορφώσω τον κώδικα,

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];

Τώρα βλέπει μόνο την αρίθμηση. Αν έχω πχ ΤΠΥ & ΤΙΜ.ΠΩΛ. με διαφορετική αρίθμηση δεν δουλεύει σωστά.
Απάντηση με παράθεση
  #2  
Παλιά 21-04-17, 21:06
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα,

Διαβάζω τον κώδικα, τον καταλαβαίνω, αλλά αν δεν δοκιμάσω τις εντολές και τη δομή τους δεν μπορώ να σε δώσω απάντηση.
Οι ημερομηνίες θέλουν 'ευαίσθητους' χειρισμούς !

Υστερολόγιο : Ο φίλος μας ο Νάσος, έχει καλή εμπειρία, είναι προσεκτικός και αν αναρτήσεις μια μικρογραφία της σχεδίασης που κάνεις και στην οποία να φαίνεται το πρόβλημα, είναι βέβαιο ότι θα βρεις λύση.

καλή συνέχεια... / Νίκος
Απάντηση με παράθεση
  #3  
Παλιά 24-04-17, 06:41
Όνομα: ΣΑΚΗΣ
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-02-2013
Μηνύματα: 326
Προεπιλογή

Καλημέρα, ναι Νίκο μου έχει δώσει λύσεις στο παρελθόν όπως και εσύ και ο Γιώργος Καπ.
Ανεβάζω ένα δείγμα στο οποίο έχω δύο τύπους παραστατικών ΤΠΥ & ΤΙΥ.
Η τελευταία αρίθμηση στο ΤΠΥ είναι 3 με ημερομηνία 24/4/2017.
Η τελευταία αρίθμηση στο ΤΙΥ είναι 3 με ημερομηνία 31/3/2017.
Δοκιμάστε να επιλέξετε το ΤΙΥ με ημερομηνία 20/4/2017 η οποία είναι μεταγενέστερη του τύπου παραστατικού(ΤΙΥ).Δεν την παίρνει γιατί προφανώς βλέπει το ΤΠΥ με ημερομηνία 24/4/2017.
Συνημμένα Αρχεία
Τύπος Αρχείου: zip sample1.zip (90,7 KB, 15 εμφανίσεις)
Απάντηση με παράθεση
  #4  
Παλιά 24-04-17, 16:15
Όνομα: ΝΑΣΟΣ
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-10-2010
Μηνύματα: 455
Προεπιλογή

Καλησπέρα στην παρέα.
Σάκη δες μια δική μου προσέγγιση για το ζητούμενο.
Στην επισυναπτόμενη βάση για κάθε κάθε τύπο τιμολογίου γίνεται
διαφορετική αρίθμηση.
Με την αλλαγή του έτους ξεκινάει πάλι απ' την αρχή

Σημ.Για την πρώτη εγγραφή κάθε τιμολογίου και κάθε έτους έχουμε τη
δυνατότητα να ορίσουμεε τον αριθμό που θα ξεκινάει το κάθε τιμολόγιο
Συνημμένα Αρχεία
Τύπος Αρχείου: zip έκδοση παραστατικών.zip (41,5 KB, 24 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη nasos23 : 24-04-17 στις 16:31.
Απάντηση με παράθεση
  #5  
Παλιά 24-04-17, 21:11
Όνομα: ΣΑΚΗΣ
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-02-2013
Μηνύματα: 326
Προεπιλογή

Καλή η προσέγγισή σου Νάσο, όπως και πολύ χρήσιμο να δίνεται η δυνατότητα επιλογής αλλαγής αρίθμησης στο επόμενο έτος(ήταν κάτι που δεν είχα σκεφθεί)..Ίσως μία "πινελιά" ακόμη σε περίπτωση που δεν θέλουμε να ξεκινάει η αρίθμηση από το 1 στο επόμενο έτος να υπάρχει επιλογή συνέχισης χωρίς να ψάχνουμε να βρούμε την τελευταία.

Προσάρμοσα την λύση του Νάσου στο δικό μου παράδειγμα και εξακολουθεί να μην δουλεύει.
Επιλέξτε τον τύπο παραστατικού ΤΙΥ με ημερομηνία 20/4/2017 η οποία είναι μεταγενέστερη του συγκεκριμένου τύπου(τελευταία 31/3/17).
Συνημμένα Αρχεία
Τύπος Αρχείου: zip sample1.zip (175,9 KB, 3 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη smasak : 25-04-17 στις 06:47.
Απάντηση με παράθεση
  #6  
Παλιά 25-04-17, 13:47
Όνομα: ΝΑΣΟΣ
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-10-2010
Μηνύματα: 455
Προεπιλογή

Προσαρμοσμένη στην πρότασή μου
Συνημμένα Αρχεία
Τύπος Αρχείου: zip sample2.zip (180,5 KB, 7 εμφανίσεις)
Απάντηση με παράθεση
  #7  
Παλιά 25-04-17, 17:52
Όνομα: ΣΑΚΗΣ
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-02-2013
Μηνύματα: 326
Προεπιλογή

Νάσο όπως έχω το παράδειγμά σου επέλεξε τον τύπο παραστατικού ΤΙΥ και δώσε ημερομηνία 5/2/2016.
Υπάρχουν μόνο 2 εγγραφές με ΤΠΥ.
Συνημμένα Αρχεία
Τύπος Αρχείου: zip sample2.zip (76,5 KB, 19 εμφανίσεις)
Απάντηση με παράθεση
  #8  
Παλιά 25-04-17, 21:07
Όνομα: ΝΑΣΟΣ
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-10-2010
Μηνύματα: 455
Προεπιλογή

Καλησπέρα Σάκη προσοχή στην προέλευση των δεδομένων..

Κώδικας:
Private Sub ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ_AfterUpdate()
If IsNull(Me.[ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ]) Then
 
     Exit Sub
    End If
    If IsNull(DMax("[AP]", "[tblEispraxi]", "Year([ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ])=" & Year([ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ]) & _
    " and[id_seiraPar]=" & Me.[id_seiraPar] & "and[id_type]=" & Me.[id_type] & "")) Then
           MsgBox "Επιλέξτε απο ποιό APιθμό ΠAPαστατικού θέλετε να ξεκινήσει το έτος", vbInformation
           Me.AP.BackColor = 10092543
           Me.AP.SetFocus
           
            Else
            
            Me.AP = Nz(DMax("[AP]", "[tblEispraxi]", "Year([ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ])=" & Year([ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ]) & _
            " and[id_seiraPar]=" & Me.[id_seiraPar] & "and[id_type]=" & Me.[id_type] & "")) + 1
            Me.AP.BackColor = 16777215
           End If
End Sub

Private Sub ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ_BeforeUpdate(Cancel As Integer)
 If Not IsNull(Me.[ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ]) Then
   If Me.[ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ] < DMax("[ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ]", "tblEispraxi", "Year([ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ])=" & Year([ΗΜΕΡΟΜΗΝΙΑ_ΧΡΕΩΣΗΣ]) & _
  " and [id_seiraPar]=" & Me.[id_seiraPar] & " and [id_type]=" & Me.[id_type] & "") Then
                MsgBox "Η ημερομηνία δεν μπορεί να είναι μικρότερη των ήδη καταχωρηθεισών για το έτος", vbCritical, "ΠAPακαλώ διορθώστε!!"
                  Cancel = True
                  End If
             
              Else
              Exit Sub
              End If
End Sub
ΥΓ.Καλόπιστα πάντα... είμαι ο τελευταίος που θα μπορούσα να δώσω συμβουλές.
Καλό είναι να κοιτάμε πρώτα την ουσία και μετά την δημιουργία μιας εντυπωσιακής βάσης.
Θα μπορούσε να είναι πιό απλή στην κατασκευή της και πιο λειτουργική
Απάντηση με παράθεση
  #9  
Παλιά 26-04-17, 07:16
Όνομα: ΣΑΚΗΣ
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-02-2013
Μηνύματα: 326
Προεπιλογή

Ok Νάσο αυτό ήθελα, δουλεύει σωστά.Σε ευχαριστώ.

Ξέρω ότι κάποια πράγματα που είναι και πέρα από τις γνώσεις και δυνατότητές μου μπορούν να γίνουν και πιο απλά.Παρόλα αυτά ακολουθώ αυτό που μου αρέσει και "αισθητικά" χωρίς να σκεφτώ ότι στην πορεία θα γίνει περίπλοκο.Την εφαρμογή αυτή την δημιούργησα για την έκδοση των δικών μου παραστατικών παρόλο που θα μπορούσα να χρησιμοποιήσω κάποια άλλη εμπορική.

Τέλος, αν μπορούσες να δεις το θέμα της επιλογής συνέχισης της αυτόματης αρίθμησης και στο επόμενο έτος χωρίς να ψάχνουμε να βρούμε την τελευταία αρίθμηση θα ήταν ακόμη πιο καλό.
Απάντηση με παράθεση
  #10  
Παλιά 26-04-17, 07:51
Όνομα: ΝΑΣΟΣ
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-10-2010
Μηνύματα: 455
Προεπιλογή

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
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Πίνακες ] Αντιγραφή πινάκων από τρέχουσα βάση σε νέα βάση apostolos Access - Ερωτήσεις / Απαντήσεις 11 04-03-16 21:43
[ Εκθέσεις ] Ταξινόμηση ημερομηνίας βαση ημερας lalosjim Access - Ερωτήσεις / Απαντήσεις 4 05-06-14 17:37
Μεταφορές πινάκων από βάση σε βάση parara Access - Ερωτήσεις / Απαντήσεις 8 18-04-14 13:14
[ Ερωτήματα ] ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ chris1978 Access - Ερωτήσεις / Απαντήσεις 15 09-12-10 09:59
Format Ημερομηνίας Jim Access - Ερωτήσεις / Απαντήσεις 3 25-06-10 17:49


Η ώρα είναι 11:11.