ACCESS requête SQL dans code VB - paramètre

Résolu/Fermé
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 - 22 févr. 2009 à 11:17
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 - 24 févr. 2009 à 09:35
Bonjour à tous,

Il ne manque pas de documentation sur l'export vers Excel via Access, je les parcours mais je ne comprends toujours pas pourquoi ça bloque chez moi.
Mon problème, c'est la récupération d'un paramètre de type date renseigné sur un formulaire.
J'ai un formulaire avec le champs PDateDeb et un bouton de contrôle "edition" pour lancer l'export vers excel. Dans le code VB de mon bouton "edition", j'ai la requête
SQL_ligne = "SELECT dbo_T_INTERVENTION.num_folio, dbo_T_INTERVENTION.D_date, ... FROM dbo_T_INTERVENTION WHERE dbo_T_INTERVENTION.D_date > [Formulaires]![E_liste_intervention2]![PDateDeb];"

Si j'enlève tout le WHERE, ça fonctionne. Dès que j'essaye d'ajouter le WHERE, j'ai le message d'erreur comme quoi il manque un paramètre. Pourquoi j'ai bien renseigné le champs PDateDeb avant de lancer la requête !?!

J'ai beau retourner dans tous les sens, je ne comprends pas le problème, et je bloque depuis des jours là-dessus!
J'espère que quelqu'un pourra m'aider.
Ludivine
A voir également:

2 réponses

Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
22 févr. 2009 à 22:30
C'est assez urgent, c'est pour cela que je me suis décidée à poster ce message.
Si quelqu'un peut m'aider? Je n'arrive vraiment pas à mettre le doigt sur mon pb.
Merci
0
blux Messages postés 25997 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289
23 févr. 2009 à 11:03
Salut,

il faudait mettre ta récupération de donnée du form en dehors de la requête :

SQL_ligne = "SELECT dbo_T_INTERVENTION.num_folio, dbo_T_INTERVENTION.D_date, ... FROM dbo_T_INTERVENTION WHERE dbo_T_INTERVENTION.D_date > " & [Formulaires]![E_liste_intervention2]![PDateDeb].value & ";"

Et ne pas oublier le cas échéant que les dates access sont en format anglais et entourées de #.
0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
24 févr. 2009 à 09:35
Bonjour Blux et merci pour ta réponse.
J'ai eu la soluce entre-temps, en fait, il fallait que je crée une fonction pour transformer ma date. Je la donne pour ceux que ça intéresserait:

Function SQLArgDate(ByVal vDate As Date) As String
On Error Resume Next
    If Not IsNull(vDate) Then
        SQLArgDate = "#" & Format$(vDate, "mm/dd/yyyy") & "#"
    End If
End Function


Puis ensuite, le code de la requête est le suivant

SQL_ligne = "SELECT dbo_T_INTERVENTION.num_folio, dbo_T_INTERVENTION.D_date, ... FROM dbo_T_INTERVENTION WHERE (dbo_T_INTERVENTION.D_date > " & SQLArgDate(Forms!E_liste_intervention!PDateDeb) & ") ;"


Bonne journée à tous
0