Conversion date VB6 en date sous Access et inversement

Résolu
casilog Messages postés 11 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 21 mars 2007 - 5 févr. 2007 à 15:18
casilog Messages postés 11 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 21 mars 2007 - 5 févr. 2007 à 21:12
Bonjour,


Nous sommes étudiants débutants et nous cherchons à faire une requete SQL sur une base de données Access à partir de VB6.




Après avoir connecté VB à la base de données, notre requete est:
Dim date_boucle As Date



sql = "SELECT Qte_ven_mag_j FROM SortiMag_CS120 WHERE Date_ven_mag=date_boucle"<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Mais quand on arrive à faire cn.execute (sql), il nous indique que la requete utilise un type incompatible....

La variable date_boucle est de type Date et on ne sait pas comment la convertir en date SQL.

De plus, comment récupère t'on le résultat de la requete? Comment l'affiche t'on??






Merci d'avance

6 réponses

cs_caramelmou Messages postés 56 Date d'inscription jeudi 25 décembre 2003 Statut Membre Dernière intervention 23 avril 2008 3
5 févr. 2007 à 19:11
le format de recherche pour le SQL jet c'est   #mm\dd\yyyy#,

J'utilise sans probleme ce type de code

"SELECT.... WHERE Critere_date=#" & Format(maDate, "mm/dd/yyyy") & "#"

avec Critere_date un champ de type date dans ACCESS et maDate une variable de type date dans VB6



Dr.T
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 févr. 2007 à 15:28
Il te faut utiliser les dièses, en plus d'inverser le mois et le jour de ta date (format anglais pour les requêtes) :

sql = "SELECT Qte_ven_mag_j FROM SortiMag_CS120 WHERE Date_ven_mag=#" & Format(Month(date_boucle), "00") & "/" & & Format(Day(date_boucle), "00") & "/" & Year(date_boucle) & "#"

Tu récupèrera alors un RecordsetSet qu'il faut utiliser pour récupèrer les données (cf les nombreuses sources ou tutoriaux à ce sujet).
0
casilog Messages postés 11 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 21 mars 2007
5 févr. 2007 à 16:02
Nous avons toujours le meme probleme))
En fait,ca marche si on met WHERE Date_boucle=#23/05/2006#
(!!sans guillemets ce n'est donc pas un String!!)
Mais quand on essaie de rajouter les dieses, ca devient un string non?

en plus, il n'aime pas les guillemets doubles dans l'expression de la requete...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 févr. 2007 à 16:17
date_double c'est quoi dans ta requête ? C'est une variable ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
casilog Messages postés 11 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 21 mars 2007
5 févr. 2007 à 18:27
oups je me suis trompee dans le message d'avant..
c'etait WHERE Date_ven_mag=#23/05/2006#
on a mis cette valeur juste pour tester et pour voir que la date de la requete est bien de la forme #jj/mm/aaaa#

oui date_boucle c'est une variable, on l'a declaree de type Date.
Le souci est que Date du VB6 est differente du Date/Time de l'Access et il ne reconnait pas date_boucle dans la requete.

PS nous avons essayé ta methode, mais VB n'a pas aimé les quillemets doubles, et avec des simples ca n'a pas marché non plus
0
casilog Messages postés 11 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 21 mars 2007
5 févr. 2007 à 21:12
Merci beaucoup caramelmou!!
0
Rejoignez-nous