crocmorts
Messages postés49Date d'inscriptionmardi 17 février 2004StatutMembreDernière intervention 6 avril 2004
-
3 mars 2004 à 10:21
crocmorts
Messages postés49Date d'inscriptionmardi 17 février 2004StatutMembreDernière intervention 6 avril 2004
-
3 mars 2004 à 20:49
J'ai un pote qui m'a envoyé une methode en php pour faire la correspondance entre les champs avec sql, mais j'ai du mal à le traduire en VB.
// Requete Je selectionne le champ qui m'interesse
$sql="SELECT champ1 FROM Table_TXT";
$res=mysql_query($sql);
//Je recupere le tableau des champs dans un tableau indexé
while($data=mysql_fetch_array($res)) // Je lis ligne par ligne le tableau
{
// Requete qui regarde si le numero qui vient de la table TXT a un correspondance dans la table correspondance.
$sql_rech="SELECT * FROM Table_Correspondance WHERE corr = $data['champ1']";
$res_res=mysql_query($sql_rech);
// Je recupere le resultat
$corr=mysql_fetch_array($res_res);
//J'affiche le champ d'a coté
echo $corr['CHAMP d'a coté'];
}
En VB
sql = " Select champ1 from Table_TXT"
rst.open (sql)
Mshflexgrid.datasource = rst
Do While NOT (Mshflexgrid.EOF = True)
sql2 "Select * From Table_correspondance where champs_corresp ?
rst.open (sql2)
'Mettre le resulat dans une variable?
print la variable [champs à coté]
darollinghobbit
Messages postés55Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention18 juin 20041 3 mars 2004 à 14:26
Oui rst est un recordset mais comme fields est la propriété par défaut, tu peux l'omettre. La syntaxe rst(0) fonctionne aussi et te donne la valeur du 1er champ de ta requête
Pour en revenir à la deuxième question, dans ton select il faut que tu remplaces le ? par la valeur du numéro contenu dans ton flexgrid genre
sql2 "Select * from Table_correspondance where champ_corresp" & MshFlexgrid.value
Vous n’avez pas trouvé la réponse que vous recherchez ?