[Access] Enregistrement Requetes.

DJELiTe -  
 DJELiTe -
Voilà en fait j'aimerais qu'on sache sauvegarder les résultats d'une requête dans un table dont on définirait le nom à chaque fois...
Dans le genre de l'option save as ou save in je sais pas trop.
Il faudrait que ca crée la table avec les données de la requete en fait.. Est ce possible ?
Merci d'avance
A voir également:

13 réponses

teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Salut, mes connaissance access remonte a la version 9x, et environ a la meme annee, mais oui c'est (c'etait en tout cas) possible au travers des macros ecrites en VBA :o)

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre
0
DJELiTe
 
Ah oki et t'aurais plus une petite idée des fonctions à utiliser par hasard ? Car j'suis "novice" en vba lol
Merci
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Oula, c'est beaucoup demande a ma memoire, ca date de 5 ams je crois :o)
Mais il me semble que ce que je faisais c'est prendre les resultats de la requete un a un et les inserer dans la nouvelle table (avec une boucle while), rien de sorcier mais je ne me souviens plus de la syntaxe...

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre
0
DJELiTe
 
Ah oki... Hum j'vais essayer de me documenter un peu... Le truc le plus dur c'est de demander quelle table on veut créer avec ces données et de dire de faire la table et de mettre les données dedans quoi :-/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DJELiTe
 
Private Sub Command175_Click()
Dim strInput As String, TableName As String, strMsg As String
TableName = strInput
strMsg = "In Wich Table?"
strInput = InputBox(Prompt:=strMsg, Title:=("Save In"), XPos:=2000, YPos:=2000)
If strInput <> "" Then
DoCmd.CopyObject , "Query result", acTable, "TableName"
Else
MsgBox "You have to enter a table name"
End If
End Sub


Suis-je dans la bonne voie ? :-/
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Oui :o) Sauf que je ne sais pas si le CopyObject est la bonne chose mais peut etre,...

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre
0
DJELiTe
 
Nop c'est pas ca ca foire a mort :-/
0
blux Messages postés 27987 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Salut,

tu veux stocker dans une table qui existe déjà, ou il faut la créer à chaque fois ?

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
DJELiTe
 
Dans une nouvelle à chaque fois mais j'ai trouver :)
Le seul prob c'est qu'il me mets les enregistrements en décallés a chaque fois en fait...
Style :
FLangue FSexe
FR
FR
M
F
Etc...
Sinon le code:
s = InputBox(Prompt:="Table Name??", Title:=("Do you want to save the query results?"))
DoCmd.RunSQL "create Table " & s & " (FLangage Text,FGender Text)"
DoCmd.SetWarnings False
DoCmd.RunSQL "insert into " & s & " (FLangage) select TblCustomer.FLangage FROM TblCustomer WHERE TblCustomer.FLangage = '" + (Combo1.Value) + "'"
DoCmd.RunSQL "insert into " & s & " (FGender) select TblCustomer.FGender FROM TblCustomer"
DoCmd.SetWarnings True
0
blux Messages postés 27987 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
C'est parce que tu mets à jour ta table avec 2 requêtes l'une derrière l'autre ! Il ajoute d'abord les langages puis les fgender...

Il faut mettre à jour les champs en même temps...

Je peux te proposer du VBA un peu plus 'propre' si tu le souhaites :-)

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
DJELiTe
 
Ouep j'ai trouver pkoi ca faisait ca...
DoCmd.RunSQL "create Table " & s & " (FLangage Text,FGender Text,FLastName Text,FFirstName Text,FTitel Text,FFunction Text,FHierarchy Text,FDept Text,FSpouse Text,FEmail Text,FHospital Text,FHospitalTel Text,FHospitalFax Text,FHospitalPager Text,FHospitalTelOR Text)"
DoCmd.SetWarnings False

DoCmd.RunSQL "insert into " & s & " (FLangage,FGender,FLastName,FFirstName,FTitel,FFunction,FHierarchy,FDept,FSpouse,FEmail,FHospital,FHospitalTel,FHospitalFax,FHospitalPager,FHospitalTelOR) select TblCustomer.FLangage,TblCustomer.FGender,TblCustomer.FLastName,TblCustomer.FFirstName,TblCustomer.FTitel,TblCustomer.FFunction,TblCustomer.FHierarchy,TblCustomer.FDept,TblCustomer.FSpouse,TblCustomer.FEmail,TblCustomer.FHospital,TblCustomer.FHospitalTel,TblCustomer.FHospitalFax,TblCustomer.FHospitalPager,TblCustomer.FHospitalTelOR FROM TblCustomer WHERE TblCustomer.FLangage = '" + (Combo1.Value) + "'AND TblCustomer.FFunction = '" + (Combo2.Value) + "'"
DoCmd.SetWarnings False

Comme ca le code est bon.

Pkoi il faut mettre a jiur les champs au fait ?

Merci :)
0
blux Messages postés 27987 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Quand je disais "mettre à jour", je pensais à "création" d'une ligne dans la table avec l'ordre insert...

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
DJELiTe
 
Ah oké.. Ben maintenant c'est ok, j'te remercie pour tout :)
0