Problème de requête en VBA - Access 2003

Fermé
Jed - 21 avril 2008 à 14:42
 jed - 22 avril 2008 à 14:08
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 !
A voir également:

4 réponses

tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 122
21 avril 2008 à 15:07
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 ...)
0
tu veux dire comme ca
...
Else:
DoCmd.RunSQL "CREATE TABLE table2 (MATRIC char,CODHOP char,...) insert into table2 (select * from PAF where...)"
...

Ca fonctionne pas...

erreur d'exécution 3290
erreur de syntaxe dans l'instruction create table

merci quand meme de ton aide
0
Quelqu'un d'autre à une solution ?
0
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 122
21 avril 2008 à 16:05
NNNOOONN,


elles sont deux requête indépendantes: il faut executer le create pui le insert into.
0
lol ok jvai voir ca.
merci
0
lol ok jvai voir ca.
merci

Si j'ai bien compri voila ce ke ca doit donné:
...
Else:
DoCmd.RunSQL "CREATE TABLE table2 (MATRIC char,CODHOP char,...)"
DoCmd.RunSQL "insert into table2 (select * from PAF where...)"
...

Et cette fois-ci: erreur dans l'instruction insert into
0
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 122
21 avril 2008 à 16:32
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)
0
c'est très gentil de votre part.
Merci beaucoup.
A demain
Bonne fin de journée
0
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 122
22 avril 2008 à 12:08
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 :)
0
merci beaucoup. ca fonctionne !!!
0

Discussions similaires