qdbis
2Messages postés
10 février 2009Date d'inscription
10 févr. 2009 à 23:46
Bonsoir A...2407 !
J'ai eu un cas similaire, voici la solution que j'ai adoptée (je n'ai pas utilisé le DataEnvironment, j'ai fait les liens "à la main" et/ou par contrôles Adodc) :
- sur ma Form j'ai placé un Datagrid (ecritures comptables lié à la table Saisie par contrôle Adodc) sur lequel j'ai intégré 2 combobox pointant sur 2 tables différentes (comptes et tiers)
- j'utilise donc 3 contrôles Adodc qui sont définis dans le code
- les Combobox sont aussi chargés dans le code ( attention à bien renseigner les propriétés Style à Dropdownlist, Locked à False et DataSource avec le nom du contrôle Adodc )
Ces Combobox sont placés sur le Datagrid, au niveau de 2 colonnes. Pour fonctionner il faut tout d'abord préciser, dans les propriétés du Datagrid :
- onglet Disposition, cocher 'Button' pour le(s) colonne(s) concernée(s)
- onglet Format, indiquer un format en accord avec les données à insérer (cf table)
En adaptant le code ci-dessous our 1 combo (trouvé sur VbFrance.com), ça marche aussi impec pour 2 !
Private Sub datagrid1_ButtonClick(ByVal ColIndex As Integer)
On Error Resume Next
Select Case ColIndex
Case 3
' ici on travaille sur la colonne 4 du datagrid (index 0,1,2,3)
' la propriete visible du combo1 est FALSE
combo1.Width = datagrid1.Columns(3).Width
combo1.Left = datagrid1.Left + datagrid1.Columns(3).Left
combo1.Top = datagrid1.RowTop(datagrid1.Row) + datagrid1.Top
combo1.SetFocus
combo1.Visible = True ' le combo est correctement placé...on le rend visible
End Select
End Sub
' puis on applique la valeur de sélection du combo à la cellule active
Private Sub Combo1_Click()
On Error Resume Next
datagrid1.Columns(3).Value = Combo1.Text
Combo1.Visible = False ' on cache à nouveau le combo....
End Sub
Voilà !
En espérant avoir répondu à ta question.
Si tu as des soucis tu peux aussi m'envoyer ton code zippé, je te répondrai.
Qdbis