[VB] Probleme d'actualisation de combo box

Probleme d'actualisation de combo box [VB] - Programmation

Marsh Posté le 09-04-2001 à 09:31:25    

Voici mon code :
 
For Index = 0 To Form3.p_id_user.ListCount - 1
    If Form3.p_id_user.ItemData(Index) = record.Fields(23) Then
        Form3.p_id_user.ListIndex = Index
    End If
Next
'MsgBox Form3.p_id_user.ListIndex
 
et mon probleme est que lorsque la cond. est vraie, et quil rentre dans la 3° ligne, il modifie bien la valeur de listindex, mais ne le repercute a lecran que lorsquon enleve le commentaire de la MsgBox ou lorsquon est en mode debbug!!!!
Comprend plus trop bien la?????
HELP, cest pour un stage....:benetton:

Reply

Marsh Posté le 09-04-2001 à 09:31:25   

Reply

Marsh Posté le 09-04-2001 à 10:13:24    

up.......
:bic:

Reply

Marsh Posté le 09-04-2001 à 12:02:24    

toujours pas?

Reply

Marsh Posté le 09-04-2001 à 12:06:17    

Il n'y aurait pas une methode refresh?

Reply

Marsh Posté le 09-04-2001 à 12:55:39    

enfin qqun....
Pour la methode refresh, je sais, jai essaye mais sans succes... je ne comprend pluis et je suis carrement depite

Reply

Marsh Posté le 09-04-2001 à 14:59:17    

up... cest super important..  
zavez po une idee??

Reply

Marsh Posté le 09-04-2001 à 15:09:48    

est_ce que tes listes sont reliées à une BDD?
T'as essayer refresh sur ta form et sur ta liste?
Qu'est-ce que tu souhaite obtenir?

Reply

Marsh Posté le 09-04-2001 à 15:24:39    

en fait, je fais la connection a la data base moi meme, donc elle est independante, et meme si je remplace index par un entier valide il veut pas....
 
Objectif: preselectionne dans une combobox una ligne dont on connait l'itemdata, dou parcours de tous les elements et test de tous les items datas..

Reply

Marsh Posté le 09-04-2001 à 15:39:06    

je vois pas, essaye sur www.vbfrance.com, il doit y avoir des mecs plus calés!
Si j'ai une idée...
Bon courage, moi aussi je  suis en stage :)

Reply

Marsh Posté le 10-04-2001 à 15:20:43    

toujours pas de reponses????
 
PS: vbfrance.com nexiste pas ?!?

Reply

Marsh Posté le 10-04-2001 à 15:20:43   

Reply

Marsh Posté le 10-04-2001 à 15:29:48    

http://www.vbfrance.com
 
Y avait une virgule qui trainait...;)

Reply

Marsh Posté le 10-04-2001 à 15:33:13    

Tu pourrais pas donner le code de toutes ta procédures, afin d'y voir plus clair...Parce que dans tes 5 lignes, je vois rien qui cloche!

Reply

Marsh Posté le 10-04-2001 à 16:00:24    

cest justement ca le pb: il ny a rien qui cloche dans la procedure, dautant plus que le reste na rien a voir avec la combobox, jai pense que le fais de lire, puis modifier la valeur pose peut etre probleme, mais je ne sais pas plus

Reply

Marsh Posté le 10-04-2001 à 16:16:14    

Quelques lignes de plus...
Le problème vient peut etre du type de Index (long ou integer).
et pis tout dépend de la taille de ta combo.

Reply

Marsh Posté le 10-04-2001 à 16:39:14    

Private Sub p_table_Click()
If modifier = True Then
    Set connection = New ADODB.connection
    connection.ConnectionString = "driver={SQL Server};server=              ;uid=       ;pwd=     ;database=TEST"
    connection.ConnectionTimeout = 30
    connection.Open
     
    Set record = New ADODB.Recordset
    record.ActiveConnection = connection
    record.Open "select * from _materiel where id_materiel = " & p_table.TextMatrix(p_table.Row, 0)
     
    Form3.Show
    Form3.nouveau = False
    Form3.modifier = True
    Form3.p_id_departement.Text = ""
    Form3.p_id_departement.Enabled = False
    Form3.p_bnumber.Text = record.Fields(1)
    Form3.p_bnumber.Enabled = False
    Form3.p_cout.Text = record.Fields(4)
    Form3.p_date_deb.Text = record.Fields(6)
    Form3.p_date_fin.Text = record.Fields(7)
    Form3.p_divers.Text = record.Fields(22)
    Form3.p_harddisk.Text = record.Fields(12)
    Form3.p_localisation.Text = record.Fields(5)
    Form3.p_processeur.Text = record.Fields(10)
    Form3.p_marque.Text = record.Fields(8)
    Form3.p_modele.Text = record.Fields(9)
    Form3.p_ram.Text = record.Fields(11)
    Form3.p_reference.Text = record.Fields(3)
    Form3.p_type.ListIndex = RTrim(record.Fields(2))
    Form3.p_ip1.Text = record.Fields(13)
    Form3.p_ip2.Text = record.Fields(14)
    Form3.p_ip3.Text = record.Fields(15)
    Form3.p_ip4.Text = record.Fields(16)
    Form3.p_mac1.Text = record.Fields(17)
    Form3.p_mac2.Text = record.Fields(18)
    Form3.p_mac3.Text = record.Fields(19)
    Form3.p_mac4.Text = record.Fields(20)
     
   
    For Index = 0 To Form3.p_id_user.ListCount - 1
        If Form3.p_id_user.ItemData(Index) = RTrim(record.Fields(23)) Then
            Form3.p_id_user.ListIndex = Index
            Exit For
        End If
    Next
    For Index = 0 To Form3.p_id_contrat.ListCount - 1
        If Form3.p_id_contrat.ItemData(Index) = RTrim(record.Fields(24)) Then
            Form3.p_id_contrat.ListIndex = Index
            Exit For
        End If
    Next
    Form3.p_id_contrat.Enabled = False
     
    MsgBox "message de debogage", vbOKOnly, "Problème"
         
    Form6.Hide
    connection.Close
 
ElseIf attribuer = True Then
    Form6.Hide
    Form5.Show
    Form5.WindowState = 2
Else
    MsgBox "ERREUR -> Selectionner un mode: Modification ou Attribution des clés"
End If
 
End Sub

Reply

Marsh Posté le 11-04-2001 à 02:56:48    

jai un doute...
la comparaison n'est pas fausse?
Form3.p_id_user.ItemData(Index) = RTrim(record.Fields(23))  
le .Itemdata(Index) retourne un long et RTrim retourne un string sans les espaces.....
c'est pas plutot
Form3.p_id_user.Item(Index) = RTrim(record.Fields(23))  
Ok jai peut etre dit une co...

Reply

Marsh Posté le 11-04-2001 à 02:58:41    

c'est pas plutot  
Form3.p_id_user.list(Index) = RTrim(record.Fields(23))  
 
bah oui fallait lire liste pas Item car item ça marche pas

Reply

Marsh Posté le 11-04-2001 à 08:29:23    

non, itemdata retourne ce que tu veux, tout depend du type que tu lui donne... dautant plus que incomprehensiblement ca marche quand jaffiche une messagebox..

Reply

Marsh Posté le 11-04-2001 à 11:47:20    

probleme resolu, merci a ceux qui ont essaxe de maider
 
PS: le pb etait linitialisation des combobox dans form_activate au lieus de form_load... et oui, je sais, je suis con ;-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed