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

Ajout de table

6 réponses
Avatar
Docteur Jekyll
Bonjour à tous.

Je vais essayer d'être précis......

Deux tables..A et B étant liées la A par la clée primaire sur la B par
unerique entier avec formulaire et sous formulaire. Tout est ok.

On me donne Une table C qui est conçue en une seule table.

Je peux bien ajouter une partie de cette table dans A mais comment ajouter
dans B avec le même numéro? Car cette nouvelle table ajouter va changer de
N° de clé primaire.

Merci par avance de vos idées

6 réponses

Avatar
Thierry (ze Titi)
Bonjour Docteur Jekyll

Il te faudra utiliser une petite procédure VBA.

Dim rs as DAO.Recordset, rsTableA as DAO.Recordset, rsTableB as DAO.Recordset, variableId As Variant
set rs=CurrentDb.OpenRecordset("TableC",dbOpenDynaset)
set rsTableA=CurrentDb.OpenRecordset("TableA", dbOpenDynaset)
Set rsTableB=CurrentDb.OpenRecordset("TableB", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
While Not rs.EOF
rsTableA.AddNew
rsTableB.AddNew
rsTableA!champ1=rs!champ1
rsTableA!champ2=rs!champ2
variableId=rsTableA!champIdentifiant
rsTableA.Update
rsTableB!champLiaison=variableId
rsTableB!champ1=rs!champ3
...
rsTableB.Update
rs.MoveNext
Wend
Set rs=Nothing
Set rsTableA=Nothing
Set rsTableB=Nothing

A tester...

Dans ton message <4701e75a$0$9024$ du mardi 02/10/2007 jour de Saint Léger, tu as pris l'initiative de nous narrer les faits suivants:
Bonjour à tous.

Je vais essayer d'être précis......

Deux tables..A et B étant liées la A par la clée primaire sur la B par
unerique entier avec formulaire et sous formulaire. Tout est ok.

On me donne Une table C qui est conçue en une seule table.

Je peux bien ajouter une partie de cette table dans A mais comment ajouter
dans B avec le même numéro? Car cette nouvelle table ajouter va changer de N°
de clé primaire.

Merci par avance de vos idées


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
Rv
Salut,

Essayons de préciser. Est-ce que la situation peut se résumer à ceci:
Etat initial : Table A(clé primaire table a, champs1), Table B(clé primaire
table b, champs2, clé table a), Table C(clé primaire table c, champs1,
champs2)
Objectif : Copier tous les enregistrements de la table C dans la structure
composée des tables A, B.

Si c'est le cas on peut procéder en 2 requêtes ajout successives:
- Ajout des enregistrements distincts, depuis C dans A: champs 1 et la clé
primaire de la table c (ceci dans une nouvelle colonne créée temporairement
pour cette opération)
- Ajout des enregistrements, depuis C lié à A, dans B: champs 1 et la clé
primaire de la table A.

On peut aussi procéder en VBA par un parcours de la table C et un ajout
successif dans les tables A et B.


Je ne précise pas car je ne suis pas sûr de bien comprendre le problème...

A+

Rv
"Docteur Jekyll" a écrit dans le message de
news:4701e75a$0$9024$
Bonjour à tous.

Je vais essayer d'être précis......

Deux tables..A et B étant liées la A par la clée primaire sur la B par
unerique entier avec formulaire et sous formulaire. Tout est ok.

On me donne Une table C qui est conçue en une seule table.

Je peux bien ajouter une partie de cette table dans A mais comment ajouter
dans B avec le même numéro? Car cette nouvelle table ajouter va changer de
N° de clé primaire.

Merci par avance de vos idées



Avatar
Fabien
Bonjour à tous.

Je vais essayer d'être précis......

Deux tables..A et B étant liées la A par la clée primaire sur la B par
unerique entier avec formulaire et sous formulaire. Tout est ok.

On me donne Une table C qui est conçue en une seule table.

Je peux bien ajouter une partie de cette table dans A mais comment ajouter
dans B avec le même numéro? Car cette nouvelle table ajouter va changer de
N° de clé primaire.

Merci par avance de vos idées


Bonjour,

Je suppose que tes éléments de la table C sont indexés.
Donc il suffit d'une 1er requete d'ajout des éléments de C dans A
Puis une requéte qui remonte le N° de clef primaire de chaque éléments
ajoutés. ET avec cette requete tu ajoutes dans B les infos de C + le N°
de clef primaire déterminé par la requete Précédente.
Suis-je clair ???
Soit une table A
N° Index champA1 champA2 champA3
Une table B
N°indexIdemA ChampB1 champB2 champB3
Une table C
N°IndexC ChampC1 ChampC2 ChampC3 ChampC4,ChampC5,ChampC6

Requete1
Insert into TableA (ChampA1,ChampA2,ChampA3) select
ChampC1,ChampC2,ChampC3 from TABLEC

Requete2
Select TableA.N°INDEX,ChampC4,ChampC5,ChampC6 from TABLEA left joint
TableC ON (ChampC1=ChampA1)

Requete3
Insert Into TableB (N°INDEXIDEMA,ChampB1,champB2,champB3) select
N°INDEX,ChampC4,ChampC5,ChampC6 ) from Requete2

Voilà Avec quelques choses dans ce goût là .....

Avatar
Thierry (ze Titi)
Bonjour Fabien !

Ca fait quelques jours que nous n'avions pas le plaisir de te lire...
Tu nous snobes ? ;-)


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info
Avatar
Fabien
Bonjour Fabien !

Ca fait quelques jours que nous n'avions pas le plaisir de te lire... Tu
nous snobes ? ;-)




Ben non mais quant lucky luke Raymon est en ville je me fais trés petit ;-)

Avatar
Docteur Jekyll
Je vais essayer cet après midi..Merci à tous
"Fabien" a écrit dans le message de news:
4702046b$0$5107$
Bonjour Fabien !

Ca fait quelques jours que nous n'avions pas le plaisir de te lire... Tu
nous snobes ? ;-)




Ben non mais quant lucky luke Raymon est en ville je me fais trés petit
;-)