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

casilog 11 Messages postés dimanche 4 février 2007Date d'inscription 21 mars 2007 Dernière intervention - 5 févr. 2007 à 15:18 - Dernière réponse : casilog 11 Messages postés dimanche 4 février 2007Date d'inscription 21 mars 2007 Dernière intervention
- 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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_caramelmou 56 Messages postés jeudi 25 décembre 2003Date d'inscription 23 avril 2008 Dernière intervention - 5 févr. 2007 à 19:11
3
Merci
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

Merci cs_caramelmou 3

codes-sources a aidé 80 internautes ce mois-ci

Commenter la réponse de cs_caramelmou
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 5 févr. 2007 à 15:28
0
Merci
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).
Commenter la réponse de cs_DARKSIDIOUS
casilog 11 Messages postés dimanche 4 février 2007Date d'inscription 21 mars 2007 Dernière intervention - 5 févr. 2007 à 16:02
0
Merci
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...
Commenter la réponse de casilog
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 5 févr. 2007 à 16:17
0
Merci
date_double c'est quoi dans ta requête ? C'est une variable ?
Commenter la réponse de cs_DARKSIDIOUS
casilog 11 Messages postés dimanche 4 février 2007Date d'inscription 21 mars 2007 Dernière intervention - 5 févr. 2007 à 18:27
0
Merci
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
Commenter la réponse de casilog
casilog 11 Messages postés dimanche 4 février 2007Date d'inscription 21 mars 2007 Dernière intervention - 5 févr. 2007 à 21:12
0
Merci
Merci beaucoup caramelmou!!
Commenter la réponse de casilog

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.