Bonjour à tous !
j'aimerai savoir comment faire, pour que, lorsque j'ajoute un nouveau numero de clé primaire (2000) dans la table A, il soit possible qu'il se rajoute automatiquement dans la table B.
merci d'avance
Bonjour à tous !
j'aimerai savoir comment faire, pour que, lorsque j'ajoute un nouveau numero de clé primaire (2000) dans la table A, il soit possible qu'il se rajoute automatiquement dans la table B.
merci d'avance
Les déclencheurs ne sont pas gérés dans Access, tu dois programmer ceci de toi-meme en VBA.
Bjr,
Clause INSERT INTO ou méthode AddNew...
SE
Merci !
j'ai créé un formulaire pour l'ajout, j'ai créé mon boutton "AJOUT" a l'aide de l'assistant. son VB est celui-ci :
Mais je ne suis pas tres bon en VB, pourrais tu me donner une indication sur l'endroit où je pourrai placer les lignes de programme et quel serait a peu pres ces lignes ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub ajout_Click() On Error GoTo Err_ajout_Click DoCmd.GoToRecord , , acNewRec Exit_ajout_Click: Exit Sub Err_ajout_Click: MsgBox Err.Description Resume Exit_ajout_Click End Sub
Avant ou apres DoCmd.GoToRecord , , acNewRec.
Utilise une requete de type INSERT INTO comme stéphane_ais2 te l'a suggere. Regarde la FAQ pour savoir comment executer une requete d'action en VBA. (Docmd.RunSQL,...)
En esperant t'aider.
C'est pa facile, je viens de prendre l"exemple de ce vba :
mais ces 2 lignes ne marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Parameters TON_PARAM Text; Insert Into TABLE1 Select CHAMP1 From TABLE2 Where CHAMP2 = [TON_PARAM]; Set qdf = CurrentDb.QueryDefs("TAREQUETE") With qdf .Parameters("TON_PARAM") = TaVariable .Execute End With
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Parameters TON_PARAM Text; Insert Into TABLE1 Select CHAMP1 From TABLE2 Where CHAMP2 = [TON_PARAM];
Eh bien pour commencer lis en entier les réponses qu'on te donne. Une requête d'insertion ne s'utilise pas ainsi en VBA.
Bon voila ce que ca donne :
je pensse que j'y suis preske mais je recois le msgbox suivant : "Objet requis"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 DoCmd.GoToRecord , , acNewRec StrSql = "INSERT INTO Envoyer VALUES (" & Ajouter!numero & ");" DoEvents DoCmd.SetWarnings False DoCmd.RunSQL StrSql DoEvents DoCmd.SetWarnings True
Avant le DoCmd.RunSQL StrSql fais unTu verras ainsi en quoi la requête que tu tentes d'exécuter n'est pas bonne. Si ce n'est pas suffisant copie et exécute la requête dans le QBE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Debug.Print StrSql
Aussi, merci de penser à signaler la ligne où l'erreur se produit, tu feras gagner du temps à ceux qui veulent t'aider et donc également à toi-même.
J'essaye toujours d'être le plus précis dans mes questions .
Mais la je n'ai qu'un msgbox et c'est tout. "rien qui ne m'améne au debogueur"...
Salut,
"& Ajouter!numero & "
si Ajouter est un formulaire utilise plutôt cette syntaxe
ou Me.numero si ton code est exécuté à partir du module de classe du form Ajouter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part StrSql = "INSERT INTO Envoyer VALUES (" & Forms!Ajouter!numero & ");"
Je ne vois que ça en objets requis.
Merci !
Bon je viens d'essayer, mais lorsque je modifie la requête sql et que je l'execute j'ai une erreur de syntaxe sur la requête sql...
et le me.numero ne marche pas...
Specifie dans la requete le champ de la table qui va recevoir cette valeur.
ok j'essaye ca tout de suite!
Je viens dessayer, je recoit le msgbox "objet requis".
si je fais la modifciation de Faw avec le "Forms!" je recois: "erreur de sytaxe dans la requête sql"
voila actuellement mon programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Private Sub valider_Click() On Error GoTo Err_valider_Click Dim Db As Database Debug.Print StrSql DoCmd.GoToRecord , , acNewRec StrSql = "INSERT INTO Envoyer(num_acteur) VALUES (" & Ajouter!numero & ");" DoEvents DoCmd.SetWarnings False Debug.Print StrSql DoCmd.RunSQL StrSql DoEvents DoCmd.SetWarnings True Exit_valider_Click: Exit Sub Err_valider_Click: MsgBox Err.Description Resume Exit_valider_Click End Sub
Peux-tu nous montrer ce que t'affiche le Debug.Print ?
Je vais expliquer du mieux possible la situation :
Quand j'ai :
-je recois seulement un msgbox "objet requis" et le debut print n'affiche rien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part StrSql = "INSERT INTO Envoyer(num_acteur) VALUES (" & Ajouter!numero & ");"
Quant j'ai :
-je recois un msgbox me disant "erreur de syntaxe dans la requête" et le debug.print m'affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part StrSql = "INSERT INTO Envoyer(num_acteur) VALUES (" & Forms!Ajouter!numero & ");"
Code : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO Envoyer(num_acteur) VALUES ();
As-tu bien un formulaire Ajouter qui est ouvert qui contient un controle nommé numero ?
Ajouter est-il le formulaire sur lequel tu es actuellement ?
Mon formulaire "Ajouter" est bien ouvert, j'ai bien un contôle "numero", et "ajouter" est le formulaire où je suis actuellement.
voila des informations suplémentaires, mon formuliare est un formulaire d'ajout.
1) je saisie le nom, le prenom, l'adresse etc... ( je ne saisie pas le "numero" acteur qui est un numero auto)
2) je click sur le boutton "ajouter" pour passe au suivant et ainsi declancher la procedure événementielle sur click qui doit déclencher mon programme...
Bon voila j'en est plus que marre ca fait 15heures que je suis sur le meme probléme je vais rassembler les 2 tables en une seule comme ca plus de problémes.....
merci quand meme demco !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager