|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 8 ![]() |
Bonjour.
Il y a peu de temps, je posais une question et, suite aux conseils de Richard_35, j'ai recommencé ma base de données pour la faire en deux tables. C'est chose faite, et j'y vois plus clair. Maintenant j'en suis au même point qu'avant. Mais ma demande a changé. Je dois faire des insertions multiples dans la deuxième table, mais sans prendre les données dans la première. Après de multiples recherches, j'ai constaté que c'était impossible. Mais n'y a-t-il vraiment aucun moyen ? Une astuce ? Peut-être une boucle ? |
|
|
00
|
|
|
#2 |
![]() ![]() |
Bonjour
Que veux-tu dire par insertion multiples ? Si tu dois insérer plusieurs lignes identiques dans une même table, c'est qu'il y a un petit soucis. Merci donc de détailler avec un exemple. Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 8 ![]() |
Oh, oui, c'est vrai, j'ai pas précisé
Donc j'ai une table avec ID, DD, DF. ID est numérique, DD et DF sont des dates. Pour insérer une seule ligne, ça va : Code sql :
id, date et date2, je les entre au moment de l'exécution de la requête. L'idée serait de pouvoir rentrer plusieurs id et une seule fois date et date2, pour insérer des lignes qui auront donc des ID différents et les mêmes DD et DF. Tout ce que j'ai essayé a raté. Et j'ai l'impression que ce que je recherche, c'est le graal dans access. Une solution ? Je veux dire, une solution autre que : tourne-toi vers Oracle |
||
|
|
00
|
|
|
#4 | ||
![]() ![]() |
Re
OK, un petit exemple à adapter avec un boucle Code :
Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 8 ![]() |
Merci, je vais essayer... et essayer de comprendre en le voyant fonctionner. Je teste et je reviens dire ce qu'il en est. Encore merci.
|
|
|
00
|
|
|
#6 |
![]() ![]() |
Re
Comme je l'ai dit, ce n'est qu'un exemple. Il faut également sortir Date et Date2 comme le i, car à mon avis ce sont des variables. Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 8 ![]() |
Après une petite adaptation, ça fonctionne bien :
Code :
Edit : ça ne fonctionne pas Je ne suis pas doué. Mais peut-être que je dois les entrer dans une autre requête sql, et pas dans le module. Par exemple une table temporaire que j'efface sitôt le module exécuté. Edit2 : Ne fonctionne toujours pas, mais je ne désespère pas. En fait, date et date2 doivent être des valeurs (dates) fixes. |
||
|
|
00
|
|
|
#8 | ||||||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 8 ![]() |
Ca y est, j'ai réussi !
Je viens poster pour que tout le monde sache comment faire une insertion multiple dans une table access (que j'appelerai ici table_cible). Cette table_cible comporte 3 colonnes ID (numérique), DD et DF (date) D'abord, j'ai créé deux tables tmp et tmp2 qui ne sont pas temporaires, mais leurs données oui. Dans tmp, il y a une colonne ID (numérique), dans tmp2, il y a deux colonnes D1 et D2 (dates). Ensuite, grâce à Philippe JOCHMANS qui m'a été d'une aide précieuse et indispensable, j'ai créé un module qui va insérer autant de ID que je veux dans tmp : Code :
Code sql :
Et enfin, j'ai créé une autre commande SQL qui insère les données de tmp et tmp2 dans table_cible : Code sql :
Et là, miracle, dans ma table_cible apparaissent les différents ID que j'ai rentré, et chaque ID a les mêmes valeurs pour DD et DF. Bien sûr, je n'oublie pas qu'il faut effacer les données de tmp et tmp2 avec un DELETE FROM. Il ne me reste plus qu'à créer une macro pour me faciliter la vie, et le tour est joué. Merci mille fois Philippe JOCHMANS pour ton aide, je n'y serais jamais arrivé sans toi. Résolu donc. Edit = Merci également à Richard_35 sans qui je me débattrais toujours dans une base de données avec une table, très compliquée et pas pro du tout. |
||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com