Select parametrable dans un recordsource

Résolu
yoh_bur Messages postés 24 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 9 février 2007 - 5 mai 2006 à 11:30
yoh_bur Messages postés 24 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 9 février 2007 - 10 mai 2006 à 18:14
Je suis sur une appli en VB6 qui tape sur une base en Access2K.
La base contient 3 tables essentielles qui sont structurés comme tel: "Table1" -1 ----- n - "Table2" - 1 ----- n - "Table3"

Pour compiler mes données, j'ai besoin de selectionner un intervalle denregistrement de la table2 et des enregistrements liés de la table3.
Mon premier probleme est sur la select de l'intervalle (j'utilise les adodc)
Calcul_Adodc.RecordSource "SELECT * FROM TABLE2 WHERE Mid(dplct_dest_date, 4, 7) " & mois_an

Or la fonction Mid sur les données recuperer ne fonctionne pas.
Sur une precedente version ou j'utilisais les rst (adodb), il était possible d'utiliser la fonction.
Comment faire de mm avec les adodc?

2 réponses

yoh_bur Messages postés 24 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 9 février 2007
10 mai 2006 à 18:14
J'ai trouvé une solution assez simple:


Au lieu de tronquer les jours de la date recuperée, je fais une comparaison avec un intervalle:

mois_an_p= "01/" & mois_an
mois_an_m= "31/" & mois_an

Calcul_Adodc.RecordSource = "SELECT * FROM TABLE2 WHERE dplct_dest_date<=" & mois_an_p &" dpct_dest_date>=" & mois_an_m

Voila voila.
3
yoh_bur Messages postés 24 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 9 février 2007
5 mai 2006 à 14:20
J'ai fait le test en reprenant l'ancien code qui fonctionnait en l'adaptant a la nouvelle appli (en utilisant donc les adodb), et incomprehension, je n'arrive pas a selectionner les enregistrements voulues.
Il n'y a pas de retour d'erreur, simplement, le select ne renvoie rien.
Il semblerai donc que Mid(dpct_dest_dat... soit pris comme une chaine et non une fonction a appliquer sur une chaine de caractere

Comment contourner le problème ou du moins pouvoir extraire une partie du champ voulue?

(Precision: le champ voulue est une date, il me faut recuperer le mois et l'année au format "mm/aaaa")
0
Rejoignez-nous