Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Insert de dossier dans table différent

5 réponses
Avatar
Mathieu Brillon
J'ai un formulaire basé sur une table et un bouton qui enregistre
l'information attaché à cette table.

Je veux qu'en appuyant sur le bouton pour enregistrer l'information dans la
table rattaché au formulaire, aussi générer "X" nouveaux dossier dans une
autre table qui est dans ma base de donnée access.

J'ai la fonction pour la boucle du nombre de dossier, mais je voudrais
savoir si on pouvais manuellement faire comme un "INSERT" de SQL dans
n'importe quelle des table de ma base de donnée courrante.

Merci

5 réponses

Avatar
Raymond [mvp]
Bonsoir.

tu peux lancer une requête ajout vers n'importe quelle table à partir de ta
boucle située dans un formulaire.
voir la commande Docmd.RunSql et Currentdb.Execute

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mathieu Brillon" <Mathieu a écrit dans
le message de news:
J'ai un formulaire basé sur une table et un bouton qui enregistre
l'information attaché à cette table.

Je veux qu'en appuyant sur le bouton pour enregistrer l'information dans
la
table rattaché au formulaire, aussi générer "X" nouveaux dossier dans une
autre table qui est dans ma base de donnée access.

J'ai la fonction pour la boucle du nombre de dossier, mais je voudrais
savoir si on pouvais manuellement faire comme un "INSERT" de SQL dans
n'importe quelle des table de ma base de donnée courrante.

Merci


Avatar
Mathieu Brillon
J'ai essayer de faire de DoCmd.RunSql, mais je recois une erreur: "Impossible
de trouver le champs 'I'auquel il fait référence dans votre expression"

"Raymond [mvp]" wrote:

Bonsoir.

tu peux lancer une requête ajout vers n'importe quelle table à partir de ta
boucle située dans un formulaire.
voir la commande Docmd.RunSql et Currentdb.Execute

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mathieu Brillon" <Mathieu a écrit dans
le message de news:
J'ai un formulaire basé sur une table et un bouton qui enregistre
l'information attaché à cette table.

Je veux qu'en appuyant sur le bouton pour enregistrer l'information dans
la
table rattaché au formulaire, aussi générer "X" nouveaux dossier dans une
autre table qui est dans ma base de donnée access.

J'ai la fonction pour la boucle du nombre de dossier, mais je voudrais
savoir si on pouvais manuellement faire comme un "INSERT" de SQL dans
n'importe quelle des table de ma base de donnée courrante.

Merci







Avatar
Raymond [mvp]
et quelle est ta commande ?


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mathieu Brillon" a écrit dans le
message de news:
J'ai essayer de faire de DoCmd.RunSql, mais je recois une erreur:
"Impossible
de trouver le champs 'I'auquel il fait référence dans votre expression"



Avatar
Mathieu Brillon
Voici une partie de la fonction

+++++++++++++++++++++++++++++
Dim conteur As Integer
Dim db As CurrentData

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

conteur = [Nombre Activité]

Do While conteur > 0
DoCmd.RunSQL ("INSERT [Activité ID],[Fusion ID] VALUES (conteur,
Me![Numéro Fusion])" & _
"FROM [Liste Activité état]")
conteur = conteur - 1
Loop

DoCmd.Close
+++++++++++++++++++++++++++++++

'Nombre Activité' est une requête faite pour compter le nombre
d'enregistrement dans une de mes tables.

Merci pour l'aide.


et quelle est ta commande ?


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mathieu Brillon" a écrit dans le
message de news:
J'ai essayer de faire de DoCmd.RunSql, mais je recois une erreur:
"Impossible
de trouver le champs 'I'auquel il fait référence dans votre expression"








Avatar
Raymond [mvp]
Bonsoir.

tu ne peux pas faire une requête comme celle que tu as fait:
si tu veux insérer des valeurs dans des champs il faut indiquer des
littéraux et non des variables que la requête ne connait pas. Elle connait
les formulaires mais elle ne connait pas le Me!
la syntaxe de la requête est celle-ci:
INSERT INTO TableCible ( Numéro, Madate ) SELECT 500 AS Expr1, #5/2/2005# AS
Expr2;
ce qui donnerait pour toi, en passant le compteur en contrôle de formulaire:

INSERT INTO Tatable ( [Activité ID], [Fusion ID]) SELECT
[Formulaires]![Formulaire1]![Activité ID] AS Expr1,
[Formulaires]![Formulaire1]![Fusion ID] AS Expr2;
tout ceci n'étant qu'un exemple à adapter à ta boucle.
si tu veux insérer une variable, il faut passer par une fonction public qui
te retournera la valeur de la variable que pourra reconnaître la requête.

par ailleurs:
surtout pas ça: Dim db As CurrentData qui doit mettre la panique dans le
vba.
indique Dim Db As DAO.DataBase
tu peux remplacer le menuitem par :
DoCmd.RunCommand acCmdSaveRecord

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mathieu Brillon" a écrit dans le
message de news:
Voici une partie de la fonction

+++++++++++++++++++++++++++++
Dim conteur As Integer
Dim db As CurrentData

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

conteur = [Nombre Activité]

Do While conteur > 0
DoCmd.RunSQL ("INSERT [Activité ID],[Fusion ID] VALUES (conteur,
Me![Numéro Fusion])" & _
"FROM [Liste Activité état]")
conteur = conteur - 1
Loop

DoCmd.Close
+++++++++++++++++++++++++++++++

'Nombre Activité' est une requête faite pour compter le nombre
d'enregistrement dans une de mes tables.

Merci pour l'aide.


et quelle est ta commande ?


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mathieu Brillon" a écrit dans
le
message de news:
J'ai essayer de faire de DoCmd.RunSql, mais je recois une erreur:
"Impossible
de trouver le champs 'I'auquel il fait référence dans votre expression"