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

Συγνώμη Δημήτρη. Δεν πρόσεξα ότι η DDate ήταν τύπου κειμένου.

Ωστόσο για περισσότερη συμβατότητα ειδικά αν το πρόγραμμα μας πρόκειται να τρέξει σε άγνωστο υπολογιστικό περιβάλλον όσον αφορά τη μετατροπή της συμβολοσειράς DDate και αφού γνωρίζουμε ότι η μορφή ημερομηνίας του πεδίου DDate είναι "d/M/yyyy" ή dd/MM/yyyy", είναι προτιμότερο να χρησιμοποιήσουμε μια συνάρτηση φτιαγμένη στα μέτρα μας.

Παράδειγμα:

Κώδικας:
Private Function ConvertToSQLDate(DateString As Variant) As String
    Dim DateParts() As String
    If InStr(1, DateString, "/") = 0 Then
        ConvertToSQLDate = "IS NULL"
        Exit Function
    End If
    DateParts = Split(DateString, "/")
    ConvertToSQLDate = "= #" & DateParts(1) & "\/" & DateParts(0) & "\/" & DateParts(2) & "#"
'    Debug.Print ConvertToSQLDate
End Function

'Χρήση της συνάρτησης:

Dim strSQL As String
strSQL = "SELECT * FROM ΠΙΝΑΚΑ" _
        & " WHERE ΠΕΔΙΟ_Α= '" & cntro & "' AND" _
        & " ΠΕΔΙΟ_Β='" & kdkos & "' AND ΠΕΔΙΟ_Γ='" & eds & "' AND" _
        & " ΠΕΔΙΟ_Δ='" & tm & "' AND ΗΜΕΡΟΜΗΝΙΑ " & ConvertToSQLDate(dDate)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση