Boucle for en access pour concatener tables
arfi13
-
Bobby_64 -
Bobby_64 -
Bonjour,
voila mon probleme:
j'ai 10 linked tables nommees 1,2,3,4,5,6,7,8,9 et 10. j'aimerais les concatener dnas une table nommee TABLE1.
Est-il possible d'ecrire une boucle du style
for i=1:10
INSERT INTO [TABLE1]
SELECT [i].*
FROM i;
afin d'eviter une dizaine de requete en demandant de concatener a chaque fois...
Merci d'avance......
voila mon probleme:
j'ai 10 linked tables nommees 1,2,3,4,5,6,7,8,9 et 10. j'aimerais les concatener dnas une table nommee TABLE1.
Est-il possible d'ecrire une boucle du style
for i=1:10
INSERT INTO [TABLE1]
SELECT [i].*
FROM i;
afin d'eviter une dizaine de requete en demandant de concatener a chaque fois...
Merci d'avance......
A voir également:
- Boucle for en access pour concatener tables
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Concatener deux cellules excel - Guide
- Tables des matières word - Guide
- Inverse de concatener excel ✓ - Forum Bureautique
- Excel - Inverse de Concatenate ✓ - Forum Excel
2 réponses
Salut,
si c'est à faire une seule fois, fais-le à la main.
Sinon, prends du VBA, parcours les objets, prends les tables qui t'intéressent et fais une insertion via recordset.
si c'est à faire une seule fois, fais-le à la main.
Sinon, prends du VBA, parcours les objets, prends les tables qui t'intéressent et fais une insertion via recordset.
ouvre vba, créer un module
public sub concatene()
for i = 1 to 10
strSQL = "SELECT * FROM " & i & ";"
' (ou "SELECT * FROM '" & i & "';")
Set res = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)
While Not res.EOF
strSQL = "INSERT INTO Table1 VALUES " & res & ";"
#
je ne pense pas que ça va marcher, si ça ne marche pas:
strSQL = "INSERT INTO Table1 (Champs1, Champs2,... ) & _
VALUES (" & res.Fields("ChampsA") & ", " & res.Fields("ChampsB") & ... & ";"
Champs1, Champs2... les noms des champs dans table1 et champsA, champsB le nom des champs correspondants dans tes tables 1,2,...,10 (il faut que ça soit le même dans toute).
PS: si c'est des string n'oublie pas les '
... (" & res.("Nom") & ",... => ('" & res.("Nom") & "', ...
#
CurrentDb.Execute strSQL
res.MoveNext
Wend
next i
end sub
public sub concatene()
for i = 1 to 10
strSQL = "SELECT * FROM " & i & ";"
' (ou "SELECT * FROM '" & i & "';")
Set res = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)
While Not res.EOF
strSQL = "INSERT INTO Table1 VALUES " & res & ";"
#
je ne pense pas que ça va marcher, si ça ne marche pas:
strSQL = "INSERT INTO Table1 (Champs1, Champs2,... ) & _
VALUES (" & res.Fields("ChampsA") & ", " & res.Fields("ChampsB") & ... & ";"
Champs1, Champs2... les noms des champs dans table1 et champsA, champsB le nom des champs correspondants dans tes tables 1,2,...,10 (il faut que ça soit le même dans toute).
PS: si c'est des string n'oublie pas les '
... (" & res.("Nom") & ",... => ('" & res.("Nom") & "', ...
#
CurrentDb.Execute strSQL
res.MoveNext
Wend
next i
end sub