=E0 la suite de ma pr=E9c=E9dente question, j'ai un beug sur la=20
boucle des sous-type.
En fait je voudrais afficher les types et sous-types=20
(table access) dans un listview avec une arboescence comme=20
si c'=E9tait des fichiers, voici mon code (les lignes de=20
code pour l'affichage sont elles completes ?)
Call MyFonctions.InitConnection
'Nombre de type de d=E9penses dans la table
Call MyFonctions.ExecSQL("Select * from depenseACFCI2002=20
where Mid(IDdepense,3,2)=3D'" & "00" & "'", ADOrst, ADOcnx)
nt =3D ADOrst.RecordCount
'remplissage du Listview
Call MyFonctions.ExecSQL("Select * from depenseACFCI2002=20
where Mid(IDdepense,3,2)=3D'" & "00" & "'", ADOrst, ADOcnx)
=20
If ADOrst.RecordCount <> 0 Then
Do Until ADOrst.EOF
nbStype =3D 0
szKey =3D "%T%" & CStr(nt)
'=E9num=E8re le type de d=E9penses
Tpe =3D ADOrst("libelle")
IDtype =3D ADOrst("IDdepense")
Set nd =3D LVDepense.Nodes.Add(, , szKey, Tpe)
=20
'Nombre de sous-type dans le type
Call MyFonctions.ExecSQLplus("Select * from=20
depenseACFCI2002 where left(IDdepense,2)=3D'" & left(IDtype,=20
2) & "' and " & "Len(IDdepense)=3D4", ADOrstplus, ADOcnx)
nst =3D ADOrstplus.RecordCount
=20
'enumere le sous type de d=E9penses
Call MyFonctions.ExecSQLplus("Select * from=20
depenseACFCI2002 where left(IDdepense,2)=3D'" & left(IDtype,=20
2) & "' and " & "Len(IDdepense)=3D4", ADOrstplus, ADOcnx)
If ADOrstplus.RecordCount <> 0 Then
Do Until ADOrstplus.EOF
nbStype =3D nbStype + 1
szKey2 =3D szKey & "%ST%" & CStr(nst)
STpe =3D ADOrstplus("libelle")
Set nd =3D LVDepense.Nodes.Add(nd.Index, szKey2,=20
STpe)
ADOrstplus.MoveNext
Loop ' end Sous-type
ADOrst.MoveNext
Loop ' end Type
End If
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
Zoury
Salut Jean-Claude! :O)
Peux-tu nous expliquer plus en détail ce que contienne les champs IDdepense et IDtype ? tu sembles aller des parties de l'information de qu'elle contienne ( avec Mid et Left ).. je veux dire, que signifie Left(IDdepense, 2) et Mid(IDdepense, 3, 2) par exemple ? J'ai l'impression que tu pourrais remplir ton treeview en une seule boucle...
aussi juste une petite remarque :
'Nombre de type de dépenses dans la table Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst, ADOcnx) nt = ADOrst.RecordCount 'remplissage du Listview Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst, ADOcnx)
If ADOrst.RecordCount <> 0 Then
pourquoi exécuter la même requête 2 fois de suite ? (tu le fais aussi pour les sous-types) tu perds un temps précieux ;O)
Peux-tu nous expliquer plus en détail ce que contienne les champs IDdepense
et IDtype ? tu sembles aller des parties de l'information de qu'elle
contienne ( avec Mid et Left ).. je veux dire, que signifie Left(IDdepense,
2) et Mid(IDdepense, 3, 2) par exemple ? J'ai l'impression que tu pourrais
remplir ton treeview en une seule boucle...
aussi juste une petite remarque :
'Nombre de type de dépenses dans la table
Call MyFonctions.ExecSQL("Select * from depenseACFCI2002
where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst, ADOcnx)
nt = ADOrst.RecordCount
'remplissage du Listview
Call MyFonctions.ExecSQL("Select * from depenseACFCI2002
where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst, ADOcnx)
If ADOrst.RecordCount <> 0 Then
pourquoi exécuter la même requête 2 fois de suite ? (tu le fais aussi pour
les sous-types) tu perds un temps précieux ;O)
Peux-tu nous expliquer plus en détail ce que contienne les champs IDdepense et IDtype ? tu sembles aller des parties de l'information de qu'elle contienne ( avec Mid et Left ).. je veux dire, que signifie Left(IDdepense, 2) et Mid(IDdepense, 3, 2) par exemple ? J'ai l'impression que tu pourrais remplir ton treeview en une seule boucle...
aussi juste une petite remarque :
'Nombre de type de dépenses dans la table Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst, ADOcnx) nt = ADOrst.RecordCount 'remplissage du Listview Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst, ADOcnx)
If ADOrst.RecordCount <> 0 Then
pourquoi exécuter la même requête 2 fois de suite ? (tu le fais aussi pour les sous-types) tu perds un temps précieux ;O)
Ma table Access contient des enregistrements qui correspondent à des types de dépenses, avec un code IDdepenses qui peut etre AL00 ou AL01 ou AL01_01. les deux premiéres lettre correspondent au type de depense (AL00)et les deux chiffres suivants au sous-type (AL01 à AL10) et les deux chiffres suivants le tiret bas le détail du sous-type.
Je veux afficher dans la premiere colonne du listview le type et dans la seconde les sous-types correspondant au type et éventuellement le détail du sous-type dans une troisième colonne.
Je voudrais un affichage avec une arborescence et des cases à cocher sur chaque ligne pour pouvoir sélectionner les dépenses qui m'interessent.
Comment coder le listview pour arriver à cela et comment ensuite retrouver les dépenses sélectionnées.
Peux-tu nous expliquer plus en détail ce que contienne
les champs IDdepense
et IDtype ? tu sembles aller des parties de l'information
de qu'elle
contienne ( avec Mid et Left ).. je veux dire, que
signifie Left(IDdepense,
2) et Mid(IDdepense, 3, 2) par exemple ? J'ai
l'impression que tu pourrais
remplir ton treeview en une seule boucle...
aussi juste une petite remarque :
'Nombre de type de dépenses dans la table Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
nt = ADOrst.RecordCount 'remplissage du Listview Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
If ADOrst.RecordCount <> 0 Then
pourquoi exécuter la même requête 2 fois de suite ? (tu
Ma table Access contient des enregistrements qui
correspondent à des types de dépenses, avec un code
IDdepenses qui peut etre AL00 ou AL01 ou AL01_01.
les deux premiéres lettre correspondent au type de depense
(AL00)et les deux chiffres suivants au sous-type (AL01 à
AL10) et les deux chiffres suivants le tiret bas le détail
du sous-type.
Je veux afficher dans la premiere colonne du listview le
type et dans la seconde les sous-types correspondant au
type et éventuellement le détail du sous-type dans une
troisième colonne.
Je voudrais un affichage avec une arborescence et des
cases à cocher sur chaque ligne pour pouvoir sélectionner
les dépenses qui m'interessent.
Comment coder le listview pour arriver à cela et comment
ensuite retrouver les dépenses sélectionnées.
Peux-tu nous expliquer plus en détail ce que contienne
les champs IDdepense
et IDtype ? tu sembles aller des parties de l'information
de qu'elle
contienne ( avec Mid et Left ).. je veux dire, que
signifie Left(IDdepense,
2) et Mid(IDdepense, 3, 2) par exemple ? J'ai
l'impression que tu pourrais
remplir ton treeview en une seule boucle...
aussi juste une petite remarque :
'Nombre de type de dépenses dans la table
Call MyFonctions.ExecSQL("Select * from depenseACFCI2002
where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
nt = ADOrst.RecordCount
'remplissage du Listview
Call MyFonctions.ExecSQL("Select * from depenseACFCI2002
where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
If ADOrst.RecordCount <> 0 Then
pourquoi exécuter la même requête 2 fois de suite ? (tu
Ma table Access contient des enregistrements qui correspondent à des types de dépenses, avec un code IDdepenses qui peut etre AL00 ou AL01 ou AL01_01. les deux premiéres lettre correspondent au type de depense (AL00)et les deux chiffres suivants au sous-type (AL01 à AL10) et les deux chiffres suivants le tiret bas le détail du sous-type.
Je veux afficher dans la premiere colonne du listview le type et dans la seconde les sous-types correspondant au type et éventuellement le détail du sous-type dans une troisième colonne.
Je voudrais un affichage avec une arborescence et des cases à cocher sur chaque ligne pour pouvoir sélectionner les dépenses qui m'interessent.
Comment coder le listview pour arriver à cela et comment ensuite retrouver les dépenses sélectionnées.
Peux-tu nous expliquer plus en détail ce que contienne
les champs IDdepense
et IDtype ? tu sembles aller des parties de l'information
de qu'elle
contienne ( avec Mid et Left ).. je veux dire, que
signifie Left(IDdepense,
2) et Mid(IDdepense, 3, 2) par exemple ? J'ai
l'impression que tu pourrais
remplir ton treeview en une seule boucle...
aussi juste une petite remarque :
'Nombre de type de dépenses dans la table Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
nt = ADOrst.RecordCount 'remplissage du Listview Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
If ADOrst.RecordCount <> 0 Then
pourquoi exécuter la même requête 2 fois de suite ? (tu
Regarde cet exemple ne pourrait pas t'inspirer... Je n'ai pas le listview hierarchique ici alors j'ai un treeview car la logique est la même. '*** ' Form1 Option Explicit
Private Sub Form_Load() Call FillTreeView(GetRecordSet()) End Sub
Private Function GetRecordSet() As ADODB.Recordset
Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset
' ajoute la colonne Call rs.Fields.Append("IDdepense", adVarChar, 10)
Private Sub AddRecord(ByRef rs As ADODB.Recordset, ByRef sValue As String) rs.AddNew rs.Fields("IDdepense").Value = sValue rs.Update End Sub
Private Sub FillTreeView(ByRef rs As ADODB.Recordset)
Dim sValue As String Dim sTypeValue As String Dim sSousTypeValue As String Dim sSousSousTypeValue As String Dim sTypeKey As String Dim sSousTypeKey As String Dim sSousSousTypeKey As String Dim sOldTypeValue As String Dim sOldSousTypeValue As String
If (sTypeValue > sOldTypeValue) Then Call TreeView1.Nodes.Add(, , sTypeKey, sTypeValue) sOldSousTypeValue = "" End If If (sSousTypeValue > sOldSousTypeValue) Then Call TreeView1.Nodes.Add(sTypeKey, tvwChild, sSousTypeKey, sSousTypeValue) End If Call TreeView1.Nodes.Add(sSousTypeKey, tvwChild, sSousSousTypeKey, sSousSousTypeValue)
"JCM" a écrit dans le message de news:2dc9a01c46a31$0aacb910$ Salut ZOURY
Ma table Access contient des enregistrements qui correspondent à des types de dépenses, avec un code IDdepenses qui peut etre AL00 ou AL01 ou AL01_01. les deux premiéres lettre correspondent au type de depense (AL00)et les deux chiffres suivants au sous-type (AL01 à AL10) et les deux chiffres suivants le tiret bas le détail du sous-type.
Je veux afficher dans la premiere colonne du listview le type et dans la seconde les sous-types correspondant au type et éventuellement le détail du sous-type dans une troisième colonne.
Je voudrais un affichage avec une arborescence et des cases à cocher sur chaque ligne pour pouvoir sélectionner les dépenses qui m'interessent.
Comment coder le listview pour arriver à cela et comment ensuite retrouver les dépenses sélectionnées.
Peux-tu nous expliquer plus en détail ce que contienne
les champs IDdepense
et IDtype ? tu sembles aller des parties de l'information
de qu'elle
contienne ( avec Mid et Left ).. je veux dire, que
signifie Left(IDdepense,
2) et Mid(IDdepense, 3, 2) par exemple ? J'ai
l'impression que tu pourrais
remplir ton treeview en une seule boucle...
aussi juste une petite remarque :
'Nombre de type de dépenses dans la table Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
nt = ADOrst.RecordCount 'remplissage du Listview Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
If ADOrst.RecordCount <> 0 Then
pourquoi exécuter la même requête 2 fois de suite ? (tu
Regarde cet exemple ne pourrait pas t'inspirer... Je n'ai pas le listview
hierarchique ici alors j'ai un treeview car la logique est la même.
'***
' Form1
Option Explicit
Private Sub Form_Load()
Call FillTreeView(GetRecordSet())
End Sub
Private Function GetRecordSet() As ADODB.Recordset
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
' ajoute la colonne
Call rs.Fields.Append("IDdepense", adVarChar, 10)
Private Sub AddRecord(ByRef rs As ADODB.Recordset, ByRef sValue As String)
rs.AddNew
rs.Fields("IDdepense").Value = sValue
rs.Update
End Sub
Private Sub FillTreeView(ByRef rs As ADODB.Recordset)
Dim sValue As String
Dim sTypeValue As String
Dim sSousTypeValue As String
Dim sSousSousTypeValue As String
Dim sTypeKey As String
Dim sSousTypeKey As String
Dim sSousSousTypeKey As String
Dim sOldTypeValue As String
Dim sOldSousTypeValue As String
If (sTypeValue > sOldTypeValue) Then
Call TreeView1.Nodes.Add(, , sTypeKey, sTypeValue)
sOldSousTypeValue = ""
End If
If (sSousTypeValue > sOldSousTypeValue) Then
Call TreeView1.Nodes.Add(sTypeKey, tvwChild, sSousTypeKey,
sSousTypeValue)
End If
Call TreeView1.Nodes.Add(sSousTypeKey, tvwChild, sSousSousTypeKey,
sSousSousTypeValue)
"JCM" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news:2dc9a01c46a31$0aacb910$a301280a@phx.gbl...
Salut ZOURY
Ma table Access contient des enregistrements qui
correspondent à des types de dépenses, avec un code
IDdepenses qui peut etre AL00 ou AL01 ou AL01_01.
les deux premiéres lettre correspondent au type de depense
(AL00)et les deux chiffres suivants au sous-type (AL01 à
AL10) et les deux chiffres suivants le tiret bas le détail
du sous-type.
Je veux afficher dans la premiere colonne du listview le
type et dans la seconde les sous-types correspondant au
type et éventuellement le détail du sous-type dans une
troisième colonne.
Je voudrais un affichage avec une arborescence et des
cases à cocher sur chaque ligne pour pouvoir sélectionner
les dépenses qui m'interessent.
Comment coder le listview pour arriver à cela et comment
ensuite retrouver les dépenses sélectionnées.
Peux-tu nous expliquer plus en détail ce que contienne
les champs IDdepense
et IDtype ? tu sembles aller des parties de l'information
de qu'elle
contienne ( avec Mid et Left ).. je veux dire, que
signifie Left(IDdepense,
2) et Mid(IDdepense, 3, 2) par exemple ? J'ai
l'impression que tu pourrais
remplir ton treeview en une seule boucle...
aussi juste une petite remarque :
'Nombre de type de dépenses dans la table
Call MyFonctions.ExecSQL("Select * from depenseACFCI2002
where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
nt = ADOrst.RecordCount
'remplissage du Listview
Call MyFonctions.ExecSQL("Select * from depenseACFCI2002
where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
If ADOrst.RecordCount <> 0 Then
pourquoi exécuter la même requête 2 fois de suite ? (tu
Regarde cet exemple ne pourrait pas t'inspirer... Je n'ai pas le listview hierarchique ici alors j'ai un treeview car la logique est la même. '*** ' Form1 Option Explicit
Private Sub Form_Load() Call FillTreeView(GetRecordSet()) End Sub
Private Function GetRecordSet() As ADODB.Recordset
Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset
' ajoute la colonne Call rs.Fields.Append("IDdepense", adVarChar, 10)
Private Sub AddRecord(ByRef rs As ADODB.Recordset, ByRef sValue As String) rs.AddNew rs.Fields("IDdepense").Value = sValue rs.Update End Sub
Private Sub FillTreeView(ByRef rs As ADODB.Recordset)
Dim sValue As String Dim sTypeValue As String Dim sSousTypeValue As String Dim sSousSousTypeValue As String Dim sTypeKey As String Dim sSousTypeKey As String Dim sSousSousTypeKey As String Dim sOldTypeValue As String Dim sOldSousTypeValue As String
If (sTypeValue > sOldTypeValue) Then Call TreeView1.Nodes.Add(, , sTypeKey, sTypeValue) sOldSousTypeValue = "" End If If (sSousTypeValue > sOldSousTypeValue) Then Call TreeView1.Nodes.Add(sTypeKey, tvwChild, sSousTypeKey, sSousTypeValue) End If Call TreeView1.Nodes.Add(sSousTypeKey, tvwChild, sSousSousTypeKey, sSousSousTypeValue)
"JCM" a écrit dans le message de news:2dc9a01c46a31$0aacb910$ Salut ZOURY
Ma table Access contient des enregistrements qui correspondent à des types de dépenses, avec un code IDdepenses qui peut etre AL00 ou AL01 ou AL01_01. les deux premiéres lettre correspondent au type de depense (AL00)et les deux chiffres suivants au sous-type (AL01 à AL10) et les deux chiffres suivants le tiret bas le détail du sous-type.
Je veux afficher dans la premiere colonne du listview le type et dans la seconde les sous-types correspondant au type et éventuellement le détail du sous-type dans une troisième colonne.
Je voudrais un affichage avec une arborescence et des cases à cocher sur chaque ligne pour pouvoir sélectionner les dépenses qui m'interessent.
Comment coder le listview pour arriver à cela et comment ensuite retrouver les dépenses sélectionnées.
Peux-tu nous expliquer plus en détail ce que contienne
les champs IDdepense
et IDtype ? tu sembles aller des parties de l'information
de qu'elle
contienne ( avec Mid et Left ).. je veux dire, que
signifie Left(IDdepense,
2) et Mid(IDdepense, 3, 2) par exemple ? J'ai
l'impression que tu pourrais
remplir ton treeview en une seule boucle...
aussi juste une petite remarque :
'Nombre de type de dépenses dans la table Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
nt = ADOrst.RecordCount 'remplissage du Listview Call MyFonctions.ExecSQL("Select * from depenseACFCI2002 where Mid(IDdepense,3,2)='" & "00" & "'", ADOrst,
ADOcnx)
If ADOrst.RecordCount <> 0 Then
pourquoi exécuter la même requête 2 fois de suite ? (tu
Le code nécessite la référence Microsoft ActiveX Data Object 2.X Library et la composante Microsoft Common Controls 6.0 (SP6). et tu dois ajouter un TreeView sur le formulaire
Le code nécessite la référence Microsoft ActiveX Data Object 2.X Library et
la composante Microsoft Common Controls 6.0 (SP6).
et tu dois ajouter un TreeView sur le formulaire
Le code nécessite la référence Microsoft ActiveX Data Object 2.X Library et la composante Microsoft Common Controls 6.0 (SP6). et tu dois ajouter un TreeView sur le formulaire