Vba formaté le champs date d'une colonne de bd

Résolu
dahu29
Messages postés
3
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
15 mars 2006
- 15 mars 2006 à 11:50
dahu29
Messages postés
3
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
15 mars 2006
- 15 mars 2006 à 13:13
Bonjour

Je travail sous vba avec excel et une bd MySQL

J'ai un problème de requête je souhaiterai intéroger un champs Jour_select de la table vente au format datetime avec une variable au format date.
Donc il faut modifier le format de Jour_select pour qu'il devienne un format date comparable.

J'ai donc obtenu ce type de requête:

SQL = "
select SUM(quantite) as 'prix_total_vente'
from vente
where " & Format$(Cells(4, 1).Value, "dd-mm-yyyy") & " =
'" & Format(CDate(Jour_select), "dd-mm-yyyy") & "'"

Avec ce résultat lorsque je fait afficher le contenu de la requête une fois exécuté:
select SUM(quantite) as 'prix_total_vente'
from vente
where 11-03-2006 = '30-12-1899'

Mais je ne sais pas ou c'est qu'il a trouvé cette date 30-12-1899, ne serai-ce pas la date donné d'origine à tous les type date ?

Lorsque je met vente.Jour_select à la place de Jour_select pour voir s'il prend bien la table, j'ai une erreur comme quoi il n'y a pas d'objet dans la requête

si quelqu'un pouvait m'aider

++

4 réponses

dahu29
Messages postés
3
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
15 mars 2006

15 mars 2006 à 13:13
J'ai réussi
SQL = "SELECT SUM( quantite ) AS 'prix_total_vente'
FROM vente
WHERE date_format( jour_selec, '%d-%m-%Y' ) = '" & Format$(date_test, "dd-mm-yyyy") & "'"
3
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
15 mars 2006 à 12:13
30-12-1899 c'est simplement CDate ( 0 ) mis en forme

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
15 mars 2006 à 12:17
ajoute un Option Explicit tout en haut de ton code, tu trouvera ton erreur...

le Jour_select qui est formatté ici, n'est pas un champ de ta table, mais bien une variable (non déclarée, donc à 0)
de ta fonction.

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
dahu29
Messages postés
3
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
15 mars 2006

15 mars 2006 à 12:29
Lorsque je met l'option explicit, j'ai une erreur de variable non définis alors quelle est déclaré, meme si je ne l'utilise pas directement :
Dim date_test As Date
dates_test = Format$(Cells(4, 1).Value, "yyyy-mm-dd hh:mm:ss")
erreur sur date_test

sinon vous ne sauriez pas comment on pourrait faire pour formater le champs de la base au format voulu
0