OVH Cloud OVH Cloud

Ecrire d'une table à une autre

5 réponses
Avatar
Luis
Bonjour,
Je veux écrire certaines données d'une table depuis un formulaire à une
autre table:
J'ai fais ce module:

Dim Db As DAO.Database
Dim TableA As Recordset
Dim TableB As Recordset
Dim NOMCANDIDAT As Integer, InfoNOMCANDIDAT As Integer,
IndiceNOMCANDIDAT As Integer

Function SetIncriptionannonces()

Set Db = CurrentDb
Set TableA = Db.OpenRecordset("SELECT
NCOURRIER,[NOMCANDIDAT],[PRENOMCANDIDAT],[ANNONCE],[COMMERCIAL],[DATERECEPTION],[POUR
POSTE],[NANNONCE] FROM [COURRIERSCANDIDATS] WHERE NCOURRIER =" &
Forms![Agenda].NCOURRIER)
Set TableB = Db.OpenRecordset("SELECT
NCOURRIER,[NOMCANDIDAT],[PRENOMCANDIDAT],[IntAnnonce],[COMMERCIAL],[DATERECEPTION],[POUR POSTE],[NANNONCE] FROM [INSCRIPTIONSANNONCES] ORDER BY NCOURRIER;")

If Not (TableA.BOF And TableA.EOF) Then
TableB.FindFirst ("NCOURRIER=" & TableA!NCOURRIER)
If TableB.NoMatch Then
For NOMCANDIDAT = 1 To 1
GoSub AjouterNOMCANDIDAT
GoSub EcrireNOMCANDIDAT
Next NOMCANDIDAT
Else
For NOMCANDIDAT = 1 To 1
If TableB.EOF Then
GoSub AjouterNOMCANDIDAT
Else
If TableB!NCOURRIER <> TableA!NCOURRIER Then
GoSub AjouterNOMCANDIDAT
Else
TableB.Edit
End If
End If
GoSub EcrireNOMCANDIDAT

If Not TableB.EOF Then TableB.MoveNext

Next NOMCANDIDAT
End If
End If
TableA.Close

A l'exécution j'ai une erreur:

Erreur d'exécution '3061'
Trop peu de paramètres. 1 attendu.

Je ne vois pas où il manque de paramètres.

Est-ce que vous pouvez jeter un coup d'oeil et me dire où il y a erreur?
Merci.
Luis

5 réponses

Avatar
Gafish
Luis wrote:
Bonjour,


Bonjour,

Je veux écrire certaines données d'une table depuis un formulaire à
une
autre table:
Set TableA = Db.OpenRecordset("SELECT

NCOURRIER,[NOMCANDIDAT],[PRENOMCANDIDAT],[ANNONCE],[COMMERCIAL],[DATERECEPTI

ON],[POUR
POSTE],[NANNONCE] FROM [COURRIERSCANDIDATS] WHERE NCOURRIER =" &
Forms![Agenda].NCOURRIER)

A l'exécution j'ai une erreur:




Cette erreur la survient quand il n'y a rien face le where d'une requête,
donc à mon avis le problème si situe dans la ligne que j'ai laissé ci-dessus
au niveau du ncourrier.
De quel type est ton champ ?
Es tu sûr de l'orthographe et du chemin pour accéder à la zone ncourrier ?
Que contient cette zone au moment de la requête ?

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Luis
Bonjour Arnaud,

NCOURRIER est bien dans la table "COURRIERSCANDIDATS" au format Numéro Auto
Entier Long

et doit s'écrire dans [NCOURRIER] de la table "INSCRIPTIONSANNONCES" au
format Numérique Entier Long.

Dans le formulaire [Agenda], le champ s'appelle aussi [NCOURRIER].

Est-ce que tu vois une anomalie?
Merci pour ton aide.
Luis


Luis wrote:
Bonjour,


Bonjour,

Je veux écrire certaines données d'une table depuis un formulaire à
une
autre table:
Set TableA = Db.OpenRecordset("SELECT

NCOURRIER,[NOMCANDIDAT],[PRENOMCANDIDAT],[ANNONCE],[COMMERCIAL],[DATERECEPTI

ON],[POUR
POSTE],[NANNONCE] FROM [COURRIERSCANDIDATS] WHERE NCOURRIER =" &
Forms![Agenda].NCOURRIER)

A l'exécution j'ai une erreur:




Cette erreur la survient quand il n'y a rien face le where d'une requête,
donc à mon avis le problème si situe dans la ligne que j'ai laissé ci-dessus
au niveau du ncourrier.
De quel type est ton champ ?
Es tu sûr de l'orthographe et du chemin pour accéder à la zone ncourrier ?
Que contient cette zone au moment de la requête ?

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Gafish
Luis wrote:
Bonjour Arnaud,

NCOURRIER est bien dans la table "COURRIERSCANDIDATS" au format
Numéro Auto Entier Long

et doit s'écrire dans [NCOURRIER] de la table "INSCRIPTIONSANNONCES"
au format Numérique Entier Long.

Dans le formulaire [Agenda], le champ s'appelle aussi [NCOURRIER].

Est-ce que tu vois une anomalie?
Merci pour ton aide.
Luis


Essaie de faire avant ta requête un
msgbox Forms![Agenda].NCOURRIER
pour voir ce qu'il a dans le ventre :)

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Luis
Bonjour Arnaud,
La msgbox me répond le numéro de NCOURRIER de la fiche sélectionnée par
exemple

"3" ou "245" etc... selon l'enregistrement depuis lequel on appelle.

Luis


Luis wrote:
Bonjour Arnaud,

NCOURRIER est bien dans la table "COURRIERSCANDIDATS" au format
Numéro Auto Entier Long

et doit s'écrire dans [NCOURRIER] de la table "INSCRIPTIONSANNONCES"
au format Numérique Entier Long.

Dans le formulaire [Agenda], le champ s'appelle aussi [NCOURRIER].

Est-ce que tu vois une anomalie?
Merci pour ton aide.
Luis


Essaie de faire avant ta requête un
msgbox Forms![Agenda].NCOURRIER
pour voir ce qu'il a dans le ventre :)

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Luis
Bonjour Arnaud,
J'ai trouvé d'où vient le problème et j'ai honte de te dire pourquoi.
[POUR POSTE] est [POURPOSTE] dans la table.
Je suis désolé pour ce dérangement et je te remercie pour ta gentillesse.
Luis


Luis wrote:
Bonjour Arnaud,

NCOURRIER est bien dans la table "COURRIERSCANDIDATS" au format
Numéro Auto Entier Long

et doit s'écrire dans [NCOURRIER] de la table "INSCRIPTIONSANNONCES"
au format Numérique Entier Long.

Dans le formulaire [Agenda], le champ s'appelle aussi [NCOURRIER].

Est-ce que tu vois une anomalie?
Merci pour ton aide.
Luis


Essaie de faire avant ta requête un
msgbox Forms![Agenda].NCOURRIER
pour voir ce qu'il a dans le ventre :)

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr