Bonjour, J'ai 3 tables ayan tla même structure :
ID, Field1 , Field2 , Field 3, Field 4
J'aimerais réunir ces trois tables en une seule avec le champ ID qui
s'autoincrémente.
Quelqun sait il comment faire ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre CFI [mvp]
bonjour tu as pas déjà posé le méme question ???
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Leol" <Léo> a écrit dans le message de news:414d90b6$0$283$
Bonjour, J'ai 3 tables ayan tla même structure : ID, Field1 , Field2 , Field 3, Field 4 J'aimerais réunir ces trois tables en une seule avec le champ ID qui s'autoincrémente. Quelqun sait il comment faire ?
Merci
bonjour
tu as pas déjà posé le méme question ???
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Leol" <Léo> a écrit dans le message de news:414d90b6$0$283$626a14ce@news.free.fr...
Bonjour, J'ai 3 tables ayan tla même structure :
ID, Field1 , Field2 , Field 3, Field 4
J'aimerais réunir ces trois tables en une seule avec le champ ID qui
s'autoincrémente.
Quelqun sait il comment faire ?
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Leol" <Léo> a écrit dans le message de news:414d90b6$0$283$
Bonjour, J'ai 3 tables ayan tla même structure : ID, Field1 , Field2 , Field 3, Field 4 J'aimerais réunir ces trois tables en une seule avec le champ ID qui s'autoincrémente. Quelqun sait il comment faire ?
Merci
Yann
Salut Leol, Tu crées ta table et 3 requêtes d'ajout.
Bye Yann
-----Message d'origine----- Bonjour, J'ai 3 tables ayan tla même structure : ID, Field1 , Field2 , Field 3, Field 4 J'aimerais réunir ces trois tables en une seule avec le champ ID qui
s'autoincrémente. Quelqun sait il comment faire ?
Merci
.
Salut Leol,
Tu crées ta table et 3 requêtes d'ajout.
Bye
Yann
-----Message d'origine-----
Bonjour, J'ai 3 tables ayan tla même structure :
ID, Field1 , Field2 , Field 3, Field 4
J'aimerais réunir ces trois tables en une seule avec le
champ ID qui
Salut Leol, Tu crées ta table et 3 requêtes d'ajout.
Bye Yann
-----Message d'origine----- Bonjour, J'ai 3 tables ayan tla même structure : ID, Field1 , Field2 , Field 3, Field 4 J'aimerais réunir ces trois tables en une seule avec le champ ID qui
s'autoincrémente. Quelqun sait il comment faire ?
Merci
.
Christophe JEAN
Hello
L'inconvénient est que tu devras ré-exécuter cette série de requête chaque fois que tu auras besoin d'info mises à jour.
Il existe une solution totalement dynamique : la requête SQL UNION. Attention tes tables doivent avoir leur champs nommés à l'identique. Même avec 3 tables elle est possible. Voici sa syntaxe :
SELECT table1.champ1, table1.champ2, etc... From table1 UNION SELECT table2.champ1, table2.champ2, etc... From table2 UNION SELECT table3.champ1, table3.champ2, etc... From table3;
Tu peux aussi copier-coller le code SQL afin d'avoir à éviter de saisir la syntaxe SQL
"Yann" a écrit dans le message de news: 365901c49ed8$b81d77c0$ Salut Leol, Tu crées ta table et 3 requêtes d'ajout.
Bye Yann
-----Message d'origine----- Bonjour, J'ai 3 tables ayan tla même structure : ID, Field1 , Field2 , Field 3, Field 4 J'aimerais réunir ces trois tables en une seule avec le champ ID qui
s'autoincrémente. Quelqun sait il comment faire ?
Merci
.
Hello
L'inconvénient est que tu devras ré-exécuter cette série de requête chaque
fois que tu auras besoin d'info mises à jour.
Il existe une solution totalement dynamique : la requête SQL UNION.
Attention tes tables doivent avoir leur champs nommés à l'identique.
Même avec 3 tables elle est possible. Voici sa syntaxe :
SELECT table1.champ1, table1.champ2, etc... From table1
UNION
SELECT table2.champ1, table2.champ2, etc... From table2
UNION
SELECT table3.champ1, table3.champ2, etc... From table3;
Tu peux aussi copier-coller le code SQL afin d'avoir à éviter de saisir la
syntaxe SQL
"Yann" <ypelissier@yahooo.com> a écrit dans le message de news:
365901c49ed8$b81d77c0$a401280a@phx.gbl...
Salut Leol,
Tu crées ta table et 3 requêtes d'ajout.
Bye
Yann
-----Message d'origine-----
Bonjour, J'ai 3 tables ayan tla même structure :
ID, Field1 , Field2 , Field 3, Field 4
J'aimerais réunir ces trois tables en une seule avec le
champ ID qui
L'inconvénient est que tu devras ré-exécuter cette série de requête chaque fois que tu auras besoin d'info mises à jour.
Il existe une solution totalement dynamique : la requête SQL UNION. Attention tes tables doivent avoir leur champs nommés à l'identique. Même avec 3 tables elle est possible. Voici sa syntaxe :
SELECT table1.champ1, table1.champ2, etc... From table1 UNION SELECT table2.champ1, table2.champ2, etc... From table2 UNION SELECT table3.champ1, table3.champ2, etc... From table3;
Tu peux aussi copier-coller le code SQL afin d'avoir à éviter de saisir la syntaxe SQL
"Yann" a écrit dans le message de news: 365901c49ed8$b81d77c0$ Salut Leol, Tu crées ta table et 3 requêtes d'ajout.
Bye Yann
-----Message d'origine----- Bonjour, J'ai 3 tables ayan tla même structure : ID, Field1 , Field2 , Field 3, Field 4 J'aimerais réunir ces trois tables en une seule avec le champ ID qui
s'autoincrémente. Quelqun sait il comment faire ?
Merci
.
Yann
Salut Chris, C'est vrai que la requête UNION est pratique pour faire plusieur fois la même chose, mais tu ne peux pas faire un ajout avec les union... Seulement un select...
Bye Yann
-----Message d'origine----- Hello
L'inconvénient est que tu devras ré-exécuter cette série de requête chaque
fois que tu auras besoin d'info mises à jour.
Il existe une solution totalement dynamique : la requête SQL UNION.
Attention tes tables doivent avoir leur champs nommés à l'identique.
Même avec 3 tables elle est possible. Voici sa syntaxe :
SELECT table1.champ1, table1.champ2, etc... From table1 UNION SELECT table2.champ1, table2.champ2, etc... From table2 UNION SELECT table3.champ1, table3.champ2, etc... From table3;
Tu peux aussi copier-coller le code SQL afin d'avoir à éviter de saisir la
syntaxe SQL
"Yann" a écrit dans le message de news:
365901c49ed8$b81d77c0$ Salut Leol, Tu crées ta table et 3 requêtes d'ajout.
Bye Yann
-----Message d'origine----- Bonjour, J'ai 3 tables ayan tla même structure : ID, Field1 , Field2 , Field 3, Field 4 J'aimerais réunir ces trois tables en une seule avec le champ ID qui
s'autoincrémente. Quelqun sait il comment faire ?
Merci
.
.
Salut Chris,
C'est vrai que la requête UNION est pratique pour faire
plusieur fois la même chose, mais tu ne peux pas faire un
ajout avec les union... Seulement un select...
Bye
Yann
-----Message d'origine-----
Hello
L'inconvénient est que tu devras ré-exécuter cette série
de requête chaque
fois que tu auras besoin d'info mises à jour.
Il existe une solution totalement dynamique : la requête
SQL UNION.
Attention tes tables doivent avoir leur champs nommés à
l'identique.
Même avec 3 tables elle est possible. Voici sa syntaxe :
SELECT table1.champ1, table1.champ2, etc... From table1
UNION
SELECT table2.champ1, table2.champ2, etc... From table2
UNION
SELECT table3.champ1, table3.champ2, etc... From table3;
Tu peux aussi copier-coller le code SQL afin d'avoir à
éviter de saisir la
syntaxe SQL
"Yann" <ypelissier@yahooo.com> a écrit dans le message
de news:
365901c49ed8$b81d77c0$a401280a@phx.gbl...
Salut Leol,
Tu crées ta table et 3 requêtes d'ajout.
Bye
Yann
-----Message d'origine-----
Bonjour, J'ai 3 tables ayan tla même structure :
ID, Field1 , Field2 , Field 3, Field 4
J'aimerais réunir ces trois tables en une seule avec le
champ ID qui
Salut Chris, C'est vrai que la requête UNION est pratique pour faire plusieur fois la même chose, mais tu ne peux pas faire un ajout avec les union... Seulement un select...
Bye Yann
-----Message d'origine----- Hello
L'inconvénient est que tu devras ré-exécuter cette série de requête chaque
fois que tu auras besoin d'info mises à jour.
Il existe une solution totalement dynamique : la requête SQL UNION.
Attention tes tables doivent avoir leur champs nommés à l'identique.
Même avec 3 tables elle est possible. Voici sa syntaxe :
SELECT table1.champ1, table1.champ2, etc... From table1 UNION SELECT table2.champ1, table2.champ2, etc... From table2 UNION SELECT table3.champ1, table3.champ2, etc... From table3;
Tu peux aussi copier-coller le code SQL afin d'avoir à éviter de saisir la
syntaxe SQL
"Yann" a écrit dans le message de news:
365901c49ed8$b81d77c0$ Salut Leol, Tu crées ta table et 3 requêtes d'ajout.
Bye Yann
-----Message d'origine----- Bonjour, J'ai 3 tables ayan tla même structure : ID, Field1 , Field2 , Field 3, Field 4 J'aimerais réunir ces trois tables en une seule avec le champ ID qui
s'autoincrémente. Quelqun sait il comment faire ?
Merci
.
.
Eric
Bonjour Leol, Yann, Chris,
En faisant la synthèse des réponses (Yann & Chris), voila une procédure Tout-En-Un ;-)
La procédure crée une requête temporaire regroupant les données de tes 3 tables *sous réserve que les noms des champs soient identiques*. Puis crée la table Fusion avec un ID autoincrémenté et récupère les enregistrements de la requête temporaire. La requête temporaire est supprimée à la fin du traitement. Cette procédure peut-être exécutée autant de fois que necesaire, la table Fusion étant supprimée avant d'être recréée.
Il faudra charger la référence Microsoft DAO 3.x Object Library dans le projet.
En supposant que la procédure est lancée à partir d'un formulaire avec un bouton de commande sur l'évènement clic.
Private Sub Commande0_Click() Call UnionCreationTable End Sub
Sub UnionCreationTable() On Error GoTo Err_UnionCreationTable Dim strSQL As String, qry As DAO.QueryDef ' Définition du sql requête Union rapatriant les données des 3 tables ' Union ALL récupère tous les enregistrements de chaque table ' donc possibilité de doublons. Union seul évite les doublons. strSQL = "SELECT Field1, Field2, Field3, Field4 from T1 " _ & "Union All " _ & "SELECT Field1, Field2, Field3, Field4 from T2 " _ & "Union All " _ & "SELECT Field1, Field2, Field3, Field4 from T3;" ' Création de la requête temporaire Temp Set qry = CurrentDb.CreateQueryDef("Temp", strSQL) 'Définition du sql de création de la table Fusion strSQL = "Create Table Fusion(ID Autoincrement Constraint NumAuto Primary Key, " _ & "Field1 Text, Field2 Text, Field3 Text, Field4 Text);" ' Création de la table Fusion avec un NumeroAuto en PK CurrentDb.Execute strSQL ' Définition du sql d'ajout des enregistrements ' de la requête Temp dans la table Fusion strSQL = "Insert into Fusion(Field1,Field2,Field3, Field4) " _ & "select Field1, field2, field3, field4 from Temp;" ' Remplissage de la table Fusion CurrentDb.Execute strSQL ' Suppression de la requête Temporaire CurrentDb.QueryDefs.Delete "Temp" Set qry = Nothing RefreshDatabaseWindow Exit Sub Err_UnionCreationTable: ' à Adapter If Err = 3012 Then CurrentDb.QueryDefs.Delete "Temp" Resume ElseIf Err = 3010 Then CurrentDb.TableDefs.Delete "Fusion" Resume End If End Sub
A+ Eric
"Leol" <Léo> écrivait news:414d90b6$0$283$:
Bonjour, J'ai 3 tables ayan tla même structure : ID, Field1 , Field2 , Field 3, Field 4 J'aimerais réunir ces trois tables en une seule avec le champ ID qui s'autoincrémente. Quelqun sait il comment faire ?
Merci
Bonjour Leol, Yann, Chris,
En faisant la synthèse des réponses (Yann & Chris), voila une procédure
Tout-En-Un ;-)
La procédure crée une requête temporaire regroupant les données de tes 3
tables *sous réserve que les noms des champs soient identiques*. Puis
crée la table Fusion avec un ID autoincrémenté et récupère les
enregistrements de la requête temporaire. La requête temporaire est
supprimée à la fin du traitement. Cette procédure peut-être exécutée
autant de fois que necesaire, la table Fusion étant supprimée avant
d'être recréée.
Il faudra charger la référence Microsoft DAO 3.x Object Library dans le
projet.
En supposant que la procédure est lancée à partir d'un formulaire
avec un bouton de commande sur l'évènement clic.
Private Sub Commande0_Click()
Call UnionCreationTable
End Sub
Sub UnionCreationTable()
On Error GoTo Err_UnionCreationTable
Dim strSQL As String, qry As DAO.QueryDef
' Définition du sql requête Union rapatriant les données des 3 tables
' Union ALL récupère tous les enregistrements de chaque table
' donc possibilité de doublons. Union seul évite les doublons.
strSQL = "SELECT Field1, Field2, Field3, Field4 from T1 " _
& "Union All " _
& "SELECT Field1, Field2, Field3, Field4 from T2 " _
& "Union All " _
& "SELECT Field1, Field2, Field3, Field4 from T3;"
' Création de la requête temporaire Temp
Set qry = CurrentDb.CreateQueryDef("Temp", strSQL)
'Définition du sql de création de la table Fusion
strSQL = "Create Table Fusion(ID Autoincrement Constraint NumAuto
Primary Key, " _
& "Field1 Text, Field2 Text, Field3 Text, Field4 Text);"
' Création de la table Fusion avec un NumeroAuto en PK
CurrentDb.Execute strSQL
' Définition du sql d'ajout des enregistrements
' de la requête Temp dans la table Fusion
strSQL = "Insert into Fusion(Field1,Field2,Field3, Field4) " _
& "select Field1, field2, field3, field4 from Temp;"
' Remplissage de la table Fusion
CurrentDb.Execute strSQL
' Suppression de la requête Temporaire
CurrentDb.QueryDefs.Delete "Temp"
Set qry = Nothing
RefreshDatabaseWindow
Exit Sub
Err_UnionCreationTable:
' à Adapter
If Err = 3012 Then
CurrentDb.QueryDefs.Delete "Temp"
Resume
ElseIf Err = 3010 Then
CurrentDb.TableDefs.Delete "Fusion"
Resume
End If
End Sub
Bonjour, J'ai 3 tables ayan tla même structure :
ID, Field1 , Field2 , Field 3, Field 4
J'aimerais réunir ces trois tables en une seule avec le champ ID qui
s'autoincrémente.
Quelqun sait il comment faire ?
En faisant la synthèse des réponses (Yann & Chris), voila une procédure Tout-En-Un ;-)
La procédure crée une requête temporaire regroupant les données de tes 3 tables *sous réserve que les noms des champs soient identiques*. Puis crée la table Fusion avec un ID autoincrémenté et récupère les enregistrements de la requête temporaire. La requête temporaire est supprimée à la fin du traitement. Cette procédure peut-être exécutée autant de fois que necesaire, la table Fusion étant supprimée avant d'être recréée.
Il faudra charger la référence Microsoft DAO 3.x Object Library dans le projet.
En supposant que la procédure est lancée à partir d'un formulaire avec un bouton de commande sur l'évènement clic.
Private Sub Commande0_Click() Call UnionCreationTable End Sub
Sub UnionCreationTable() On Error GoTo Err_UnionCreationTable Dim strSQL As String, qry As DAO.QueryDef ' Définition du sql requête Union rapatriant les données des 3 tables ' Union ALL récupère tous les enregistrements de chaque table ' donc possibilité de doublons. Union seul évite les doublons. strSQL = "SELECT Field1, Field2, Field3, Field4 from T1 " _ & "Union All " _ & "SELECT Field1, Field2, Field3, Field4 from T2 " _ & "Union All " _ & "SELECT Field1, Field2, Field3, Field4 from T3;" ' Création de la requête temporaire Temp Set qry = CurrentDb.CreateQueryDef("Temp", strSQL) 'Définition du sql de création de la table Fusion strSQL = "Create Table Fusion(ID Autoincrement Constraint NumAuto Primary Key, " _ & "Field1 Text, Field2 Text, Field3 Text, Field4 Text);" ' Création de la table Fusion avec un NumeroAuto en PK CurrentDb.Execute strSQL ' Définition du sql d'ajout des enregistrements ' de la requête Temp dans la table Fusion strSQL = "Insert into Fusion(Field1,Field2,Field3, Field4) " _ & "select Field1, field2, field3, field4 from Temp;" ' Remplissage de la table Fusion CurrentDb.Execute strSQL ' Suppression de la requête Temporaire CurrentDb.QueryDefs.Delete "Temp" Set qry = Nothing RefreshDatabaseWindow Exit Sub Err_UnionCreationTable: ' à Adapter If Err = 3012 Then CurrentDb.QueryDefs.Delete "Temp" Resume ElseIf Err = 3010 Then CurrentDb.TableDefs.Delete "Fusion" Resume End If End Sub
A+ Eric
"Leol" <Léo> écrivait news:414d90b6$0$283$:
Bonjour, J'ai 3 tables ayan tla même structure : ID, Field1 , Field2 , Field 3, Field 4 J'aimerais réunir ces trois tables en une seule avec le champ ID qui s'autoincrémente. Quelqun sait il comment faire ?