ACCESS requête SQL dans code VB - paramètre [Résolu/Fermé]

Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
- - Dernière réponse : 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
Afficher la suite 

2 réponses

Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
0
Merci
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
Messages postés
23911
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 mars 2019
2691
0
Merci
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 #.
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7 -
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