Lier combobox a datagrid en VB6.0

anasthasi2407 Messages postés 1 Statut Membre -  
qdbis Messages postés 2 Statut Membre -
Bonjour,
Bonjour a tous,
je suis débutante en VB6 et j'ai un problème.
je suis entrain de réaliser une application de gestion d'offre.
Dans une Form j'ai met un ComboBox et un DataGrid que j'ai lier a ma BD(dans Dataenvironment j'ai crere une commande qui est un select du code client et cette commande a une commande fille qui est un select du code client ainsi que les produit et leurs prix et bien sur la relation se fait a travers le code client). Je veux que lorsque je choisi un code client du ComboBox le DataGrid m'affiche les produit que ce client a acheter ainsi que les prix et ainsi de suite .
Est ce que quelqu'un peut m'aider.SVP c'est tres urgeant. Je suis vrement planter.
Merci d'avance.
Configuration: Windows XP
Firefox 3.0.6

2 réponses

  1. qdbis Messages postés 2 Statut Membre 5
     
    Oui, tu accèdes à ces 2 onglets par clic bouton droit sur le Datagrid
    5
  2. qdbis Messages postés 2 Statut Membre 5
     
    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
    0
    1. anasthasia2407
       
      merci pour votre reponse
      je vais l'essaye et je vais vous dire si ca marche ou non, nefin j'espere aue sa marche.
      0
    2. anasthasia2407
       
      c'est encore moi
      excuse moi, mais j'ai pas compris comment faire ces deux ligne
      - 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)
      Si tu peut mieux les expliquer
      est ce que " onglet Disposition" et "onglet Forma" se trouve dans les propriété de datagrid ?
      0