Urgent Remplir un Combo depuis un RecordSet

aptech Messages postés 36 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 5 juillet 2003 - 13 juin 2003 à 09:41
nono716 Messages postés 22 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 7 juin 2006 - 13 juin 2003 à 10:27
Bonjour j'ai créer une procedurevpour remplir un combo box

je passe en parametre, le nom du combo, le nom de la table, le nom du champs et le nom du champs d'index

à la ligne
.AddItem rstRemplirCombo.Fields(sChamps)

de la procedure si dessu, il me dit qu'il ne connais pas l'objet sChamps, donc il ne detecte pas que sChamps est une variable et donc il cherche sChamps dans le RecordSet et bien entendu il le trouve pas car c'est le nom d'une variable qui contient le nom du champs adequat

Que faire pour résoudre cela c'est assez urgent

merci de votre aide

Public Sub RemplirCombo(sComboName, sTable, sChamps, sIndex)
Dim rstRemplirCombo As New ADODB.Recordset
Dim sSQL As String


Set rstRemplirCombo = CreateObject("ADODB.RecordSet")
sSQL = "SELECT " & sChamps & "," & sIndex & " FROM " & sTable & " ORDER by " & sChamps & ";"

rstRemplirCombo.CursorLocation = adUseClient
rstRemplirCombo.Open sSQL, cnn, adOpenForwardOnly, adLockReadOnly
With sComboName
Do Until rstRemplirCombo.EOF
.AddItem rstRemplirCombo.Fields(sChamps)
.ItemData(.NewIndex) = rstRemplirCombo.Fields(sIndex)
rstRemplirCombo.MoveNext
Loop
.Text = ""
End With
rstRemplirCombo.Close
End Sub

>:) APTech >:)

5 réponses

nono716 Messages postés 22 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 7 juin 2006
13 juin 2003 à 09:52
Tu peux toujours faire :
.AddItem rstRemplirCombo.Fields(0)

ceci te récupère le premier élément de ton select (1 pour le deuxième et ainsi de suite...)

:-p Nono
0
aptech Messages postés 36 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 5 juillet 2003
13 juin 2003 à 09:58
Oui mais y a pas une solution avec le nom du champs

cr j'utilise cette procedure pour plusieur combo different

>:) APTech >:)
0
nono716 Messages postés 22 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 7 juin 2006
13 juin 2003 à 10:07
Sinon essaye de "caster" ta variable :
.AddItem rstRemplirCombo.Fields(CStr(sChamps))

:-p Nono
0
aptech Messages postés 36 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 5 juillet 2003
13 juin 2003 à 10:16
Ca marche pas non plus le problème c'est de lui dire ke c'est une varaible et nonle nom du champs tel quel
!è!! :sad)
>:) APTech >:)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nono716 Messages postés 22 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 7 juin 2006
13 juin 2003 à 10:27
Je pige pas... J'ai fais le test chez moi en passant le nom d'une variable comme toi et ça passe très bien... :question)

Je vais revenir sur ma première idée : Même avec plusieurs combo différentes, tu peux utiliser la position de ton champs et dans ta fonction mettre

.AddItem rstRemplirCombo(0)
.ItemData(.NewIndex) = rstRemplirCombo(1)
0 correspondant toujours à sChamps et 1 à sIndex et ce même si tu as plusieurs enregistrement dans ton recordset.

:-p Nono
0
Rejoignez-nous