Conversion date VB6 en date sous Access et inversement [Résolu]

Signaler
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
21 mars 2007
-
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
21 mars 2007
-
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

Messages postés
56
Date d'inscription
jeudi 25 décembre 2003
Statut
Membre
Dernière intervention
23 avril 2008
1
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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
96
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).
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
21 mars 2007

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...
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
96
date_double c'est quoi dans ta requête ? C'est une variable ?
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
21 mars 2007

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
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
21 mars 2007

Merci beaucoup caramelmou!!