MAJ Combobox avec ADODB 0_o

Clonk Messages postés 278 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 29 août 2006 - 13 août 2004 à 15:05
Clonk Messages postés 278 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 29 août 2006 - 13 août 2004 à 15:30
Bonjour,
Voilà, j'ai une connexion ADODB dans mon appli (VB 6.0)
à un moment, j'ai une listbox avec des données typeées ou pas (le typage est présent dans ma BDD). Je peux, grâce à une combobox créer ou changer le typage. S'il existe, il affiche dans la combo la valeur dans la BDD, je voudrais que qi l'uilisateur changa à ce moment là de type, un message d'erreur le prévienne. S'il refuse de changer, la valeur d'origine revient.
J'ai fais ce code:

Private Sub CmbType_Click()
Dim rs As ADODB.Recordset
Dim tmp As String
'Found permet de savoir (en amont) si le type existait déjà
If Found Then
    If MsgBox("Vous avez déjà défini un typage pour ce champ." & Chr$(10) & "Êtes-vous sûr(e) de vouloir le changer?" & Chr$(10) & "Toute modification peut rendre d'autres contraintes inutilisables", vbexclamatoin + vbYesNo, "Avertissement!") = vbNo Then
        Set rs = New ADODB.Recordset
'Je recherche le type :        rs.Open "SELECT Type FROM Champs WHERE Nom_Ch '" & List1.Text & "' AND Num_Cat " & numCat, Conn, adOpenStatic, adLockReadOnly, -1
        If Not rs.EOF Then
            tmp = rs("Type").Value
'On réécrit le ttype de base dans la combo:
            CmbType.Text = tmp
            DoEvents
        End If
        rs.Close
    End If
End If
End Sub


Bon, je ne pense pas que ce code soit indigeste, mais le problème est qu'à chaques fois, il me m'écris rien dans ma combos, il ne me la vide pas, ni rien, en fait, il m'affiche une demi seconde le résultat puis POUF! ça disparait
Je usis passé par un debug.print, il me trouve bien le type, c'est juste que quadn il sort du sub, y a plus rien...
Quelqu'un sait-il pourquoi?
merci!

2 réponses

ShadowWisp Messages postés 113 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 25 août 2004 1
13 août 2004 à 15:20
Essayes avec un cmbtype.value=tmp ou cmbtype.additem(temp) selone ce que tu veux en faire

A.
0
Clonk Messages postés 278 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 29 août 2006
13 août 2004 à 15:30
CmbType.value n'existe pas (il s'agit d'une combobox!!!)
et je ne veux pas faire de additem, cet item existe déjà, et pour gagner du temps de traitement (merci le langage de tortue asthmatique) je met directement en .text.
Le meme traitement utilisé sur la methode click() d'une listbox marche super bien, là, C parce que je je travaille sur luimême qu'apparemment il n'aime pas (me proposez pas de changer le focus, C dajà fait, ça donne pareil)
0
Rejoignez-nous