2 ComboBox (cbo1 et cbo2)
cbo1 contient la liste d'une table Group
cbo2 contient la liste d'une table SubGroup
Résultat souhaité, si je choisi un group dans cbo1, je veux que cbo2
contienne que les SubGroup associé.
La logique est simple !
En Access, et ca doit faire trop longtemps que je fais que ca, c'est très
simple
Dans le cbo1, je mettais 2 colonnes, le GroupID et la description, on cache
la première colonne.
On actualise le cbo2 est mettant comme paramêtre le GroupID du cbo1.
Bingo le tour est joué !
En VB, on ne peux pas mettre 2 colonnes, donc, si je veux voir la
description, je dois me passer du GroupID
Mais la sa fou en l'air la facilité pour mettre le contenu du cbo2.
Quel est la façon la plus simple pour parvenir a mes fin ?
J'ai quelques idées, mais me semble lourde un peu !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
PePiCK
Certainement, mais je vois pas en quoi cela peux m'aider !?!?!? La propriété tag appartient au ComboBox et non aux items ! Ou bien je ne voie pas du tout ou tu veux en venir !
PePiCK
"Bismark Prods" a écrit dans le message de news: #
les combobox n'ont-ils pas de propriété Tag ?
Certainement, mais je vois pas en quoi cela peux m'aider !?!?!?
La propriété tag appartient au ComboBox et non aux items !
Ou bien je ne voie pas du tout ou tu veux en venir !
PePiCK
"Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de news:
#YCwqMXRDHA.704@tk2msftngp13.phx.gbl...
Certainement, mais je vois pas en quoi cela peux m'aider !?!?!? La propriété tag appartient au ComboBox et non aux items ! Ou bien je ne voie pas du tout ou tu veux en venir !
PePiCK
"Bismark Prods" a écrit dans le message de news: #
les combobox n'ont-ils pas de propriété Tag ?
François Picalausa
Bonjour/soir,
Il est possible d'enregistrer une valeur numérique pour chaque item par itemdata Sinon, dans une combo standard VB (pas celle des common controls), Tag vaut pour tout le contrôle.
Je ne l'utilise jamais mais j'ai souvenir que pour chaque item tu peux enregistré une valeur texte y relative grace justement à cette propriété ! Je me trompe ?
"PePiCK" a écrit dans le message de news: > Certainement, mais je vois pas en quoi cela peux m'aider !?!?!? > La propriété tag appartient au ComboBox et non aux items ! > Ou bien je ne voie pas du tout ou tu veux en venir ! > > "Bismark Prods" a écrit dans le message de news: > # > > les combobox n'ont-ils pas de propriété Tag ?
Bonjour/soir,
Il est possible d'enregistrer une valeur numérique pour chaque item par
itemdata
Sinon, dans une combo standard VB (pas celle des common controls), Tag vaut
pour tout le contrôle.
"Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de
news:%23SP1bfXRDHA.2228@tk2msftngp13.phx.gbl...
Je ne l'utilise jamais mais j'ai souvenir que pour chaque item tu peux
enregistré une valeur texte y relative grace justement à cette propriété !
Je me trompe ?
"PePiCK" <pepick@hotmail.com> a écrit dans le message de
news:urc4QTXRDHA.1324@TK2MSFTNGP11.phx.gbl...
> Certainement, mais je vois pas en quoi cela peux m'aider !?!?!?
> La propriété tag appartient au ComboBox et non aux items !
> Ou bien je ne voie pas du tout ou tu veux en venir !
>
> "Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de news:
> #YCwqMXRDHA.704@tk2msftngp13.phx.gbl...
> > les combobox n'ont-ils pas de propriété Tag ?
Il est possible d'enregistrer une valeur numérique pour chaque item par itemdata Sinon, dans une combo standard VB (pas celle des common controls), Tag vaut pour tout le contrôle.
Je ne l'utilise jamais mais j'ai souvenir que pour chaque item tu peux enregistré une valeur texte y relative grace justement à cette propriété ! Je me trompe ?
"PePiCK" a écrit dans le message de news: > Certainement, mais je vois pas en quoi cela peux m'aider !?!?!? > La propriété tag appartient au ComboBox et non aux items ! > Ou bien je ne voie pas du tout ou tu veux en venir ! > > "Bismark Prods" a écrit dans le message de news: > # > > les combobox n'ont-ils pas de propriété Tag ?
Bismark Prods
Je ne l'utilise jamais mais j'ai souvenir que pour chaque item tu peux enregistré une valeur texte y relative grace justement à cette propriété ! Je me trompe ?
"PePiCK" a écrit dans le message de news:
Certainement, mais je vois pas en quoi cela peux m'aider !?!?!? La propriété tag appartient au ComboBox et non aux items ! Ou bien je ne voie pas du tout ou tu veux en venir !
PePiCK
"Bismark Prods" a écrit dans le message de news: # > les combobox n'ont-ils pas de propriété Tag ?
Je ne l'utilise jamais mais j'ai souvenir que pour chaque item tu peux
enregistré une valeur texte y relative grace justement à cette propriété !
Je me trompe ?
"PePiCK" <pepick@hotmail.com> a écrit dans le message de
news:urc4QTXRDHA.1324@TK2MSFTNGP11.phx.gbl...
Certainement, mais je vois pas en quoi cela peux m'aider !?!?!?
La propriété tag appartient au ComboBox et non aux items !
Ou bien je ne voie pas du tout ou tu veux en venir !
PePiCK
"Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de news:
#YCwqMXRDHA.704@tk2msftngp13.phx.gbl...
> les combobox n'ont-ils pas de propriété Tag ?
Je ne l'utilise jamais mais j'ai souvenir que pour chaque item tu peux enregistré une valeur texte y relative grace justement à cette propriété ! Je me trompe ?
"PePiCK" a écrit dans le message de news:
Certainement, mais je vois pas en quoi cela peux m'aider !?!?!? La propriété tag appartient au ComboBox et non aux items ! Ou bien je ne voie pas du tout ou tu veux en venir !
PePiCK
"Bismark Prods" a écrit dans le message de news: # > les combobox n'ont-ils pas de propriété Tag ?
Zoury
Salut Pepick! :O)
Regarde cette exemple et dis nous si ça convient :
La bd NWIND.mdb est fournit avec VS et se trouve dans ..Micrsoft Visual StudioVB98 '*** ' Form1 ' 2 ComboBoxes, Style = 2 - DropDownList Option Explicit
Private Declare Function SendMessage _ Lib "user32" _ Alias "SendMessageA" _ ( _ ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByRef lParam As Any _ ) As Long
Private m_rs As ADODB.Recordset
Private Sub Combo1_Click() Call FillCombo(Combo2, m_rs, "ProductName", , Combo1.ItemData(Combo1.ListIndex), True) End Sub
Private Sub Form_Load() Set m_rs = GetRecordset(CONN_STRING, QUERY_STRING) Call FillCombo(Combo1, m_rs, "CompanyName", "SupplierID", "", True) Call FillCombo(Combo2, m_rs, "ProductName", , Combo1.ItemData(Combo1.ListIndex), True) End Sub
Private Function GetRecordset _ ( _ ByRef sConnectionString As String, _ ByRef sQuery As String _ ) As ADODB.Recordset
Dim cn As ADODB.Connection Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection Call cn.Open(sConnectionString)
Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient Call rs.Open(sQuery, cn, adOpenForwardOnly, adLockReadOnly)
Set GetRecordset = rs
End Function
Private Sub FillCombo _ ( _ ByRef cbo As ComboBox, _ ByRef rs As ADODB.Recordset, _ ByRef sField As String, _ Optional sItemDataField As String, _ Optional sFilter As String, _ Optional bDistinct As Boolean _ )
If cbo.ListCount > 0 Then Call cbo.Clear If LenB(sFilter) > 0 Then rs.Filter = "SupplierID = " & sFilter
If rs.RecordCount > 0 Then Call rs.MoveFirst Do Until rs.EOF If bDistinct Then If SendMessage(cbo.hWnd, CB_FINDSTRINGEXACT, -1, ByVal CStr(rs(sField).Value)) = -1 Then Call cbo.AddItem(rs(sField).Value) If LenB(sItemDataField) > 0 Then cbo.ItemData(cbo.NewIndex) = rs(sItemDataField).Value End If Else Call cbo.AddItem(rs(sField).Value) If LenB(sItemDataField) > 0 Then cbo.ItemData(cbo.NewIndex) rs(sItemDataField).Value End If Call rs.MoveNext Loop Call SendMessage(cbo.hWnd, CB_SETCURSEL, 0, ByVal 0&) End If
End Sub '***
-- Cordialement Yanick Lefebvre - MVP pour Visual Basic http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/ http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/ "PePiCK" wrote in message news:% : Bonjour la liste ! : : Bon, j'explique ! : : 2 ComboBox (cbo1 et cbo2) : cbo1 contient la liste d'une table Group : cbo2 contient la liste d'une table SubGroup : : Résultat souhaité, si je choisi un group dans cbo1, je veux que cbo2 : contienne que les SubGroup associé. : : La logique est simple ! : En Access, et ca doit faire trop longtemps que je fais que ca, c'est très : simple : Dans le cbo1, je mettais 2 colonnes, le GroupID et la description, on cache : la première colonne. : On actualise le cbo2 est mettant comme paramêtre le GroupID du cbo1. : Bingo le tour est joué ! : : En VB, on ne peux pas mettre 2 colonnes, donc, si je veux voir la : description, je dois me passer du GroupID : Mais la sa fou en l'air la facilité pour mettre le contenu du cbo2. : : Quel est la façon la plus simple pour parvenir a mes fin ? : : J'ai quelques idées, mais me semble lourde un peu ! : : Merci d'avance pour vos conseils ! : : PePiCK : :
Salut Pepick! :O)
Regarde cette exemple et dis nous si ça convient :
La bd NWIND.mdb est fournit avec VS et se trouve dans ..Micrsoft Visual
StudioVB98
'***
' Form1
' 2 ComboBoxes, Style = 2 - DropDownList
Option Explicit
Private Declare Function SendMessage _
Lib "user32" _
Alias "SendMessageA" _
( _
ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByRef lParam As Any _
) As Long
Private m_rs As ADODB.Recordset
Private Sub Combo1_Click()
Call FillCombo(Combo2, m_rs, "ProductName", ,
Combo1.ItemData(Combo1.ListIndex), True)
End Sub
Private Sub Form_Load()
Set m_rs = GetRecordset(CONN_STRING, QUERY_STRING)
Call FillCombo(Combo1, m_rs, "CompanyName", "SupplierID", "", True)
Call FillCombo(Combo2, m_rs, "ProductName", ,
Combo1.ItemData(Combo1.ListIndex), True)
End Sub
Private Function GetRecordset _
( _
ByRef sConnectionString As String, _
ByRef sQuery As String _
) As ADODB.Recordset
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Call cn.Open(sConnectionString)
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
Call rs.Open(sQuery, cn, adOpenForwardOnly, adLockReadOnly)
Set GetRecordset = rs
End Function
Private Sub FillCombo _
( _
ByRef cbo As ComboBox, _
ByRef rs As ADODB.Recordset, _
ByRef sField As String, _
Optional sItemDataField As String, _
Optional sFilter As String, _
Optional bDistinct As Boolean _
)
If cbo.ListCount > 0 Then Call cbo.Clear
If LenB(sFilter) > 0 Then rs.Filter = "SupplierID = " & sFilter
If rs.RecordCount > 0 Then
Call rs.MoveFirst
Do Until rs.EOF
If bDistinct Then
If SendMessage(cbo.hWnd, CB_FINDSTRINGEXACT, -1, ByVal
CStr(rs(sField).Value)) = -1 Then
Call cbo.AddItem(rs(sField).Value)
If LenB(sItemDataField) > 0 Then cbo.ItemData(cbo.NewIndex)
= rs(sItemDataField).Value
End If
Else
Call cbo.AddItem(rs(sField).Value)
If LenB(sItemDataField) > 0 Then cbo.ItemData(cbo.NewIndex) rs(sItemDataField).Value
End If
Call rs.MoveNext
Loop
Call SendMessage(cbo.hWnd, CB_SETCURSEL, 0, ByVal 0&)
End If
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"PePiCK" <pepick@hotmail.com> wrote in message
news:%23EonDKXRDHA.1304@TK2MSFTNGP11.phx.gbl...
: Bonjour la liste !
:
: Bon, j'explique !
:
: 2 ComboBox (cbo1 et cbo2)
: cbo1 contient la liste d'une table Group
: cbo2 contient la liste d'une table SubGroup
:
: Résultat souhaité, si je choisi un group dans cbo1, je veux que cbo2
: contienne que les SubGroup associé.
:
: La logique est simple !
: En Access, et ca doit faire trop longtemps que je fais que ca, c'est très
: simple
: Dans le cbo1, je mettais 2 colonnes, le GroupID et la description, on cache
: la première colonne.
: On actualise le cbo2 est mettant comme paramêtre le GroupID du cbo1.
: Bingo le tour est joué !
:
: En VB, on ne peux pas mettre 2 colonnes, donc, si je veux voir la
: description, je dois me passer du GroupID
: Mais la sa fou en l'air la facilité pour mettre le contenu du cbo2.
:
: Quel est la façon la plus simple pour parvenir a mes fin ?
:
: J'ai quelques idées, mais me semble lourde un peu !
:
: Merci d'avance pour vos conseils !
:
: PePiCK
:
:
Regarde cette exemple et dis nous si ça convient :
La bd NWIND.mdb est fournit avec VS et se trouve dans ..Micrsoft Visual StudioVB98 '*** ' Form1 ' 2 ComboBoxes, Style = 2 - DropDownList Option Explicit
Private Declare Function SendMessage _ Lib "user32" _ Alias "SendMessageA" _ ( _ ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByRef lParam As Any _ ) As Long
Private m_rs As ADODB.Recordset
Private Sub Combo1_Click() Call FillCombo(Combo2, m_rs, "ProductName", , Combo1.ItemData(Combo1.ListIndex), True) End Sub
Private Sub Form_Load() Set m_rs = GetRecordset(CONN_STRING, QUERY_STRING) Call FillCombo(Combo1, m_rs, "CompanyName", "SupplierID", "", True) Call FillCombo(Combo2, m_rs, "ProductName", , Combo1.ItemData(Combo1.ListIndex), True) End Sub
Private Function GetRecordset _ ( _ ByRef sConnectionString As String, _ ByRef sQuery As String _ ) As ADODB.Recordset
Dim cn As ADODB.Connection Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection Call cn.Open(sConnectionString)
Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient Call rs.Open(sQuery, cn, adOpenForwardOnly, adLockReadOnly)
Set GetRecordset = rs
End Function
Private Sub FillCombo _ ( _ ByRef cbo As ComboBox, _ ByRef rs As ADODB.Recordset, _ ByRef sField As String, _ Optional sItemDataField As String, _ Optional sFilter As String, _ Optional bDistinct As Boolean _ )
If cbo.ListCount > 0 Then Call cbo.Clear If LenB(sFilter) > 0 Then rs.Filter = "SupplierID = " & sFilter
If rs.RecordCount > 0 Then Call rs.MoveFirst Do Until rs.EOF If bDistinct Then If SendMessage(cbo.hWnd, CB_FINDSTRINGEXACT, -1, ByVal CStr(rs(sField).Value)) = -1 Then Call cbo.AddItem(rs(sField).Value) If LenB(sItemDataField) > 0 Then cbo.ItemData(cbo.NewIndex) = rs(sItemDataField).Value End If Else Call cbo.AddItem(rs(sField).Value) If LenB(sItemDataField) > 0 Then cbo.ItemData(cbo.NewIndex) rs(sItemDataField).Value End If Call rs.MoveNext Loop Call SendMessage(cbo.hWnd, CB_SETCURSEL, 0, ByVal 0&) End If
End Sub '***
-- Cordialement Yanick Lefebvre - MVP pour Visual Basic http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/ http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/ "PePiCK" wrote in message news:% : Bonjour la liste ! : : Bon, j'explique ! : : 2 ComboBox (cbo1 et cbo2) : cbo1 contient la liste d'une table Group : cbo2 contient la liste d'une table SubGroup : : Résultat souhaité, si je choisi un group dans cbo1, je veux que cbo2 : contienne que les SubGroup associé. : : La logique est simple ! : En Access, et ca doit faire trop longtemps que je fais que ca, c'est très : simple : Dans le cbo1, je mettais 2 colonnes, le GroupID et la description, on cache : la première colonne. : On actualise le cbo2 est mettant comme paramêtre le GroupID du cbo1. : Bingo le tour est joué ! : : En VB, on ne peux pas mettre 2 colonnes, donc, si je veux voir la : description, je dois me passer du GroupID : Mais la sa fou en l'air la facilité pour mettre le contenu du cbo2. : : Quel est la façon la plus simple pour parvenir a mes fin ? : : J'ai quelques idées, mais me semble lourde un peu ! : : Merci d'avance pour vos conseils ! : : PePiCK : :
PePiCK
Désolé pour le temps de réponse !
Merci, ca marche très bien ! Pas vilain comme exemple ! :)
PePiCK
"Zoury" a écrit dans le message de news: #
Salut Pepick! :O)
Regarde cette exemple et dis nous si ça convient :
Désolé pour le temps de réponse !
Merci, ca marche très bien !
Pas vilain comme exemple ! :)
PePiCK
"Zoury" <yanick_lefebvre@hotmail.com> a écrit dans le message de news:
#R2pXeYRDHA.1324@TK2MSFTNGP11.phx.gbl...
Salut Pepick! :O)
Regarde cette exemple et dis nous si ça convient :
Merci, ca marche très bien ! Pas vilain comme exemple ! :)
PePiCK
"Zoury" a écrit dans le message de news: #
Salut Pepick! :O)
Regarde cette exemple et dis nous si ça convient :
jhon
salut les gars.
si vous aller chercher le composant DBcombo ( Microsoft Data Bound controls ) ( et il y en a d'autre ), vous tomberez en cherchant un peu sur la propriete BoundColumn, vous presserez alors la touche F1, et vous decouvrirez la magie des composants DB.
-----Message d'origine----- Bonjour la liste !
Bon, j'explique !
2 ComboBox (cbo1 et cbo2) cbo1 contient la liste d'une table Group cbo2 contient la liste d'une table SubGroup
Résultat souhaité, si je choisi un group dans cbo1, je
veux que cbo2
contienne que les SubGroup associé.
La logique est simple ! En Access, et ca doit faire trop longtemps que je fais
que ca, c'est très
simple Dans le cbo1, je mettais 2 colonnes, le GroupID et la
description, on cache
la première colonne. On actualise le cbo2 est mettant comme paramêtre le
GroupID du cbo1.
Bingo le tour est joué !
En VB, on ne peux pas mettre 2 colonnes, donc, si je veux
voir la
description, je dois me passer du GroupID Mais la sa fou en l'air la facilité pour mettre le
contenu du cbo2.
Quel est la façon la plus simple pour parvenir a mes fin ?
J'ai quelques idées, mais me semble lourde un peu !
Merci d'avance pour vos conseils !
PePiCK
.
salut les gars.
si vous aller chercher le composant DBcombo ( Microsoft
Data Bound controls ) ( et il y en a d'autre ), vous
tomberez en cherchant un peu sur la propriete BoundColumn,
vous presserez alors la touche F1, et vous decouvrirez la
magie des composants DB.
-----Message d'origine-----
Bonjour la liste !
Bon, j'explique !
2 ComboBox (cbo1 et cbo2)
cbo1 contient la liste d'une table Group
cbo2 contient la liste d'une table SubGroup
Résultat souhaité, si je choisi un group dans cbo1, je
veux que cbo2
contienne que les SubGroup associé.
La logique est simple !
En Access, et ca doit faire trop longtemps que je fais
que ca, c'est très
simple
Dans le cbo1, je mettais 2 colonnes, le GroupID et la
description, on cache
la première colonne.
On actualise le cbo2 est mettant comme paramêtre le
GroupID du cbo1.
Bingo le tour est joué !
En VB, on ne peux pas mettre 2 colonnes, donc, si je veux
voir la
description, je dois me passer du GroupID
Mais la sa fou en l'air la facilité pour mettre le
contenu du cbo2.
Quel est la façon la plus simple pour parvenir a mes fin ?
J'ai quelques idées, mais me semble lourde un peu !
si vous aller chercher le composant DBcombo ( Microsoft Data Bound controls ) ( et il y en a d'autre ), vous tomberez en cherchant un peu sur la propriete BoundColumn, vous presserez alors la touche F1, et vous decouvrirez la magie des composants DB.
-----Message d'origine----- Bonjour la liste !
Bon, j'explique !
2 ComboBox (cbo1 et cbo2) cbo1 contient la liste d'une table Group cbo2 contient la liste d'une table SubGroup
Résultat souhaité, si je choisi un group dans cbo1, je
veux que cbo2
contienne que les SubGroup associé.
La logique est simple ! En Access, et ca doit faire trop longtemps que je fais
que ca, c'est très
simple Dans le cbo1, je mettais 2 colonnes, le GroupID et la
description, on cache
la première colonne. On actualise le cbo2 est mettant comme paramêtre le
GroupID du cbo1.
Bingo le tour est joué !
En VB, on ne peux pas mettre 2 colonnes, donc, si je veux
voir la
description, je dois me passer du GroupID Mais la sa fou en l'air la facilité pour mettre le
contenu du cbo2.
Quel est la façon la plus simple pour parvenir a mes fin ?
J'ai quelques idées, mais me semble lourde un peu !