Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] Mettre une date dans une clause where d'une requête visual foxpro

2 réponses
Avatar
Thierry Euzenot
Bonjour,

Je suis confronté à un problème sur une requête SELECT... WHERE... dans une
table visual foxpro.

A partir d'un code en VBA je veux aller récupérer en lecture des infos de la
BDD du logiciel de gestion de l'entreprise qui est une base de donnée visual
foxpro.

Bref, tant que je ne fais pas de sélection sur une date, tout marche bien et
j'arrive sans problème à récupérer les infos.

Exemple fonctionnant parfaitement (parce que recherche sur un numéro de
facture et non une date) :
Rsql = Rsql = "SELECT * FROM st2f6lvf WHERE li2nfa = 'F04N2260';"
Rst.Open Rsql, ConnFoxPro, adOpenDynamic, adLockReadOnly, adCmdText

Par contre si dans ma clause WHERE je veux mettre une date, ça ne marche
pas... j'ai vu quelque part qu'il fallait mettre les dates entre {} mais je
n'en suis pas certain :-/

Et dans tous les cas ceci ne me renvoie aucun recordset...
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = {30/09/2004};"
Rst.Open Rsql, ConnFoxPro, adOpenDynamic, adLockReadOnly, adCmdText

J'ai essayé les notations suivantes sans succès :
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = '30/09/2004';"
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = 38260;" <<== date non mise en
forme
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = '38260';"

A noter que je suis certain qu'il y a bien un enregistrement qui correspond
à cette date ;-)

Je suis preneur de toute information me permettant d'avancer ! Je n'arrive
pas à trouver d'infos sur ce sujet sur le net :o(

Merci par avance

2 réponses

Avatar
Phil99999
Je crois que le format de date dans FoxPro est YYYYMMDD non ???

Il te reste juste a essayer avec ce format !!



Bonjour,

Je suis confronté à un problème sur une requête SELECT... WHERE... dans une
table visual foxpro.

A partir d'un code en VBA je veux aller récupérer en lecture des infos de la
BDD du logiciel de gestion de l'entreprise qui est une base de donnée visual
foxpro.

Bref, tant que je ne fais pas de sélection sur une date, tout marche bien et
j'arrive sans problème à récupérer les infos.

Exemple fonctionnant parfaitement (parce que recherche sur un numéro de
facture et non une date) :
Rsql = Rsql = "SELECT * FROM st2f6lvf WHERE li2nfa = 'F04N2260';"
Rst.Open Rsql, ConnFoxPro, adOpenDynamic, adLockReadOnly, adCmdText

Par contre si dans ma clause WHERE je veux mettre une date, ça ne marche
pas... j'ai vu quelque part qu'il fallait mettre les dates entre {} mais je
n'en suis pas certain :-/

Et dans tous les cas ceci ne me renvoie aucun recordset...
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = {30/09/2004};"
Rst.Open Rsql, ConnFoxPro, adOpenDynamic, adLockReadOnly, adCmdText

J'ai essayé les notations suivantes sans succès :
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = '30/09/2004';"
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = 38260;" <<== date non mise en
forme
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = '38260';"

A noter que je suis certain qu'il y a bien un enregistrement qui correspond
à cette date ;-)

Je suis preneur de toute information me permettant d'avancer ! Je n'arrive
pas à trouver d'infos sur ce sujet sur le net :o(

Merci par avance





Avatar
Thierry Euzenot
Désolé pour le dérangement, j'ai trouvé l'erreur, il fallait tout simplement
mettre une date au format mm/jj/aaaa

%^_^%


"Thierry Euzenot" <te.st2e_arobase_free.fr> a écrit dans le message de
news:
Bonjour,

Je suis confronté à un problème sur une requête SELECT... WHERE... dans
une

table visual foxpro.

A partir d'un code en VBA je veux aller récupérer en lecture des infos de
la

BDD du logiciel de gestion de l'entreprise qui est une base de donnée
visual

foxpro.

Bref, tant que je ne fais pas de sélection sur une date, tout marche bien
et

j'arrive sans problème à récupérer les infos.

Exemple fonctionnant parfaitement (parce que recherche sur un numéro de
facture et non une date) :
Rsql = Rsql = "SELECT * FROM st2f6lvf WHERE li2nfa = 'F04N2260';"
Rst.Open Rsql, ConnFoxPro, adOpenDynamic, adLockReadOnly, adCmdText

Par contre si dans ma clause WHERE je veux mettre une date, ça ne marche
pas... j'ai vu quelque part qu'il fallait mettre les dates entre {} mais
je

n'en suis pas certain :-/

Et dans tous les cas ceci ne me renvoie aucun recordset...
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = {30/09/2004};"
Rst.Open Rsql, ConnFoxPro, adOpenDynamic, adLockReadOnly, adCmdText

J'ai essayé les notations suivantes sans succès :
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = '30/09/2004';"
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = 38260;" <<== date non mise
en

forme
Rsql = "SELECT * FROM st2f6lvf WHERE li2dafa = '38260';"

A noter que je suis certain qu'il y a bien un enregistrement qui
correspond

à cette date ;-)

Je suis preneur de toute information me permettant d'avancer ! Je n'arrive
pas à trouver d'infos sur ce sujet sur le net :o(

Merci par avance