Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

requete acces avec excel

7 réponses
Avatar
Emcy
Bonjours,

j'execute des requetes à partir d'excel pour recupérer des données dans une
BDD Acces

j'ai testé ces deux requetes :
MaRequete = "SELECT * FROM Essai"
MaRequete = "SELECT * FROM Essai WHERE Reference='Réf2'"
=> je n'ai pas de problème

par contre en essayant celle-ci, j'ai un message d'erreur
MaRequete = "SELECT * FROM Essai LIMIT 0,20"
=> j'en ai donc déduit que LIMIT n'est pas reconnu

Quels sont les Requetes qui sont reconnues ?

7 réponses

Avatar
FB
utilise la fonction sql.request ()
si tu connais le language sql ====> c mieux


Bonjours,

j'execute des requetes à partir d'excel pour recupérer des données dans une
BDD Acces

j'ai testé ces deux requetes :
MaRequete = "SELECT * FROM Essai"
MaRequete = "SELECT * FROM Essai WHERE Reference='Réf2'"
=> je n'ai pas de problème

par contre en essayant celle-ci, j'ai un message d'erreur
MaRequete = "SELECT * FROM Essai LIMIT 0,20"
=> j'en ai donc déduit que LIMIT n'est pas reconnu

Quels sont les Requetes qui sont reconnues ?





Avatar
michdenis
Bonjour Emcy,

IL faudrait dire avec quoi tu vas exécuter cette requête

Avec ADO, ceci ne devrait pas causer de problème !

Dim NomFeuille As String
NomFeuille = "Essai LIMIT 0,20"
Requete = "SELECT * From [" & NomFeuille & "$]"


Salutations!



"Emcy" a écrit dans le message de news:
Bonjours,

j'execute des requetes à partir d'excel pour recupérer des données dans une
BDD Acces

j'ai testé ces deux requetes :
MaRequete = "SELECT * FROM Essai"
MaRequete = "SELECT * FROM Essai WHERE Reference='Réf2'"
=> je n'ai pas de problème

par contre en essayant celle-ci, j'ai un message d'erreur
MaRequete = "SELECT * FROM Essai LIMIT 0,20"
=> j'en ai donc déduit que LIMIT n'est pas reconnu

Quels sont les Requetes qui sont reconnues ?
Avatar
Emcy
je comprend pas ta reponse...
ce que je recherche ce sont les commandes qui fonctionnent..

"FB" a écrit dans le message de news:

utilise la fonction sql.request ()
si tu connais le language sql ====> c mieux


Bonjours,

j'execute des requetes à partir d'excel pour recupérer des données dans
une
BDD Acces

j'ai testé ces deux requetes :
MaRequete = "SELECT * FROM Essai"
MaRequete = "SELECT * FROM Essai WHERE Reference='Réf2'"
=> je n'ai pas de problème

par contre en essayant celle-ci, j'ai un message d'erreur
MaRequete = "SELECT * FROM Essai LIMIT 0,20"
=> j'en ai donc déduit que LIMIT n'est pas reconnu

Quels sont les Requetes qui sont reconnues ?







Avatar
jb
SELECT * FROM Essai LIMIT 0,20 n'est pa reconnu par Access

Voici ce que donne l'aide d'Acces concernant SELECT:

SELECT [prédicat] { * | table.* | [table.]champ1 [AS alias1] [,
[table.]champ2 [AS alias2] [, ...]]}
FROM expressiontable [, ...] [IN basededonnéesexterne]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]

L'instruction SELECT se compose des éléments suivants :

Part Description
prédicat L'un des prédicats suivants : ALL, DISTINCT, DISTINCTROW ou
TOP. Les prédicats permettent de limiter le nombre d'enregistrements
renvoyés. Si aucun n'est précisé, ALL est choisi par défaut.
* Indique que tous les champs de la ou des tables spécifiées sont
sélectionnés.
table Nom de la table contenant les champs dans lesquels les
enregistrements sont sélectionnés.
champ1, champ2 Noms des champs contenant les données à extraire. Si
vous incluez plusieurs champs, les données seront extraites dans
l'ordre indiqué.
alias1, alias2 Noms à utiliser comme en-têtes de colonne à la place
des noms de colonnes originaux dans table.
expressiontable Nom de la ou des tables contenant les données à
extraire.
basededonnéesexterne Nom de la base de données contenant les tables
de expressiontable si elles ne se trouvent pas dans la base de données
en cours.


