Εμφάνιση ενός μόνο μηνύματος
  #10  
Παλιά 13-03-10, 18:47
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Αγαπητέ Ανδρέα, καλησπέρα!

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

Μια τέτοιου είδους μετατροπή γίνεται αυτόματα από την Access όταν δημιουργούμε Ερώτημα ή φίλτρο χειροκίνητα.

Μέσα από τη VBA όμως θα πρέπει να είμαστε συνεπέστατοι σε ορίσματα ημερομηνιών.
Για παράδειγμα, ο ορισμός:

Κώδικας:
"[DateReceived] Between #" & Me![Beginning Date] & "# And #" & Me![Ending Date] & "#"
θα πρέπει να γίνει :
Κώδικας:
"[DateReceived] Between #" & Format(Me![Beginning Date], "m\/d\/yyyy") & 
"# And #" & Format(Me![Ending Date], "m\/d\/yyyy") & "#" 
ή
Κώδικας:
"[DateReceived] Between #" & Format(Me![Beginning Date], "yyyy\/m\/d") &
 "# And #" & Format(Me![Ending Date], "yyyy\/m\/d") & "#" 
Επίσης το κριτήριο Is Null δρα σε πεδία που είναι Null ΟΧΙ σε πεδία που είναι vbNullString ("") .

Έτσι στην περίπτωση σου μάλλον θα πρέπει να χρησιμοποιήσεις κάτι τέτοιο:

Κώδικας:
 ([Fin] Is Null Or [Fin]="") 
Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 14-03-10 στις 16:05.
Απάντηση με παράθεση