cs_guigui28
Messages postés28Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention17 octobre 2006
-
5 mars 2005 à 15:29
cs_guigui28
Messages postés28Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention17 octobre 2006
-
6 mars 2005 à 12:33
QQN peut il m'aider ?
Je programme un petit utilitaire permetant de gérer mes clients, chaque client peut avoir plusieurs contacts. Comment rédiger une commande sql qui permet de sélectionner tous les contacts de ma table contact, qui ont un numéro correspondant à un client ; sélectionner auparavant dans ma table client.
cs_guigui28
Messages postés28Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention17 octobre 2006 5 mars 2005 à 17:28
Ma procédure de chargement de ma liste de contact suite à un choix dans ma liste client :
Private sub ListeRechercheContact_Charge()
Dim ListeItemRésultat as listItem
'Mise à jour de la listview :
ListRechercheContact.ListItems.Clear
'Préparation de ma commande Recherche des contacts en fonction du client Choisi :
CmdADOContact.CommandText="SELECT * From CONTACT where NumClient = " & RsltADOClient!NumClient &"
'Exécution de la commande :
RlstADOContact.Requery
'Chargement de la listeviewContact :
While (not RsltADOContact.EOF)
If (RsltADOContact.Recordcount <>0) then
Set ListItemResultat=ListeRechercheContact.ListItems.Add(, , CStr(RsltADOContact!NomContact))
End If
RsltADOContact.MoveNext
Wend
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
relax62
Messages postés82Date d'inscriptionvendredi 2 avril 2004StatutMembreDernière intervention 8 juillet 20121 5 mars 2005 à 18:58
dans cette ligne:
CmdADOContact.CommandText="SELECT * From CONTACT where NumClient = " & RsltADOClient!NumClient &"
le &" ne serait il pas superflu?
Moi j'ai plus l'habitude d'utiliser sans controle ADO (je ne sais pas si c'est mieux ou pas???)
dim bds as database
dim requete as string
dim rscontact as recordset
Set bds = OpenDatabase(GlobalEmplacementBaseDonnees) 'Connexion sur la base accessRequete "SELECT * FROM Contact WHERE NumClient" & rsltadoclient!numclient
Set rsContact = bds.OpenRecordset(Requete, dbOpenSnapshot, dbReadOnly) 'requete pour les contacts
Do Until rsContact.EOF 'jusqu'à la fin du recordset, si il est vide passe à la suite
rsContact.MoveLast 'va à la fin du recordset
rsContact.MoveNext 'va à eof
Loop
If rsContact.RecordCount > 0 Then rsContact.MoveFirst
'Chargement de la listeviewContact :
Do Until rsContact.EOF 'jusqu'à la fin du recordset, si il est vide passe à la suite
Set ListItemResultat=ListeRechercheContact.ListItems.Add(, , CStr(RsContact!NomContact))
rsCategories.MoveNext 'va à eof
Loop
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 5 mars 2005 à 19:14
Salut,
- Ton champ NumClient est en string ? en long ? ..... ?
- Tu utilises un coup RlstADOContact et un autre RsltADOContact, lequel est le bon ?
- CmdADOContact.CommandText="SELECT * From CONTACT where NumClient = " & RsltADOClient!NumClient &" ??? : le &" de fin est superflu.
- perso, je n'utilise pas requery mais plutôt rst.open requete,connexion
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 6 mars 2005 à 11:03
Pour rst.open :
au lieu de :
CmdADOContact.CommandText="SELECT * From CONTACT where NumClient = " & RsltADOClient!NumClient &"
'Exécution de la commande :
RlstADOContact.Requery
je met directement :
RlstADOContact.Open "SELECT * From CONTACT where NumClient = " & RsltADOClient!NumClient , NomDeTaConnexionBdd
Mais, finalement le prob n'est pas là, mais plutôt comme le dit Relax62. Vérifie si le type des champs NumClient de tes tables contact et client est identique ou non.