Basse access

vialstephane Messages postés 89 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 22 mai 2008 - 12 nov. 2007 à 21:00
vialstephane Messages postés 89 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 22 mai 2008 - 13 nov. 2007 à 15:39
Bonsoir,
J'utilise Set db = OpenDatabase("monfichier.mdb")
sql = "select * from MaTable where Date=#" & var_date & "#"
pour me connecter à une base de donnée access.

La base access dans le champs Date est au format date et heure.
ex:  12/11/2007 21:31:52

Je ne comprends pas comment selectionner seulement la date dans ma variable var_date
car elle est par ex: 12/11/2007 sans l'heure.
La requette sql dans ce cas ne marche pas.

Avez vous une idée ?

J'espere que vous m'avez compris malgré une explication pas très claire.
Cordialement Stéphane.

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 nov. 2007 à 04:04
Salut
Retravaille le contenu de ta variable var_date pour y faire ficgurer l'heure.
   var_date = Format(var_date, "General Date")
Regarde dans l'aide et recherche "dates", il y a tout un paragraphe qui explique les "formats liés aux paramètres régionaux", c'est important de bien maîtriser car les dates, sous Access, sont stockées au format US, pas FR, méfiance.
Voir aussi les centaines de questions du forum à propos des dates dans les requètes SQL

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 nov. 2007 à 04:12
Ah bah non, excuses, "General Date" n'ajoute pas les heures si elles ne font pas partie de la variable.
Alors, il va falloir le spécifier à la main :
   If Len(var_date) < 13 Then    ' 13, c'est large, histoire de repérer s'il y a l'heure ou pas
      var_date = var_date & " 00:00:00"
      var_date = Format(var_date, "dd/mm/yyyy hh:nn:ss")
   End If

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 nov. 2007 à 04:28
J'ai testé avec ça :
    Dim var_date As String
    var_date = "22/08/2007 18:22:22"
'    var_date = "22/08/2007"
    If var_date = Format(var_date, "short Date") Then
        var_date = Format(var_date & " 00:00:00", "dd/mm/yyyy hh:nn:ss")
    End If
    Debug.Print var_date

A noter que, en effet, si ta variable var_date est (judicieusement) dimensionnée au format Date, cela ne marche pas.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
vialstephane Messages postés 89 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 22 mai 2008
13 nov. 2007 à 15:39
Merci beaucoup pour toutes ces reponses.
0
Rejoignez-nous