Notes
Pour effectuer cette opération, le moteur de base de données
Microsoft® Jet recherche la ou les tables spécifiées, extrait les
colonnes choisies, sélectionne les lignes qui correspondent aux
critères, trie et/ou regroupe ces lignes dans l'ordre indiqué.

Les instructions SELECT ne modifient pas les données dans la base de
données.

SELECT constitue généralement le premier mot d'uneinstruction SQL.
Les instructions SQL sont pour la plupart des instructions SELECT ou
SELECT...INTO.

La syntaxe minimale d'une instruction SELECT est la suivante :

SELECT champs FROM table

Vous pouvez utiliser unastérique (*) pour sélectionner tous les
champs d'une table. Les exemples suivants sélectionnent tous les
champs dans la table Employees (Employés) :

SELECT * FROM Employees;


Si le nom d'un champ figure dans plusieurs tables stipulées par la
clause FROM, faites-le précéder du nom de la table correspondante et
de l'opérateur . (point). Dans l'exemple suivant, le champ
"Département" se trouve à la fois dans les tables Employés et
Superviseurs. L'instruction SQL sélectionne les départements dans la
table Employés et les noms des superviseurs (NomSupv) dans la table
Superviseurs :

SELECT Employees.Department, Supervisors.SupvName

FROM Employees INNER JOIN Supervisors

WHERE Employees.Departement = Supervisors.Department;


Lorsqu'un objetRecordset est créé, le moteur de base de données
Microsoft Jet utilise le nom de champ de la table comme nom de
l'objetField dans l'objet Recordset. Si vous souhaitez utiliser un
autre nom de champ ou un nom qui n'est pas concerné par l'expression
utilisée pour générer le champ, utilisez lemot réservé AS.
L'exemple suivant utilise le titre Anniversaire comme nom pour l'objet
Field renvoyé dans l'objet Recordset résultant :

SELECT [Date_de_naissance]

AS Anniversaire FROM Employés;


Chaque fois que vous utilisez desfonctions d'agrégation ou des
requêtes qui renvoient des noms d'objets Field ambigus ou en double,
vous devez utiliser la clause AS pour fournir un nom de remplacement à
l'objet Field. L'exemple suivant utilise le titre HeadCount (Effectif)
comme nom pour l'objet Field renvoyé dans l'objet Recordset résultant
:

SELECT COUNT([N° employee])

AS HeadCount FROM Employees;


Vous pouvez utiliser les autres clauses d'une instruction SELECT pour
limiter et organiser davantage les données renvoyées. Pour plus
d'informations, reportez-vous à la rubrique d'aide relative à la
clause que vous utilisez.

Voir aussi
ALL DISTINCT, DISTINCTROW, TOP, prédicats (Microsoft Jet SQL) ORDER
BY, clause (Microsoft Jet SQL)
DELETE, instruction (Microsoft Jet SQL) SELECT...INTO, instruction
(Microsoft Jet SQL)
FROM, clause (Microsoft Jet SQL) SQL, fonctions d'agrégation (SQL)
GROUP BY, clause (Microsoft Jet SQL) UNION, opération (Microsoft Jet
SQL)
HAVING, clause (Microsoft Jet SQL) UPDATE, instruction (Microsoft Jet
SQL)
IN, clause (Microsoft Jet SQL) WHERE, clause (Microsoft Jet SQL)
INSERT INTO, instruction (Microsoft Jet SQL) WITH OWNERACCESS OPTION,
déclaration (Microsoft Jet SQL)

Exemple
SELECT, instruction, FROM, clause, exemple

Cordialement JB
Avatar
michdenis
Bonjour Jb,

| SELECT * FROM Essai LIMIT 0,20 n'est pa reconnu par Access

Es-tu certain de ton affirmation ? Je viens de réaliser une requête dans
Access ayant cette forme :

Table denis = Nom de la table
le Champ = Nom du champ

SELECT [Table denis].[le Champ]
FROM [Table denis]
WHERE [le Champ] Like "d*";

Et access n'a rien dit sauf de me répondre adéquatement !


Salutations!



"jb" a écrit dans le message de news:
SELECT * FROM Essai LIMIT 0,20 n'est pa reconnu par Access

Voici ce que donne l'aide d'Acces concernant SELECT:

SELECT [prédicat] { * | table.* | [table.]champ1 [AS alias1] [,
[table.]champ2 [AS alias2] [, ...]]}
FROM expressiontable [, ...] [IN basededonnéesexterne]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]

L'instruction SELECT se compose des éléments suivants :

Part Description
prédicat L'un des prédicats suivants : ALL, DISTINCT, DISTINCTROW ou
TOP. Les prédicats permettent de limiter le nombre d'enregistrements
renvoyés. Si aucun n'est précisé, ALL est choisi par défaut.
* Indique que tous les champs de la ou des tables spécifiées sont
sélectionnés.
table Nom de la table contenant les champs dans lesquels les
enregistrements sont sélectionnés.
champ1, champ2 Noms des champs contenant les données à extraire. Si
vous incluez plusieurs champs, les données seront extraites dans
l'ordre indiqué.
alias1, alias2 Noms à utiliser comme en-têtes de colonne à la place
des noms de colonnes originaux dans table.
expressiontable Nom de la ou des tables contenant les données à
extraire.
basededonnéesexterne Nom de la base de données contenant les tables
de expressiontable si elles ne se trouvent pas dans la base de données
en cours.


Notes
Pour effectuer cette opération, le moteur de base de données
Microsoft® Jet recherche la ou les tables spécifiées, extrait les
colonnes choisies, sélectionne les lignes qui correspondent aux
critères, trie et/ou regroupe ces lignes dans l'ordre indiqué.

Les instructions SELECT ne modifient pas les données dans la base de
données.

SELECT constitue généralement le premier mot d'uneinstruction SQL.
Les instructions SQL sont pour la plupart des instructions SELECT ou
SELECT...INTO.

La syntaxe minimale d'une instruction SELECT est la suivante :

SELECT champs FROM table

Vous pouvez utiliser unastérique (*) pour sélectionner tous les
champs d'une table. Les exemples suivants sélectionnent tous les
champs dans la table Employees (Employés) :

SELECT * FROM Employees;


Si le nom d'un champ figure dans plusieurs tables stipulées par la
clause FROM, faites-le précéder du nom de la table correspondante et
de l'opérateur . (point). Dans l'exemple suivant, le champ
"Département" se trouve à la fois dans les tables Employés et
Superviseurs. L'instruction SQL sélectionne les départements dans la
table Employés et les noms des superviseurs (NomSupv) dans la table
Superviseurs :

SELECT Employees.Department, Supervisors.SupvName

FROM Employees INNER JOIN Supervisors

WHERE Employees.Departement = Supervisors.Department;


Lorsqu'un objetRecordset est créé, le moteur de base de données
Microsoft Jet utilise le nom de champ de la table comme nom de
l'objetField dans l'objet Recordset. Si vous souhaitez utiliser un
autre nom de champ ou un nom qui n'est pas concerné par l'expression
utilisée pour générer le champ, utilisez lemot réservé AS.
L'exemple suivant utilise le titre Anniversaire comme nom pour l'objet
Field renvoyé dans l'objet Recordset résultant :

SELECT [Date_de_naissance]

AS Anniversaire FROM Employés;


Chaque fois que vous utilisez desfonctions d'agrégation ou des
requêtes qui renvoient des noms d'objets Field ambigus ou en double,
vous devez utiliser la clause AS pour fournir un nom de remplacement à
l'objet Field. L'exemple suivant utilise le titre HeadCount (Effectif)
comme nom pour l'objet Field renvoyé dans l'objet Recordset résultant
:

SELECT COUNT([N° employee])

AS HeadCount FROM Employees;


Vous pouvez utiliser les autres clauses d'une instruction SELECT pour
limiter et organiser davantage les données renvoyées. Pour plus
d'informations, reportez-vous à la rubrique d'aide relative à la
clause que vous utilisez.

Voir aussi
ALL DISTINCT, DISTINCTROW, TOP, prédicats (Microsoft Jet SQL) ORDER
BY, clause (Microsoft Jet SQL)
DELETE, instruction (Microsoft Jet SQL) SELECT...INTO, instruction
(Microsoft Jet SQL)
FROM, clause (Microsoft Jet SQL) SQL, fonctions d'agrégation (SQL)
GROUP BY, clause (Microsoft Jet SQL) UNION, opération (Microsoft Jet
SQL)
HAVING, clause (Microsoft Jet SQL) UPDATE, instruction (Microsoft Jet
SQL)
IN, clause (Microsoft Jet SQL) WHERE, clause (Microsoft Jet SQL)
INSERT INTO, instruction (Microsoft Jet SQL) WITH OWNERACCESS OPTION,
déclaration (Microsoft Jet SQL)

Exemple
SELECT, instruction, FROM, clause, exemple

Cordialement JB
Avatar
Emcy
je confirme que LIMIT ne fonctionne pas sous acces : il faut utiliser TOP.

"michdenis" a écrit dans le message de news:
%
Bonjour Jb,

| SELECT * FROM Essai LIMIT 0,20 n'est pa reconnu par Access

Es-tu certain de ton affirmation ? Je viens de réaliser une requête dans
Access ayant cette forme :

Table denis = Nom de la table
le Champ = Nom du champ

SELECT [Table denis].[le Champ]
FROM [Table denis]
WHERE [le Champ] Like "d*";

Et access n'a rien dit sauf de me répondre adéquatement !


Salutations!



"jb" a écrit dans le message de news:

SELECT * FROM Essai LIMIT 0,20 n'est pa reconnu par Access

Voici ce que donne l'aide d'Acces concernant SELECT:

SELECT [prédicat] { * | table.* | [table.]champ1 [AS alias1] [,
[table.]champ2 [AS alias2] [, ...]]}
FROM expressiontable [, ...] [IN basededonnéesexterne]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]

L'instruction SELECT se compose des éléments suivants :

Part Description
prédicat L'un des prédicats suivants : ALL, DISTINCT, DISTINCTROW ou
TOP. Les prédicats permettent de limiter le nombre d'enregistrements
renvoyés. Si aucun n'est précisé, ALL est choisi par défaut.
* Indique que tous les champs de la ou des tables spécifiées sont
sélectionnés.
table Nom de la table contenant les champs dans lesquels les
enregistrements sont sélectionnés.
champ1, champ2 Noms des champs contenant les données à extraire. Si
vous incluez plusieurs champs, les données seront extraites dans
l'ordre indiqué.
alias1, alias2 Noms à utiliser comme en-têtes de colonne à la place
des noms de colonnes originaux dans table.
expressiontable Nom de la ou des tables contenant les données à
extraire.
basededonnéesexterne Nom de la base de données contenant les tables
de expressiontable si elles ne se trouvent pas dans la base de données
en cours.


Notes
Pour effectuer cette opération, le moteur de base de données
Microsoft® Jet recherche la ou les tables spécifiées, extrait les
colonnes choisies, sélectionne les lignes qui correspondent aux
critères, trie et/ou regroupe ces lignes dans l'ordre indiqué.

Les instructions SELECT ne modifient pas les données dans la base de
données.

SELECT constitue généralement le premier mot d'uneinstruction SQL.
Les instructions SQL sont pour la plupart des instructions SELECT ou
SELECT...INTO.

La syntaxe minimale d'une instruction SELECT est la suivante :

SELECT champs FROM table

Vous pouvez utiliser unastérique (*) pour sélectionner tous les
champs d'une table. Les exemples suivants sélectionnent tous les
champs dans la table Employees (Employés) :

SELECT * FROM Employees;


Si le nom d'un champ figure dans plusieurs tables stipulées par la
clause FROM, faites-le précéder du nom de la table correspondante et
de l'opérateur . (point). Dans l'exemple suivant, le champ
"Département" se trouve à la fois dans les tables Employés et
Superviseurs. L'instruction SQL sélectionne les départements dans la
table Employés et les noms des superviseurs (NomSupv) dans la table
Superviseurs :

SELECT Employees.Department, Supervisors.SupvName

FROM Employees INNER JOIN Supervisors

WHERE Employees.Departement = Supervisors.Department;


Lorsqu'un objetRecordset est créé, le moteur de base de données
Microsoft Jet utilise le nom de champ de la table comme nom de
l'objetField dans l'objet Recordset. Si vous souhaitez utiliser un
autre nom de champ ou un nom qui n'est pas concerné par l'expression
utilisée pour générer le champ, utilisez lemot réservé AS.
L'exemple suivant utilise le titre Anniversaire comme nom pour l'objet
Field renvoyé dans l'objet Recordset résultant :

SELECT [Date_de_naissance]

AS Anniversaire FROM Employés;


Chaque fois que vous utilisez desfonctions d'agrégation ou des
requêtes qui renvoient des noms d'objets Field ambigus ou en double,
vous devez utiliser la clause AS pour fournir un nom de remplacement à
l'objet Field. L'exemple suivant utilise le titre HeadCount (Effectif)
comme nom pour l'objet Field renvoyé dans l'objet Recordset résultant
:

SELECT COUNT([N° employee])

AS HeadCount FROM Employees;


Vous pouvez utiliser les autres clauses d'une instruction SELECT pour
limiter et organiser davantage les données renvoyées. Pour plus
d'informations, reportez-vous à la rubrique d'aide relative à la
clause que vous utilisez.

Voir aussi
ALL DISTINCT, DISTINCTROW, TOP, prédicats (Microsoft Jet SQL) ORDER
BY, clause (Microsoft Jet SQL)
DELETE, instruction (Microsoft Jet SQL) SELECT...INTO, instruction
(Microsoft Jet SQL)
FROM, clause (Microsoft Jet SQL) SQL, fonctions d'agrégation (SQL)
GROUP BY, clause (Microsoft Jet SQL) UNION, opération (Microsoft Jet
SQL)
HAVING, clause (Microsoft Jet SQL) UPDATE, instruction (Microsoft Jet
SQL)
IN, clause (Microsoft Jet SQL) WHERE, clause (Microsoft Jet SQL)
INSERT INTO, instruction (Microsoft Jet SQL) WITH OWNERACCESS OPTION,
déclaration (Microsoft Jet SQL)

Exemple
SELECT, instruction, FROM, clause, exemple

Cordialement JB




Avatar
michdenis
Moi qui croyait que ta table s'appelait "Essai LIMIT 0,20" , ça me fait une belle jambe !!!
;-)))


Salutations!


"Emcy" a écrit dans le message de news:
je confirme que LIMIT ne fonctionne pas sous acces : il faut utiliser TOP.

"michdenis" a écrit dans le message de news:
%
Bonjour Jb,

| SELECT * FROM Essai LIMIT 0,20 n'est pa reconnu par Access

Es-tu certain de ton affirmation ? Je viens de réaliser une requête dans
Access ayant cette forme :

Table denis = Nom de la table
le Champ = Nom du champ

SELECT [Table denis].[le Champ]
FROM [Table denis]
WHERE [le Champ] Like "d*";

Et access n'a rien dit sauf de me répondre adéquatement !


Salutations!



"jb" a écrit dans le message de news:

SELECT * FROM Essai LIMIT 0,20 n'est pa reconnu par Access

Voici ce que donne l'aide d'Acces concernant SELECT:

SELECT [prédicat] { * | table.* | [table.]champ1 [AS alias1] [,
[table.]champ2 [AS alias2] [, ...]]}
FROM expressiontable [, ...] [IN basededonnéesexterne]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]

L'instruction SELECT se compose des éléments suivants :

