inhoud van twee tabellen samenvoegen

Status
Niet open voor verdere reacties.

rotrax

Gebruiker
Lid geworden
20 jun 2003
Berichten
99
Ik heb een aantal tabellen die ik importeer vanuit meerdere *.csv bestanden. Nu onstaan er in access meerdere tabellen. de velden van al deze tabellen zijn identiek.

Nu wil ik de data uit deze verschillende tabellen samenvoegen in een grote tabel (met dezelfde velden)

is dit mogelijk?

een query volstaat dus niet want er zit geen relatie of iets dergelijks tussen de tabellen. het type data in de tabellen is hetzelfde er is geen overlap.
 
Bestand\Externe gegevens ophalen\importeren. Kijk ook in de Help van Access.

Groetjes,
Bennie
 
Volgens mij kan dit ook met een toevoeg query.
Nadat je de gegevens hebt geimporteerd kun je vanuit tabel2 de gegevens toevoegen aan tabel1.
 
niet helemaal

Bedankt voor de snelle reacties,

ik geloof dat ik echter niet helemaal duidelijk ben geweest. beide opties die hier geboden worden zijn reeds in mijn database aanwezig. Ik wil alleen dat het samenvoegen van de tabellen automatisch gaat en niet steeds handmatig moet worden aangegeven.

d.m.v. een macro?

groet,

Rotrax
 
Hoe moet die macro starten, dmv een knop oid?
En wat bedoel je met handmatig, hoe doe je het nu?
 
het liefst werk ik het geheel bij wanneer de applicatie zich opent. op dit moment start ik de query's met de hand op. maar het zijn in totaal twaalf tabbellen dus echt blij wordt ik daar niet van.....
 
Als enige optie die ik kan bedenken is een toevoeg query aan te maken in VB voor elke tabel die is benodigd. Deze Qry kun je un VB schrijven en uitvoeren als je de applicatie opstart.

MVG
 
Heb je in de tabellen een uniek veld of twee mag ook, waarmee je voorkomt dat er velden dubbel worden toegevoegd. Deze moeten moeten samen uniek zijn. Als je een bestandje met event. tabellen als vb hebt, wil ik vanavond wel ff kijken voor je.
Wel moet je de unieke velden in de tabel aangeven.

Je declareert eerst in vb de SQL instructie, waarna je deze uitvoert met > DoCmd.RunSql sql.

mvg
 
Hoi Jaminon,

ik heb hier een voorbeeld database die weergeeft wat de bedoeling is het veld F1 is altijd uniek maar ik voorzie dat het in de toekomst toch een gedeelde sleutel moet gaan worden. Of ik moet in de samenvoegtabel een ID aanmaken ook geeen probleem maar volgens mij geen oplossing.

Voeg hierbij het bestand toe.

alvast hartelijk bedankt voor je inspanning!
 

Bijlagen

Hoi Jaminon,

Dit is inderdaad wat ik bedoelde! een klein probleempje moet ik nog overbruggen, de data in de gekoppelde bestanden (xls files) wijzigt wel eens. deze data wordt nu niet meer overgenomen. een oplossing zou zijn om de samenvoegtabel eerst leeg te gooien alvorens de samenvoeging plaatsvindt.

weet jij toevallig ook hoe dat werkt, dan heb ik een serieus probleem minder....

In ieder geval, alvast bedankt voor alle moeite

groet,

Rotrax
 
Je bedoelt dat je de tabel voordat je de nieuwe gegevens ophaalt uit de XLS bestand eerst wil leegmaken, en daarna opnieuw vullen vanuit de tabellen.

Zo heb je alleen de nieuwe gegevens vanuit de tabellen zichtbaar.
 
Nee mijn probleem is nog niet helemaal opgelost, zoals je al aangaf. Voordat de tabellen worden samngevoegd tot een geheel moet eerst de doeltabel (samenvoegen) worden leeggegooid. anders past hij de gegevens hierin niet aan!

Weet jij hoe dit werkt?

(m.a.w. een stukje vba waarmee je de inhoud van een tabel verwijderd)

Groet,

RTR

P.s.: Is het overigens altijd nodig dat er een uniek veld aanwezig is?
 
Je dient de code in het formulier aan te passen tot het volgende:


'---------------------------------------------------------------
Private Sub Form_Open(Cancel As Integer)
Dim MySql, MySql1, MySql2 As String

MySql = "DELETE samenvoegen.* FROM samenvoegen;"
MySql1 = "INSERT INTO samenvoegen SELECT Blad1.* FROM Blad1;"
MySql2 = "INSERT INTO samenvoegen SELECT Blad2.* FROM Blad2;"

DoCmd.SetWarnings False
DoCmd.RunSQL MySql
DoCmd.RunSQL MySql1
DoCmd.SetWarnings True

End Sub

'---------------------------------------------------------------
In de structuur zoals jouw tabellen zijn opgebouwd, is het niet noodzakelijk om er een Uniek veld aan toe te voegen. Wel voorkomt dit dubbele records in de tabel. Dus indien dubbele nummers kunnen ontstaan in de tabellen en je wilt deze behouden dan dien je het uniek veld te verwijderen.
'---------------------------------------------------------------

mvg
 
bedankt Jaminon!

Nu kan ik mijn database afmaken

groet,

Rotrax
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan