Je suis en train de batailler depuis un moment sur un sujet depuis un bon
moment... Je n'arrive pas à m'en dépatouiller.
Je m'explique.
Je cherche à importer dans une listbox excel des enregistrements d'une base
de données Access. Cela fonctionne.
Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ
et c'est là que ça coince.
voici mon code
_________________________________________________________________
Dim Conn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Cat As New ADOX.Catalog
Dim indexTri As New ADOX.Index
Dim i As Byte
Dim L As Long, C As Byte
Dim j, Msg, NumRaq, DernierNumRaq, a, k As Integer
Dim Fichier As String
On Error GoTo Fin
ListBox1.Clear
' Chargement de la liste des raquettes de la base
Conn.Open "Provider='Microsoft.Jet.OLEDB.4.0';" & "Data Source='" & Chemin &
BaseMDB & "';"
Set Cat.ActiveConnection = Conn
With indexTri
.Columns.Append "Numéro de raquette"
.Columns("Numéro de raquette").SortOrder = adSortAscending 'tri croissant
.Name = "Ascending"
.IndexNulls = adIndexNullsAllow
End With
' Ajout d'un index pour la table
'attention : renvoie une erreur si un index existe déja
Cat.Tables("Liste des raquettes").Indexes.Append indexTri
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une requête sur laquelle tu définiras ton tri. Enlève de ta procédure ce qui concerne la création, l'ajout et la suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette' ", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée directement dans ta base Access et remplacer la phrase "SELECT ..." par le nom de cette requête. -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Bonjour, ... Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code ... Merci pour votre aide
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une
requête sur laquelle tu définiras ton tri.
Enlève de ta procédure ce qui concerne la création, l'ajout et la
suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette'
", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée
directement dans ta base Access et remplacer la phrase "SELECT ..." par le
nom de cette requête.
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Bonjour,
...
Je cherche à importer dans une listbox excel des enregistrements d'une
base
de données Access. Cela fonctionne.
Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ
et c'est là que ça coince.
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une requête sur laquelle tu définiras ton tri. Enlève de ta procédure ce qui concerne la création, l'ajout et la suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette' ", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée directement dans ta base Access et remplacer la phrase "SELECT ..." par le nom de cette requête. -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Bonjour, ... Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code ... Merci pour votre aide
Sylvain
Merci pour ton aide Gilles.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu m'as indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une requête sur laquelle tu définiras ton tri. Enlève de ta procédure ce qui concerne la création, l'ajout et la suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette' ", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée directement dans ta base Access et remplacer la phrase "SELECT ..." par le nom de cette requête. -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Bonjour, ... Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code ... Merci pour votre aide
Merci pour ton aide Gilles.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu m'as
indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la
clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup
Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une
requête sur laquelle tu définiras ton tri.
Enlève de ta procédure ce qui concerne la création, l'ajout et la
suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette'
", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée
directement dans ta base Access et remplacer la phrase "SELECT ..." par le
nom de cette requête.
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Bonjour,
...
Je cherche à importer dans une listbox excel des enregistrements d'une
base
de données Access. Cela fonctionne.
Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ
et c'est là que ça coince.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu m'as indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une requête sur laquelle tu définiras ton tri. Enlève de ta procédure ce qui concerne la création, l'ajout et la suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette' ", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée directement dans ta base Access et remplacer la phrase "SELECT ..." par le nom de cette requête. -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Bonjour, ... Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code ... Merci pour votre aide
Gilles MOUGNOZ
Rebonjour, Sylvain
As-tu recopié le code à l'aide d'un copier-coller ? Si oui, attention aux retours à la ligne intempestifs ! Je remet la requête seule: "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette'"
C'est mieux ?
-- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Merci pour ton aide Gilles.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu m'as indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une requête sur laquelle tu définiras ton tri. Enlève de ta procédure ce qui concerne la création, l'ajout et la suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette' ", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée directement dans ta base Access et remplacer la phrase "SELECT ..." par le nom de cette requête. -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Bonjour, ... Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code ... Merci pour votre aide
Rebonjour, Sylvain
As-tu recopié le code à l'aide d'un copier-coller ?
Si oui, attention aux retours à la ligne intempestifs !
Je remet la requête seule:
"SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette'"
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
"Sylvain" <Sylvain@discussions.microsoft.com> a écrit dans le message de
news: 338C9E6F-DF00-45AC-81EB-EBD70D93F767@microsoft.com...
Merci pour ton aide Gilles.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu
m'as
indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la
clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup
Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser
une
requête sur laquelle tu définiras ton tri.
Enlève de ta procédure ce qui concerne la création, l'ajout et la
suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de
raquette'
", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée
directement dans ta base Access et remplacer la phrase "SELECT ..." par
le
nom de cette requête.
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Bonjour,
...
Je cherche à importer dans une listbox excel des enregistrements d'une
base
de données Access. Cela fonctionne.
Le hic, c'est que je veux trier ces enregistrements en fonction d'un
champ
et c'est là que ça coince.
As-tu recopié le code à l'aide d'un copier-coller ? Si oui, attention aux retours à la ligne intempestifs ! Je remet la requête seule: "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette'"
C'est mieux ?
-- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Merci pour ton aide Gilles.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu m'as indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une requête sur laquelle tu définiras ton tri. Enlève de ta procédure ce qui concerne la création, l'ajout et la suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette' ", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée directement dans ta base Access et remplacer la phrase "SELECT ..." par le nom de cette requête. -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Bonjour, ... Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code ... Merci pour votre aide
Sylvain
Merci pour ton aide Gilles,
ça ne marche pas mieux, toujours une erreur. Est-ce que cela peut provenir du fait que le nom de la table comporte un espace ???
Rebonjour, Sylvain
As-tu recopié le code à l'aide d'un copier-coller ? Si oui, attention aux retours à la ligne intempestifs ! Je remet la requête seule: "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette'"
C'est mieux ?
-- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Merci pour ton aide Gilles.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu m'as indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une requête sur laquelle tu définiras ton tri. Enlève de ta procédure ce qui concerne la création, l'ajout et la suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette' ", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée directement dans ta base Access et remplacer la phrase "SELECT ..." par le nom de cette requête. -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Bonjour, ... Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code ... Merci pour votre aide
Merci pour ton aide Gilles,
ça ne marche pas mieux, toujours une erreur. Est-ce que cela peut provenir
du fait que le nom de la table comporte un espace ???
Rebonjour, Sylvain
As-tu recopié le code à l'aide d'un copier-coller ?
Si oui, attention aux retours à la ligne intempestifs !
Je remet la requête seule:
"SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette'"
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
"Sylvain" <Sylvain@discussions.microsoft.com> a écrit dans le message de
news: 338C9E6F-DF00-45AC-81EB-EBD70D93F767@microsoft.com...
Merci pour ton aide Gilles.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu
m'as
indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la
clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup
Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser
une
requête sur laquelle tu définiras ton tri.
Enlève de ta procédure ce qui concerne la création, l'ajout et la
suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de
raquette'
", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée
directement dans ta base Access et remplacer la phrase "SELECT ..." par
le
nom de cette requête.
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Bonjour,
...
Je cherche à importer dans une listbox excel des enregistrements d'une
base
de données Access. Cela fonctionne.
Le hic, c'est que je veux trier ces enregistrements en fonction d'un
champ
et c'est là que ça coince.
ça ne marche pas mieux, toujours une erreur. Est-ce que cela peut provenir du fait que le nom de la table comporte un espace ???
Rebonjour, Sylvain
As-tu recopié le code à l'aide d'un copier-coller ? Si oui, attention aux retours à la ligne intempestifs ! Je remet la requête seule: "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette'"
C'est mieux ?
-- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Merci pour ton aide Gilles.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu m'as indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une requête sur laquelle tu définiras ton tri. Enlève de ta procédure ce qui concerne la création, l'ajout et la suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette' ", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée directement dans ta base Access et remplacer la phrase "SELECT ..." par le nom de cette requête. -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Bonjour, ... Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code ... Merci pour votre aide
Sylvain
Re,
Merci pour taon aide. J'avais bien supprimé les retours à la ligne intempestifs mais ça ne marche toujours pas... Est-ce que cela peut prevenir du fait que le nom de la table comporte des espaces ?
Merci Sylvain
Rebonjour, Sylvain
As-tu recopié le code à l'aide d'un copier-coller ? Si oui, attention aux retours à la ligne intempestifs ! Je remet la requête seule: "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette'"
C'est mieux ?
-- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Merci pour ton aide Gilles.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu m'as indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une requête sur laquelle tu définiras ton tri. Enlève de ta procédure ce qui concerne la création, l'ajout et la suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette' ", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée directement dans ta base Access et remplacer la phrase "SELECT ..." par le nom de cette requête. -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Bonjour, ... Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code ... Merci pour votre aide
Re,
Merci pour taon aide. J'avais bien supprimé les retours à la ligne
intempestifs mais ça ne marche toujours pas... Est-ce que cela peut prevenir
du fait que le nom de la table comporte des espaces ?
Merci
Sylvain
Rebonjour, Sylvain
As-tu recopié le code à l'aide d'un copier-coller ?
Si oui, attention aux retours à la ligne intempestifs !
Je remet la requête seule:
"SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette'"
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
"Sylvain" <Sylvain@discussions.microsoft.com> a écrit dans le message de
news: 338C9E6F-DF00-45AC-81EB-EBD70D93F767@microsoft.com...
Merci pour ton aide Gilles.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu
m'as
indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la
clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup
Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser
une
requête sur laquelle tu définiras ton tri.
Enlève de ta procédure ce qui concerne la création, l'ajout et la
suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de
raquette'
", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée
directement dans ta base Access et remplacer la phrase "SELECT ..." par
le
nom de cette requête.
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Bonjour,
...
Je cherche à importer dans une listbox excel des enregistrements d'une
base
de données Access. Cela fonctionne.
Le hic, c'est que je veux trier ces enregistrements en fonction d'un
champ
et c'est là que ça coince.
Merci pour taon aide. J'avais bien supprimé les retours à la ligne intempestifs mais ça ne marche toujours pas... Est-ce que cela peut prevenir du fait que le nom de la table comporte des espaces ?
Merci Sylvain
Rebonjour, Sylvain
As-tu recopié le code à l'aide d'un copier-coller ? Si oui, attention aux retours à la ligne intempestifs ! Je remet la requête seule: "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette'"
C'est mieux ?
-- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Merci pour ton aide Gilles.
Je viens de tester ton code mais mais j'ai une erreur à la ligne que tu m'as indiquée. Excel ne doit pas arriver à ouvrir la table. On me dit que la clause de la requête est incomplète.
Je veux encore un epu d'aide stp.
Merci beaucoup Sylvain
Bonjour, Sylvain
Il n'est pas nécessaire de créer un index sur la table, tu peux utiliser une requête sur laquelle tu définiras ton tri. Enlève de ta procédure ce qui concerne la création, l'ajout et la suppression de l'index et remplace la génération du recordset par ceci:
Rst.Open "SELECT * FROM 'Liste des raquettes' ORDER BY 'Numéro de raquette' ", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Si tu en as la possibilité, tu peux aussi créer une requête triée directement dans ta base Access et remplacer la phrase "SELECT ..." par le nom de cette requête. -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Bonjour, ... Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code ... Merci pour votre aide
Gilles MOUGNOZ
Essaie avec ceci: "SELECT * FROM [Liste des raquettes] ORDER BY [Numéro de raquette]" -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Re,
Merci pour taon aide. J'avais bien supprimé les retours à la ligne intempestifs mais ça ne marche toujours pas... Est-ce que cela peut prevenir du fait que le nom de la table comporte des espaces ?
Merci Sylvain
Essaie avec ceci:
"SELECT * FROM [Liste des raquettes] ORDER BY [Numéro de raquette]"
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
"Sylvain" <Sylvain@discussions.microsoft.com> a écrit dans le message de
news: 7690D7F4-EE5A-4520-BC30-4F4E1DDC3379@microsoft.com...
Re,
Merci pour taon aide. J'avais bien supprimé les retours à la ligne
intempestifs mais ça ne marche toujours pas... Est-ce que cela peut
prevenir
du fait que le nom de la table comporte des espaces ?
Essaie avec ceci: "SELECT * FROM [Liste des raquettes] ORDER BY [Numéro de raquette]" -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Re,
Merci pour taon aide. J'avais bien supprimé les retours à la ligne intempestifs mais ça ne marche toujours pas... Est-ce que cela peut prevenir du fait que le nom de la table comporte des espaces ?
Merci Sylvain
Sylvain
Super ! Cela fonctionne Gilles. J'avais pensé à mettre des crochets mais je n'avais pas enlevé les petits guillemets.
Mille mercis Sylvain
Essaie avec ceci: "SELECT * FROM [Liste des raquettes] ORDER BY [Numéro de raquette]" -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Re,
Merci pour taon aide. J'avais bien supprimé les retours à la ligne intempestifs mais ça ne marche toujours pas... Est-ce que cela peut prevenir du fait que le nom de la table comporte des espaces ?
Merci Sylvain
Super !
Cela fonctionne Gilles. J'avais pensé à mettre des crochets mais je n'avais
pas enlevé les petits guillemets.
Mille mercis
Sylvain
Essaie avec ceci:
"SELECT * FROM [Liste des raquettes] ORDER BY [Numéro de raquette]"
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
"Sylvain" <Sylvain@discussions.microsoft.com> a écrit dans le message de
news: 7690D7F4-EE5A-4520-BC30-4F4E1DDC3379@microsoft.com...
Re,
Merci pour taon aide. J'avais bien supprimé les retours à la ligne
intempestifs mais ça ne marche toujours pas... Est-ce que cela peut
prevenir
du fait que le nom de la table comporte des espaces ?
Super ! Cela fonctionne Gilles. J'avais pensé à mettre des crochets mais je n'avais pas enlevé les petits guillemets.
Mille mercis Sylvain
Essaie avec ceci: "SELECT * FROM [Liste des raquettes] ORDER BY [Numéro de raquette]" -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Re,
Merci pour taon aide. J'avais bien supprimé les retours à la ligne intempestifs mais ça ne marche toujours pas... Est-ce que cela peut prevenir du fait que le nom de la table comporte des espaces ?
Merci Sylvain
Gilles MOUGNOZ
Content d'avoir pu t'aider ! ;-) -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Super ! Cela fonctionne Gilles. J'avais pensé à mettre des crochets mais je n'avais pas enlevé les petits guillemets.
Mille mercis Sylvain
Content d'avoir pu t'aider ! ;-)
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
"Sylvain" <Sylvain@discussions.microsoft.com> a écrit dans le message de
news: A57CF80D-C943-4796-A499-2422603B9FE1@microsoft.com...
Super !
Cela fonctionne Gilles. J'avais pensé à mettre des crochets mais je
n'avais
pas enlevé les petits guillemets.
Content d'avoir pu t'aider ! ;-) -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! ------------------------------------------------------------------------------------------- "Sylvain" a écrit dans le message de news:
Super ! Cela fonctionne Gilles. J'avais pensé à mettre des crochets mais je n'avais pas enlevé les petits guillemets.
Mille mercis Sylvain
JB
Bonsoir,
Voir exemples DAO/ADo dans PJ: http://cjoint.com/?kjwhNS6WAL
DAO:
Private Sub UserForm_Initialize() 'cocher Microsoft DAO 3.6 dans Outils/Références Dim bd As Database Dim rs As Recordset Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb") Set rs = bd.OpenRecordset("Select * From Client Order By Nom_Client") Do While Not rs.EOF Me.choix.AddItem rs!nom_client rs.MoveNext Loop End Sub
ADO:
Private Sub UserForm_Initialize() ChDir ActiveWorkbook.Path Dim rs As ADODB.Recordset Set cnn = New ADODB.Connection cnn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ¬cess2000.mdb" Set rs = cnn.Execute("SELECT nom_client FROM Client ORDER BY nom_client") Do While Not rs.EOF Me.Choix.AddItem rs!Nom_Client rs.MoveNext Loop rs.Close cnn.Close Set rs = Nothing Set cnn = Nothing End Sub
Cordialement JB
Bonjour,
Je suis en train de batailler depuis un moment sur un sujet depuis un bon moment... Je n'arrive pas à m'en dépatouiller.
Je m'explique. Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code _________________________________________________________________ Dim Conn As New ADODB.Connection Dim Rst As New ADODB.Recordset Dim Cat As New ADOX.Catalog Dim indexTri As New ADOX.Index
Dim i As Byte Dim L As Long, C As Byte Dim j, Msg, NumRaq, DernierNumRaq, a, k As Integer Dim Fichier As String
On Error GoTo Fin
ListBox1.Clear
' Chargement de la liste des raquettes de la base Conn.Open "Provider='Microsoft.Jet.OLEDB.4.0';" & "Data Source='" & C hemin & BaseMDB & "';"
Set Cat.ActiveConnection = Conn
With indexTri .Columns.Append "Numéro de raquette" .Columns("Numéro de raquette").SortOrder = adSortAscending 'tri c roissant .Name = "Ascending" .IndexNulls = adIndexNullsAllow End With
' Ajout d'un index pour la table 'attention : renvoie une erreur si un index existe déja Cat.Tables("Liste des raquettes").Indexes.Append indexTri
Rst.MoveFirst Do Until Rst.EOF ListBox1.AddItem (Rst.Fields("Numéro de raquette")) Rst.MoveNext Loop
'suppression index Cat.Tables("Liste des raquettes").Indexes.Delete indexTri.Name _________________________________________________________________
Le code plante à la ligne Cat.Tables("Liste des raquettes").Indexes.Append indexTri
Le pire c'est que ça marche de temps en temps mais je n'arrive pas à identifierce qui change.
Merci pour votre aide
Bonsoir,
Voir exemples DAO/ADo dans PJ: http://cjoint.com/?kjwhNS6WAL
DAO:
Private Sub UserForm_Initialize()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
Set rs = bd.OpenRecordset("Select * From Client Order By
Nom_Client")
Do While Not rs.EOF
Me.choix.AddItem rs!nom_client
rs.MoveNext
Loop
End Sub
ADO:
Private Sub UserForm_Initialize()
ChDir ActiveWorkbook.Path
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=Access2000.mdb"
Set rs = cnn.Execute("SELECT nom_client FROM Client ORDER BY
nom_client")
Do While Not rs.EOF
Me.Choix.AddItem rs!Nom_Client
rs.MoveNext
Loop
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub
Cordialement JB
Bonjour,
Je suis en train de batailler depuis un moment sur un sujet depuis un bon
moment... Je n'arrive pas à m'en dépatouiller.
Je m'explique.
Je cherche à importer dans une listbox excel des enregistrements d'une base
de données Access. Cela fonctionne.
Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ
et c'est là que ça coince.
voici mon code
_________________________________________________________________
Dim Conn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Cat As New ADOX.Catalog
Dim indexTri As New ADOX.Index
Dim i As Byte
Dim L As Long, C As Byte
Dim j, Msg, NumRaq, DernierNumRaq, a, k As Integer
Dim Fichier As String
On Error GoTo Fin
ListBox1.Clear
' Chargement de la liste des raquettes de la base
Conn.Open "Provider='Microsoft.Jet.OLEDB.4.0';" & "Data Source='" & C hemin &
BaseMDB & "';"
Set Cat.ActiveConnection = Conn
With indexTri
.Columns.Append "Numéro de raquette"
.Columns("Numéro de raquette").SortOrder = adSortAscending 'tri c roissant
.Name = "Ascending"
.IndexNulls = adIndexNullsAllow
End With
' Ajout d'un index pour la table
'attention : renvoie une erreur si un index existe déja
Cat.Tables("Liste des raquettes").Indexes.Append indexTri
Voir exemples DAO/ADo dans PJ: http://cjoint.com/?kjwhNS6WAL
DAO:
Private Sub UserForm_Initialize() 'cocher Microsoft DAO 3.6 dans Outils/Références Dim bd As Database Dim rs As Recordset Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb") Set rs = bd.OpenRecordset("Select * From Client Order By Nom_Client") Do While Not rs.EOF Me.choix.AddItem rs!nom_client rs.MoveNext Loop End Sub
ADO:
Private Sub UserForm_Initialize() ChDir ActiveWorkbook.Path Dim rs As ADODB.Recordset Set cnn = New ADODB.Connection cnn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ¬cess2000.mdb" Set rs = cnn.Execute("SELECT nom_client FROM Client ORDER BY nom_client") Do While Not rs.EOF Me.Choix.AddItem rs!Nom_Client rs.MoveNext Loop rs.Close cnn.Close Set rs = Nothing Set cnn = Nothing End Sub
Cordialement JB
Bonjour,
Je suis en train de batailler depuis un moment sur un sujet depuis un bon moment... Je n'arrive pas à m'en dépatouiller.
Je m'explique. Je cherche à importer dans une listbox excel des enregistrements d'une base de données Access. Cela fonctionne. Le hic, c'est que je veux trier ces enregistrements en fonction d'un champ et c'est là que ça coince.
voici mon code _________________________________________________________________ Dim Conn As New ADODB.Connection Dim Rst As New ADODB.Recordset Dim Cat As New ADOX.Catalog Dim indexTri As New ADOX.Index
Dim i As Byte Dim L As Long, C As Byte Dim j, Msg, NumRaq, DernierNumRaq, a, k As Integer Dim Fichier As String
On Error GoTo Fin
ListBox1.Clear
' Chargement de la liste des raquettes de la base Conn.Open "Provider='Microsoft.Jet.OLEDB.4.0';" & "Data Source='" & C hemin & BaseMDB & "';"
Set Cat.ActiveConnection = Conn
With indexTri .Columns.Append "Numéro de raquette" .Columns("Numéro de raquette").SortOrder = adSortAscending 'tri c roissant .Name = "Ascending" .IndexNulls = adIndexNullsAllow End With
' Ajout d'un index pour la table 'attention : renvoie une erreur si un index existe déja Cat.Tables("Liste des raquettes").Indexes.Append indexTri