Part Description
prédicat L'un des prédicats suivants : ALL, DISTINCT, DISTINCTROW ou
TOP. Les prédicats permettent de limiter le nombre d'enregistrements
renvoyés. Si aucun n'est précisé, ALL est choisi par défaut.
* Indique que tous les champs de la ou des tables spécifiées sont
sélectionnés.
table Nom de la table contenant les champs dans lesquels les
enregistrements sont sélectionnés.
champ1, champ2 Noms des champs contenant les données à extraire. Si
vous incluez plusieurs champs, les données seront extraites dans
l'ordre indiqué.
alias1, alias2 Noms à utiliser comme en-têtes de colonne à la place
des noms de colonnes originaux dans table.
expressiontable Nom de la ou des tables contenant les données à
extraire.
basededonnéesexterne Nom de la base de données contenant les tables
de expressiontable si elles ne se trouvent pas dans la base de données
en cours.


Notes
Pour effectuer cette opération, le moteur de base de données
Microsoft® Jet recherche la ou les tables spécifiées, extrait les
colonnes choisies, sélectionne les lignes qui correspondent aux
critères, trie et/ou regroupe ces lignes dans l'ordre indiqué.

Les instructions SELECT ne modifient pas les données dans la base de
données.

SELECT constitue généralement le premier mot d'uneinstruction SQL.
Les instructions SQL sont pour la plupart des instructions SELECT ou
SELECT...INTO.

La syntaxe minimale d'une instruction SELECT est la suivante :

SELECT champs FROM table

Vous pouvez utiliser unastérique (*) pour sélectionner tous les
champs d'une table. Les exemples suivants sélectionnent tous les
champs dans la table Employees (Employés) :

SELECT * FROM Employees;


Si le nom d'un champ figure dans plusieurs tables stipulées par la
clause FROM, faites-le précéder du nom de la table correspondante et
de l'opérateur . (point). Dans l'exemple suivant, le champ
"Département" se trouve à la fois dans les tables Employés et
Superviseurs. L'instruction SQL sélectionne les départements dans la
table Employés et les noms des superviseurs (NomSupv) dans la table
Superviseurs :

SELECT Employees.Department, Supervisors.SupvName

FROM Employees INNER JOIN Supervisors

WHERE Employees.Departement = Supervisors.Department;


Lorsqu'un objetRecordset est créé, le moteur de base de données
Microsoft Jet utilise le nom de champ de la table comme nom de
l'objetField dans l'objet Recordset. Si vous souhaitez utiliser un
autre nom de champ ou un nom qui n'est pas concerné par l'expression
utilisée pour générer le champ, utilisez lemot réservé AS.
L'exemple suivant utilise le titre Anniversaire comme nom pour l'objet
Field renvoyé dans l'objet Recordset résultant :

SELECT [Date_de_naissance]

AS Anniversaire FROM Employés;


Chaque fois que vous utilisez desfonctions d'agrégation ou des
requêtes qui renvoient des noms d'objets Field ambigus ou en double,
vous devez utiliser la clause AS pour fournir un nom de remplacement à
l'objet Field. L'exemple suivant utilise le titre HeadCount (Effectif)
comme nom pour l'objet Field renvoyé dans l'objet Recordset résultant
:

SELECT COUNT([N° employee])

AS HeadCount FROM Employees;


Vous pouvez utiliser les autres clauses d'une instruction SELECT pour
limiter et organiser davantage les données renvoyées. Pour plus
d'informations, reportez-vous à la rubrique d'aide relative à la
clause que vous utilisez.

Voir aussi
ALL DISTINCT, DISTINCTROW, TOP, prédicats (Microsoft Jet SQL) ORDER
BY, clause (Microsoft Jet SQL)
DELETE, instruction (Microsoft Jet SQL) SELECT...INTO, instruction
(Microsoft Jet SQL)
FROM, clause (Microsoft Jet SQL) SQL, fonctions d'agrégation (SQL)
GROUP BY, clause (Microsoft Jet SQL) UNION, opération (Microsoft Jet
SQL)
HAVING, clause (Microsoft Jet SQL) UPDATE, instruction (Microsoft Jet
SQL)
IN, clause (Microsoft Jet SQL) WHERE, clause (Microsoft Jet SQL)
INSERT INTO, instruction (Microsoft Jet SQL) WITH OWNERACCESS OPTION,
déclaration (Microsoft Jet SQL)

Exemple
SELECT, instruction, FROM, clause, exemple

Cordialement JB