Μετατροπή String σε Date για σύγκριση vb2008+ms access2010

Συζητήσεις για τις γλώσσες του dot Net και για του Visual Studio της Microsoft

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
MamRa
Δημοσιεύσεις: 29
Εγγραφή: 06 Δεκ 2009 21:07

Μετατροπή String σε Date για σύγκριση vb2008+ms access2010

Δημοσίευση από MamRa » 12 Φεβ 2012 17:34

Καλησπέρα σε όλους,
Αντιμετωπίζω το εξής πρόβλημα και θα ήθελα την βοήθειά σας:
Δουλεύω σε Visual Studio με Visual Basic 2008 και ms Access 2010.
Έχω δημιουργήσει μια εφαρμογή που μέσα στα πολλά πεδία έχει και κάποια τα οποία είναι ημερομηνίες.
Τις ημερομηνίες τις έχω δηλώσει ως string μέσα στην access γιατί αντιμετώπισα μεγάλο πρόβλημα κατά την διαδικασία εισαγωγής τους μέσα στην access, όταν αυτές περιείχαν μηδενικές τιμές.
Τώρα θέλω να φιλτράρω τα αποτελέσματα που θέλω να εξάγω με βάση κάποια ημερομηνία που θέλω να εισάγω εγώ, αλλά μου βγάζει σφάλμα μέσα στην "where" ...
Το πεδίο με την ημερομηνία μου είναι "BDATE" (υπενθυμίζω ως string)
Μέχρι στιγμής έχω δοκιμάσει:
1) SELECT * FROM MYTABLE WHERE CDate(BDATE) > #1/1/2010#
2) SELECT * FROM MYTABLE WHERE CDate([BDATE]) > #1/1/2010#
3) SELECT * FROM MYTABLE WHERE convert(datetime, [BDATE], 103) > #1/1/2010#
-------
Όμως παραμένει το σφάλμα....
Αν κάποιος γνωρίζει, τον ευχαριστώ εκ των προτέρων

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Μετατροπή String σε Date για σύγκριση vb2008+ms access2010

Δημοσίευση από virxen75 » 13 Φεβ 2012 12:13

SELECT * FROM MYTABLE WHERE CDate(BDATE) > #1/1/2010#
σε access 2007 δουλευει μια χαρά

στείλε την βάση σου να δω μήπως το λάθος είναι αλλού

MamRa
Δημοσιεύσεις: 29
Εγγραφή: 06 Δεκ 2009 21:07

Μετατροπή String σε Date για σύγκριση vb2008+ms access2010

Δημοσίευση από MamRa » 13 Φεβ 2012 23:13

Φίλε Virxen75 ευχαριστώ για την άμεση απάντησή σου,
Το δοκίμασα και αυτό που μου έστειλες
αλλά συνεχίζει να μου βγάζει το σφάλμα "Συντακτικό σφάλμα στο όρο WHERE".
Επειδή η βάση δεδομένων έχει ήδη κάποια στοιχεία "εγγραφές" δεν μπορώ να σου την στείλω, παρόλα αυτά μπορώ να σου δώσω περισσότερες διευκρινίσεις.

1)Μέσα στην access το πεδίο BDATE είναι δηλωμένο ως "Κείμενο"
2)Η κλήση - σύνδεση με την access γίνεται με module ("γιατί έχω πολλές φόρμες").

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Μετατροπή String σε Date για σύγκριση vb2008+ms access2010

Δημοσίευση από virxen75 » 13 Φεβ 2012 23:33

μήπως κάπου έχεις βάλει ελληνικό γράμμα αντί αγγλικό?

MamRa
Δημοσιεύσεις: 29
Εγγραφή: 06 Δεκ 2009 21:07

Μετατροπή String σε Date για σύγκριση vb2008+ms access2010

Δημοσίευση από MamRa » 13 Φεβ 2012 23:52

Η λύση βρέθηκε και ήταν αλλού !
Σε ευχαριστώ πάντως !

Το strsql μου ήταν σύνθετο με 89 συνθήκες, δηλαδή του τύπου:

strsql = "Select * from mytable where "
If <συνθήκη1> Then
strsql = strsql + "CDate(BDATE) > #1/1/2010# "
End if

Και υπήρχε λογικό σφάλμα στην συνθήκη, οπότε η where έμενε κενή.

Σε ευχαριστώ πάντως !

MamRa
Δημοσιεύσεις: 29
Εγγραφή: 06 Δεκ 2009 21:07

Μετατροπή String σε Date για σύγκριση vb2008+ms access2010

Δημοσίευση από MamRa » 14 Φεβ 2012 00:49

Βιάστηκα να κλείσω το θέμα.

Νέο Σφάλμα !

Η παράμετρος CDate δεν δέχεται μηδενικές τιμές από την βάση δεδομένων.
Και το πεδίο μου BDATE δεν έχει υποχρεωτικά κάποια τιμή, καθώς συμβολίζει την ημερομηνία γέννησης, και πολλοί δεν θέλουν να δίνουν τέτοια στοιχεία (Γυναίκες).

Απάντηση

Επιστροφή στο “dot Net και Visual Studio”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες