Par exemple, comment faire en sorte que lors de la commande AddItem on
puisse ajouter plusieurs colonnes ?
J'ai essayé un truc de ce genre là, mais pas bon :
Me.LstAppels.AddItem rs![NumAppel], rs![DateAppel]
Si tu as une idée ...
Merci
Par exemple, comment faire en sorte que lors de la commande AddItem on
puisse ajouter plusieurs colonnes ?
J'ai essayé un truc de ce genre là, mais pas bon :
Me.LstAppels.AddItem rs![NumAppel], rs![DateAppel]
Si tu as une idée ...
Merci
Par exemple, comment faire en sorte que lors de la commande AddItem on
puisse ajouter plusieurs colonnes ?
J'ai essayé un truc de ce genre là, mais pas bon :
Me.LstAppels.AddItem rs![NumAppel], rs![DateAppel]
Si tu as une idée ...
Merci
j'oubliais,
Pour récupérer la valeur de la 2ème et 3ème colonne par exemple :
Private Sub LaListe_Click()
MsgBox LaListe.Column(1) & " " & LaListe.Column(2)
End Sub
rien de bien neuf, en quelque sorte ;-)
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
j'oubliais,
Pour récupérer la valeur de la 2ème et 3ème colonne par exemple :
Private Sub LaListe_Click()
MsgBox LaListe.Column(1) & " " & LaListe.Column(2)
End Sub
rien de bien neuf, en quelque sorte ;-)
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
j'oubliais,
Pour récupérer la valeur de la 2ème et 3ème colonne par exemple :
Private Sub LaListe_Click()
MsgBox LaListe.Column(1) & " " & LaListe.Column(2)
End Sub
rien de bien neuf, en quelque sorte ;-)
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Ok, impeccable !
Par contre quel est l'intérête de passer par un tableau pour le remplissage
de la listbox ? Est ce que cela est plus propre, ou bien est ce la seule
manière de procéder ?
Merci
Ok, impeccable !
Par contre quel est l'intérête de passer par un tableau pour le remplissage
de la listbox ? Est ce que cela est plus propre, ou bien est ce la seule
manière de procéder ?
Merci
Ok, impeccable !
Par contre quel est l'intérête de passer par un tableau pour le remplissage
de la listbox ? Est ce que cela est plus propre, ou bien est ce la seule
manière de procéder ?
Merci
Bonsoir Raymond,
Je viens de découvrir, mais peut-être un peu tard, pourquoi tes variables
Recordset sont très souvent, voire toujours, nommées RS ;-)
--
A+
Eric
Bonsoir Raymond,
Je viens de découvrir, mais peut-être un peu tard, pourquoi tes variables
Recordset sont très souvent, voire toujours, nommées RS ;-)
--
A+
Eric
Bonsoir Raymond,
Je viens de découvrir, mais peut-être un peu tard, pourquoi tes variables
Recordset sont très souvent, voire toujours, nommées RS ;-)
--
A+
Eric
Bonsoir,
La ListBox des Forms 2.0 est une ListBox dérivée du VB ou du VBA Excel,
je crois, et celle-ci ne supporte pas le colonnage au sens où tu
l'entends, c'est à dire des colonnes réellement séparées. En VB, quand
tu précises plusieurs colonnes, seul le contenu s'affiche sur plusieurs
colonnes mais tu ne peux pas définir ce que tu mets dans chaque colonne.
Par exemple pour 12 valeurs et si la liste a 3 colonnes, tu auras 4
ligne de 3 valeurs, sans pouvoir affecter tes valeurs aux colonnes.
Donc, il n'était pas possible de faire un .AddItem rst!champ1,
rst!champ2 ; au mieux mettre un champ par le AddItem et un autre via la
propriété ItemData mais alors il faut une valeur numérique et différente
pour chaque item.
Pour réaliser ce que tu voulais, je n'avais pas d'autre choix, mais je
n'ai pas tout exploité, que de passer par un tableau et d'utiliser la
propriété List() ou Column().
Avec la propriété List(): les enregistrements sont placés les uns sous
les autres, les champs cote à cote, ce que tu attendais je pense.
Avec la propriété Column(), les enregistrements sont placés cote à cote
et les champs les uns sous les autres pour chaque enregistrement. Et
avec cette méthode, je ne sais pas comment tu aurais pu récupérer la
valeur du 2ème champ de la 2ème colonne par exemple. (A approfndir
certainement).
Ainsi, si ton jeu contient 12 enregistrements de trois champs :
Avec List() , tu auras 12 lignes à 3 champs, 1 ligne = 1 enregistrement
Avec Colum(), 12 colonnes de 3 champs, 1 colonne = 1 enregistrement
Plus clair ?
PS : la solution que te propose Raymond est bien aussi et certainement
plus facile à mettre en oeuvre. Moi j'ai poursuivi 'comme pour relever
le défi' que pose Access2000 avec la méthode AddItem. Ca faisait
longtemps que je voulais tester cette solution mais n'en ai jamais eu
l'occasion. Tu me l'as proposé ! A toi de me dire, un jour peut-être, si
c'était efficace et si ça en valait la peine. ;-)Ok, impeccable !
Par contre quel est l'intérête de passer par un tableau pour le
remplissage
de la listbox ? Est ce que cela est plus propre, ou bien est ce la seule
manière de procéder ?
Merci
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonsoir,
La ListBox des Forms 2.0 est une ListBox dérivée du VB ou du VBA Excel,
je crois, et celle-ci ne supporte pas le colonnage au sens où tu
l'entends, c'est à dire des colonnes réellement séparées. En VB, quand
tu précises plusieurs colonnes, seul le contenu s'affiche sur plusieurs
colonnes mais tu ne peux pas définir ce que tu mets dans chaque colonne.
Par exemple pour 12 valeurs et si la liste a 3 colonnes, tu auras 4
ligne de 3 valeurs, sans pouvoir affecter tes valeurs aux colonnes.
Donc, il n'était pas possible de faire un .AddItem rst!champ1,
rst!champ2 ; au mieux mettre un champ par le AddItem et un autre via la
propriété ItemData mais alors il faut une valeur numérique et différente
pour chaque item.
Pour réaliser ce que tu voulais, je n'avais pas d'autre choix, mais je
n'ai pas tout exploité, que de passer par un tableau et d'utiliser la
propriété List() ou Column().
Avec la propriété List(): les enregistrements sont placés les uns sous
les autres, les champs cote à cote, ce que tu attendais je pense.
Avec la propriété Column(), les enregistrements sont placés cote à cote
et les champs les uns sous les autres pour chaque enregistrement. Et
avec cette méthode, je ne sais pas comment tu aurais pu récupérer la
valeur du 2ème champ de la 2ème colonne par exemple. (A approfndir
certainement).
Ainsi, si ton jeu contient 12 enregistrements de trois champs :
Avec List() , tu auras 12 lignes à 3 champs, 1 ligne = 1 enregistrement
Avec Colum(), 12 colonnes de 3 champs, 1 colonne = 1 enregistrement
Plus clair ?
PS : la solution que te propose Raymond est bien aussi et certainement
plus facile à mettre en oeuvre. Moi j'ai poursuivi 'comme pour relever
le défi' que pose Access2000 avec la méthode AddItem. Ca faisait
longtemps que je voulais tester cette solution mais n'en ai jamais eu
l'occasion. Tu me l'as proposé ! A toi de me dire, un jour peut-être, si
c'était efficace et si ça en valait la peine. ;-)
Ok, impeccable !
Par contre quel est l'intérête de passer par un tableau pour le
remplissage
de la listbox ? Est ce que cela est plus propre, ou bien est ce la seule
manière de procéder ?
Merci
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonsoir,
La ListBox des Forms 2.0 est une ListBox dérivée du VB ou du VBA Excel,
je crois, et celle-ci ne supporte pas le colonnage au sens où tu
l'entends, c'est à dire des colonnes réellement séparées. En VB, quand
tu précises plusieurs colonnes, seul le contenu s'affiche sur plusieurs
colonnes mais tu ne peux pas définir ce que tu mets dans chaque colonne.
Par exemple pour 12 valeurs et si la liste a 3 colonnes, tu auras 4
ligne de 3 valeurs, sans pouvoir affecter tes valeurs aux colonnes.
Donc, il n'était pas possible de faire un .AddItem rst!champ1,
rst!champ2 ; au mieux mettre un champ par le AddItem et un autre via la
propriété ItemData mais alors il faut une valeur numérique et différente
pour chaque item.
Pour réaliser ce que tu voulais, je n'avais pas d'autre choix, mais je
n'ai pas tout exploité, que de passer par un tableau et d'utiliser la
propriété List() ou Column().
Avec la propriété List(): les enregistrements sont placés les uns sous
les autres, les champs cote à cote, ce que tu attendais je pense.
Avec la propriété Column(), les enregistrements sont placés cote à cote
et les champs les uns sous les autres pour chaque enregistrement. Et
avec cette méthode, je ne sais pas comment tu aurais pu récupérer la
valeur du 2ème champ de la 2ème colonne par exemple. (A approfndir
certainement).
Ainsi, si ton jeu contient 12 enregistrements de trois champs :
Avec List() , tu auras 12 lignes à 3 champs, 1 ligne = 1 enregistrement
Avec Colum(), 12 colonnes de 3 champs, 1 colonne = 1 enregistrement
Plus clair ?
PS : la solution que te propose Raymond est bien aussi et certainement
plus facile à mettre en oeuvre. Moi j'ai poursuivi 'comme pour relever
le défi' que pose Access2000 avec la méthode AddItem. Ca faisait
longtemps que je voulais tester cette solution mais n'en ai jamais eu
l'occasion. Tu me l'as proposé ! A toi de me dire, un jour peut-être, si
c'était efficace et si ça en valait la peine. ;-)Ok, impeccable !
Par contre quel est l'intérête de passer par un tableau pour le
remplissage
de la listbox ? Est ce que cela est plus propre, ou bien est ce la seule
manière de procéder ?
Merci
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
si c'est juste pour ça passe par la combobox standard et charge le
rowsource
:
Dim RS As DAO.Recordset
Set RS = CurrentDb.OpenRecordset("SELECT TblAppels.NumAppel FROM TblAppels
WHERE ... etc ...
RS.MoveFirst
Me.LstAppels.RowSource = ""
Do Until RS.EOF
Me.LstAppels.RowSource = Me.LstAppels.RowSource & RS![NumAppel] & ";"
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum
Formez-vous en ligne grâce aux Webcasts Microsoft Technet :
http://www.microsoft.com/france/technet/seminaires/webcasts.mspx
"Laurent Merlet" a écrit dans le message de
news: 43886468$0$18335$En fait c'est la manière que j'utilisais jusqu'à maintenant, sauf que je
me
suis aperçu que cette méthode laissait des recordset ouvert sur la table
à
partir du moment où le formulaire est ouvert. Et cela m'embetait car ça
provoquait des ralentissements lorsqu'un second utilisateur voulait
accéder
à cette même table.
D'où j'ai décidé de changer de méthode et de remplir les listbox au
chargement du formulaire puis de relâcher les recordset ouverts.
Qu'en penses tu ?
"Raymond [mvp]" a écrit dans le
message
de
news:Bonjour.
access 2000 ne gère pas les additem, seulement 2002 et 2003.
d'autre part indique directement ton recordset dans le contenu sans
avoir
àajouter de données.
Me.LstAppels.RowSource = "SELECT TblAppels.NumAppel FROM TblAppels
WHERE
..etc .... ;"
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum
Formez-vous en ligne grâce aux Webcasts Microsoft Technet :
http://www.microsoft.com/france/technet/seminaires/webcasts.mspx
"Laurent Merlet" a écrit dans le message de
news: 43885bb4$0$6644$Bonjour à tous,
Je souhaiterai remplir ma listbox avec la méthode AddItem à partir
d'un
recordset, voici comment je procède :
Set rs = CurrentDb.OpenRecordset("SELECT TblAppels.NumAppel,
TblAppels.DateAppel, TblAppels.Contact, TblAppels.TypeAppel,
TblAppels.DateTraitement, TblAppels.Destinataire FROM TblAppels WHERE
TblAppels.TypeEmetteur ='Client Sun Service SAS' and TblAppels.Traite
= -1and TblAppels.NumClient = " & VarNumClient & " ORDER BY
TblAppels.DateAppel
")
rs.MoveFirst
Me.LstAppels.Clear
Do Until rs.EOF
Me.LstAppels.AddItem rs![NumAppel]
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Le problème est qu'au déboggage il ne me reconnait pas les propriétés
.Clear
et .AddItem. Pourtant ces propriétés sont disponibles dans la
bibliothèqueMSForms / ListBox /
D'avance merci
Laurent
Pour info je suis sous Access 2000 SP3
si c'est juste pour ça passe par la combobox standard et charge le
rowsource
:
Dim RS As DAO.Recordset
Set RS = CurrentDb.OpenRecordset("SELECT TblAppels.NumAppel FROM TblAppels
WHERE ... etc ...
RS.MoveFirst
Me.LstAppels.RowSource = ""
Do Until RS.EOF
Me.LstAppels.RowSource = Me.LstAppels.RowSource & RS![NumAppel] & ";"
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum
Formez-vous en ligne grâce aux Webcasts Microsoft Technet :
http://www.microsoft.com/france/technet/seminaires/webcasts.mspx
"Laurent Merlet" <laurent.merlet@wanadoo.fr> a écrit dans le message de
news: 43886468$0$18335$8fcfb975@news.wanadoo.fr...
En fait c'est la manière que j'utilisais jusqu'à maintenant, sauf que je
me
suis aperçu que cette méthode laissait des recordset ouvert sur la table
à
partir du moment où le formulaire est ouvert. Et cela m'embetait car ça
provoquait des ralentissements lorsqu'un second utilisateur voulait
accéder
à cette même table.
D'où j'ai décidé de changer de méthode et de remplir les listbox au
chargement du formulaire puis de relâcher les recordset ouverts.
Qu'en penses tu ?
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le
message
de
news:euRAmwo8FHA.1020@TK2MSFTNGP15.phx.gbl...
Bonjour.
access 2000 ne gère pas les additem, seulement 2002 et 2003.
d'autre part indique directement ton recordset dans le contenu sans
avoir
à
ajouter de données.
Me.LstAppels.RowSource = "SELECT TblAppels.NumAppel FROM TblAppels
WHERE
..
etc .... ;"
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum
Formez-vous en ligne grâce aux Webcasts Microsoft Technet :
http://www.microsoft.com/france/technet/seminaires/webcasts.mspx
"Laurent Merlet" <laurent.merlet@wanadoo.fr> a écrit dans le message de
news: 43885bb4$0$6644$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
Je souhaiterai remplir ma listbox avec la méthode AddItem à partir
d'un
recordset, voici comment je procède :
Set rs = CurrentDb.OpenRecordset("SELECT TblAppels.NumAppel,
TblAppels.DateAppel, TblAppels.Contact, TblAppels.TypeAppel,
TblAppels.DateTraitement, TblAppels.Destinataire FROM TblAppels WHERE
TblAppels.TypeEmetteur ='Client Sun Service SAS' and TblAppels.Traite
= -1
and TblAppels.NumClient = " & VarNumClient & " ORDER BY
TblAppels.DateAppel
")
rs.MoveFirst
Me.LstAppels.Clear
Do Until rs.EOF
Me.LstAppels.AddItem rs![NumAppel]
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Le problème est qu'au déboggage il ne me reconnait pas les propriétés
.Clear
et .AddItem. Pourtant ces propriétés sont disponibles dans la
bibliothèque
MSForms / ListBox /
D'avance merci
Laurent
Pour info je suis sous Access 2000 SP3
si c'est juste pour ça passe par la combobox standard et charge le
rowsource
:
Dim RS As DAO.Recordset
Set RS = CurrentDb.OpenRecordset("SELECT TblAppels.NumAppel FROM TblAppels
WHERE ... etc ...
RS.MoveFirst
Me.LstAppels.RowSource = ""
Do Until RS.EOF
Me.LstAppels.RowSource = Me.LstAppels.RowSource & RS![NumAppel] & ";"
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum
Formez-vous en ligne grâce aux Webcasts Microsoft Technet :
http://www.microsoft.com/france/technet/seminaires/webcasts.mspx
"Laurent Merlet" a écrit dans le message de
news: 43886468$0$18335$En fait c'est la manière que j'utilisais jusqu'à maintenant, sauf que je
me
suis aperçu que cette méthode laissait des recordset ouvert sur la table
à
partir du moment où le formulaire est ouvert. Et cela m'embetait car ça
provoquait des ralentissements lorsqu'un second utilisateur voulait
accéder
à cette même table.
D'où j'ai décidé de changer de méthode et de remplir les listbox au
chargement du formulaire puis de relâcher les recordset ouverts.
Qu'en penses tu ?
"Raymond [mvp]" a écrit dans le
message
de
news:Bonjour.
access 2000 ne gère pas les additem, seulement 2002 et 2003.
d'autre part indique directement ton recordset dans le contenu sans
avoir
àajouter de données.
Me.LstAppels.RowSource = "SELECT TblAppels.NumAppel FROM TblAppels
WHERE
..etc .... ;"
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum
Formez-vous en ligne grâce aux Webcasts Microsoft Technet :
http://www.microsoft.com/france/technet/seminaires/webcasts.mspx
"Laurent Merlet" a écrit dans le message de
news: 43885bb4$0$6644$Bonjour à tous,
Je souhaiterai remplir ma listbox avec la méthode AddItem à partir
d'un
recordset, voici comment je procède :
Set rs = CurrentDb.OpenRecordset("SELECT TblAppels.NumAppel,
TblAppels.DateAppel, TblAppels.Contact, TblAppels.TypeAppel,
TblAppels.DateTraitement, TblAppels.Destinataire FROM TblAppels WHERE
TblAppels.TypeEmetteur ='Client Sun Service SAS' and TblAppels.Traite
= -1and TblAppels.NumClient = " & VarNumClient & " ORDER BY
TblAppels.DateAppel
")
rs.MoveFirst
Me.LstAppels.Clear
Do Until rs.EOF
Me.LstAppels.AddItem rs![NumAppel]
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Le problème est qu'au déboggage il ne me reconnait pas les propriétés
.Clear
et .AddItem. Pourtant ces propriétés sont disponibles dans la
bibliothèqueMSForms / ListBox /
D'avance merci
Laurent
Pour info je suis sous Access 2000 SP3
Je reviens sur ta manière de procéder, que j'ai mis en place : un problème
se pose lorsqu'il y a trop de données dans le recordset à charger dans la
listbox , il me met "Erreur d'exécution 2176 : le paramètre de cette
propriété est trop long "
Serait ce une des limites de ce genre de solutions ... ?
D'avance merci !
Laurent
Je reviens sur ta manière de procéder, que j'ai mis en place : un problème
se pose lorsqu'il y a trop de données dans le recordset à charger dans la
listbox , il me met "Erreur d'exécution 2176 : le paramètre de cette
propriété est trop long "
Serait ce une des limites de ce genre de solutions ... ?
D'avance merci !
Laurent
Je reviens sur ta manière de procéder, que j'ai mis en place : un problème
se pose lorsqu'il y a trop de données dans le recordset à charger dans la
listbox , il me met "Erreur d'exécution 2176 : le paramètre de cette
propriété est trop long "
Serait ce une des limites de ce genre de solutions ... ?
D'avance merci !
Laurent
Bonjour à tous,
Je souhaiterai remplir ma listbox avec la méthode AddItem à partir d'un
recordset, voici comment je procède :
Set rs = CurrentDb.OpenRecordset("SELECT TblAppels.NumAppel,
TblAppels.DateAppel, TblAppels.Contact, TblAppels.TypeAppel,
TblAppels.DateTraitement, TblAppels.Destinataire FROM TblAppels WHERE
TblAppels.TypeEmetteur ='Client Sun Service SAS' and TblAppels.Traite = -1
and TblAppels.NumClient = " & VarNumClient & " ORDER BY
TblAppels.DateAppel
")
rs.MoveFirst
Me.LstAppels.Clear
Do Until rs.EOF
Me.LstAppels.AddItem rs![NumAppel]
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Le problème est qu'au déboggage il ne me reconnait pas les propriétés
.Clear
et .AddItem. Pourtant ces propriétés sont disponibles dans la bibliothèque
MSForms / ListBox /
D'avance merci
Laurent
Pour info je suis sous Access 2000 SP3
Bonjour à tous,
Je souhaiterai remplir ma listbox avec la méthode AddItem à partir d'un
recordset, voici comment je procède :
Set rs = CurrentDb.OpenRecordset("SELECT TblAppels.NumAppel,
TblAppels.DateAppel, TblAppels.Contact, TblAppels.TypeAppel,
TblAppels.DateTraitement, TblAppels.Destinataire FROM TblAppels WHERE
TblAppels.TypeEmetteur ='Client Sun Service SAS' and TblAppels.Traite = -1
and TblAppels.NumClient = " & VarNumClient & " ORDER BY
TblAppels.DateAppel
")
rs.MoveFirst
Me.LstAppels.Clear
Do Until rs.EOF
Me.LstAppels.AddItem rs![NumAppel]
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Le problème est qu'au déboggage il ne me reconnait pas les propriétés
.Clear
et .AddItem. Pourtant ces propriétés sont disponibles dans la bibliothèque
MSForms / ListBox /
D'avance merci
Laurent
Pour info je suis sous Access 2000 SP3
Bonjour à tous,
Je souhaiterai remplir ma listbox avec la méthode AddItem à partir d'un
recordset, voici comment je procède :
Set rs = CurrentDb.OpenRecordset("SELECT TblAppels.NumAppel,
TblAppels.DateAppel, TblAppels.Contact, TblAppels.TypeAppel,
TblAppels.DateTraitement, TblAppels.Destinataire FROM TblAppels WHERE
TblAppels.TypeEmetteur ='Client Sun Service SAS' and TblAppels.Traite = -1
and TblAppels.NumClient = " & VarNumClient & " ORDER BY
TblAppels.DateAppel
")
rs.MoveFirst
Me.LstAppels.Clear
Do Until rs.EOF
Me.LstAppels.AddItem rs![NumAppel]
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Le problème est qu'au déboggage il ne me reconnait pas les propriétés
.Clear
et .AddItem. Pourtant ces propriétés sont disponibles dans la bibliothèque
MSForms / ListBox /
D'avance merci
Laurent
Pour info je suis sous Access 2000 SP3