|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() philippe tchaidjiansalarié Inscription : mars 2011 Messages : 49 ![]() |
bonjour à tous
est-il possible d'insérer simultanément plusieurs enregistrements dans une table access par requête insertion ? Après plusieurs essais, il semble que access n'accepte que les enregistrements un à un Connaissez-vous une astuce/technique de script reconnue par access pr insérer plusieurs enregistrements à la fois par le biais d'une requête insertion ; merci de me dire. Voici mon script Code :
Le motif de refus est : ; absent à la fin de l'instruction SQL. (sous entendu, dès après le 1er enregistrement ; si je place des points virgules après chaque enregistrement, ça n'est pas accepté non plus. merci de m'aider |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bonjour,
en effet avec VALUES on ne peut insérer qu'une seule ligne à la fois avec Access. Pour faire ce genre d'insertions, il est parfois plus rapide de passer par un recordset.
__________________
L'informatique fait son grand retour au lycée... |
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() philippe tchaidjiansalarié Inscription : mars 2011 Messages : 49 ![]() |
Merci de m'avoir répondu.
Donc en insérant un script type recordset dans un module de la base, l'enrichissement de la table pourrait se faire ? merci de me dire |
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() Inscription : octobre 2002 Messages : 654 ![]() |
Bonjour,
Pour insérer plusieurs lignes, les insert into select fonctionne aussi sur Access. Mais ce n'est pas adapter à ton exemple. Mais la question est quelles sont les lignes à inserer selon quelles modalités. PS: dans ta requête tu n'as pas précisé la liste des colonnes, cela n'est pas nécessaire, mais lorsque tu rajouteras une colonne à ta table, le script ne fonctionnera plus. A+ Soazig |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() philippe tchaidjiansalarié Inscription : mars 2011 Messages : 49 ![]() |
bonsoir
Dans l'exemple que j'ai repris, il faudrait notamment insérer les 3 enregistrements ds les 4 champs correspondants. Pouvez-vs svp donner un exemple avec INSERT INTO SELECT sur deux enregistrements par exemple. Merci d'avance |
|
|
00
|
|
|
#6 | ||||
|
Membre expérimenté
![]() Inscription : octobre 2002 Messages : 654 ![]() |
bonjour,
J'ai dit que le insert into select n'était pas adapté à ton cas. Exemple de : Code :
Code :
|
||||
|
|
00
|
|
|
#7 | ||
|
Candidat au titre de Membre du Club
![]() philippe tchaidjiansalarié Inscription : mars 2011 Messages : 49 ![]() |
bonjour
voici ce que je tape en me conformant à vos instructions. Code :
Il semble que access soit perturbé par la présence de plusieurs ; Qu'en dites-vs ? merci de me dire |
||
|
|
00
|
|
|
#8 | |||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bonjour,
MySQL par exemple accepte ce genre de syntaxes il me semble: Code sql :
mais Access, non Citation:
1ère requête: Code sql :
INSERT INTO Produit1(champ1, champ2,champ3,champ4) VALUES ('A001', 'Farine',0.8,65); Code sql :
INSERT INTO Produit1(champ1, champ2, champ3,champ4) VALUES ('B001', 'Sel',0.5,120); Code sql :
INSERT INTO Produit1(champ1, champ2, champ3,champ4) VALUES ('A003', 'Huile olive',5.2,9); on peut évidemment exécuter ces 3 requêtes à suivre automatiquement en VBA (voir Faq: Exécuter une requête action (ajout, suppression ou mise à jour))
__________________
L'informatique fait son grand retour au lycée... |
|||
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() philippe tchaidjiansalarié Inscription : mars 2011 Messages : 49 ![]() |
merci Fabien.
Je vais regarder si une installation de mySQL est possible pr moi |
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
Tu ne vas tout de même pas changer de SGBD uniquement à cause de ce petit problème de rien du tout
, si ?
__________________
L'informatique fait son grand retour au lycée... |
|
00
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() philippe tchaidjiansalarié Inscription : mars 2011 Messages : 49 ![]() |
je vais y réfléchir, mais access présente de nombreuses limites dès que l'on veut utiliser des traitements assez 'avancés'.
De toute façon, il n'y aurait pas migration de bases, seules les nouvelles seraient le cas échéant ouvertes et traitées avec un nouvel SGBD merci encore |
|
|
00
|
|
|
#12 |
|
Membre expérimenté
![]() Inscription : octobre 2002 Messages : 654 ![]() |
Bonsoir,
Il faut trois requêtes dans la plupart des SGBD, à moins de bricoler quelque chose d'infâme. Pourquoi le fait d'enchainer trois requêtes t'embêtes, comment sont-elles lancées, à l'aide de quel outils ou de quel code. Il y a beaucoup de bonnes raisons pour se passer d'access, mais ne pas pouvoir faire trois insert dans une seule requête est une très mauvaise raison. Par ailleurs la syntaxe MYSQL n'est pas standard et me semble abominable. A+ Soazig |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com