Problème de requête en VBA - Access 2003
Jed
-
jed -
jed -
Bonjour,
Voila je vous explique mon problème.
Je cherche à créer une table à partir de deux données rentrée dans un formulaire: une date de début et une date de fin. quand l'utilisateur clique sur "valider" la table (table2) doit se créer.
La nouvelle table (table2) doit contenir les meme données que la table1, en ne séléctionnant que les lignes dont les dates sont comprises entre la date de début et la date de fin rentrée dans le formulaire (dans table1, j'ai deux champs qui correspondent à une date de début et une date de fin (DATEEF et DATFIN))
voila le programme que j'ai testé:
Private Sub Valider_Click()
datd=DateDebut.value
datf=DateFin.value
If (datd = "" Or datf= "") Then
MsgBox ("Les champs ne doivent pas être vides")
Else: DoCmd.Runsql "CREATE TABLE table2 as select * from table1 where ...conditions sur les dates
end If
end SUb
Je sais que le select n'est pas autorisé avec le doCmd.runsql mais je vous ai mis ce bout de programme pour que ce soit plus clair.
Merci d'avance !
Voila je vous explique mon problème.
Je cherche à créer une table à partir de deux données rentrée dans un formulaire: une date de début et une date de fin. quand l'utilisateur clique sur "valider" la table (table2) doit se créer.
La nouvelle table (table2) doit contenir les meme données que la table1, en ne séléctionnant que les lignes dont les dates sont comprises entre la date de début et la date de fin rentrée dans le formulaire (dans table1, j'ai deux champs qui correspondent à une date de début et une date de fin (DATEEF et DATFIN))
voila le programme que j'ai testé:
Private Sub Valider_Click()
datd=DateDebut.value
datf=DateFin.value
If (datd = "" Or datf= "") Then
MsgBox ("Les champs ne doivent pas être vides")
Else: DoCmd.Runsql "CREATE TABLE table2 as select * from table1 where ...conditions sur les dates
end If
end SUb
Je sais que le select n'est pas autorisé avec le doCmd.runsql mais je vous ai mis ce bout de programme pour que ce soit plus clair.
Merci d'avance !
Configuration: Windows XP Internet Explorer 7.0 Access 2003
4 réponses
-
Salut,
Je pense que le problème est de SQL (pas de VBA).
Je ne sais pas pour create table as select, mais j'aurais mis:
create table table2
(colonnes)
puis:
insert into table2 (select ...) -
NNNOOONN,
elles sont deux requête indépendantes: il faut executer le create pui le insert into. -
J'ai fait le teste et cela pose problème.
Je dois partir, donc à demain je vous donnerez la réponse (si vous pouvez attendre) -
Bonjour,
J'ai une petite base de teste qui contient la table Utilisateur, le champs CodeUtilisateur (Char(25)).
J'ai créé une nouvelle table de teste que j'ai nommé test2:
create table test2 ( code CHAR(25) primary key );
Puis j'ai utilisé cette requête pour importer tous les code dans le champs code:
insert into test2(code) select CodeUtilisateur from Utilisateur;
il fallait hier que je précise qu'il faut mettre les champs à inserer ((code)).
Pour plus d'infos:
http://sql.1keydata.com/fr/sql-insert-into.php
BonCourage :)