Tabellen samenvoegen in een nieuwe tabel

Status
Niet open voor verdere reacties.

cosimaro

Gebruiker
Lid geworden
15 okt 2008
Berichten
94
Wie kan mij helpen?
Ik heb twee tabellen in acces 2010 geïmporteerd vauit excel.
Beiden hebben volgende velden VAT,Naam,Adres PC, Gemeente.
Tabel1 noemt klanten. Tabel 2 noemt Listing 2013
Via een querry heb ik gezien dat er 933 dubbel records zitten in beide tabellen.
VAT is de unieke nummer.
Tabel 1 moet de hoofdtabel zijn en ik moet Tabel 2 toevoegen echter mogen de dubbele records
uit Tabel 2 niet mee in de tabel komen.
Iemand enig idee hoe het moet?
 
Maak een filter op basis van het veld VAT uit tabel 2. Makkelijkste manier is om beide tabellen in de query te zetten met een Outer Join zodat je alle records van Tabel 2 ziet; gekoppelde (zitten er in) en niet-gekoppelde. Als je op Is Null filtert, zie je alleen de ontbrekende records, en die kun je dan toevoegen.
 
Ik heb je tabellen niet, dus dat wordt lastig. Maar de handeling is niet zo heel lastig.
1. Voeg beide tabellen toe in je queryraster (als je dat nog niet gedaan had)
2. Koppel de twee tabellen op het veld [VAT] (dat was toch het unieke veld?)
3. Dubbelklik op de lijn tussen de twee tabellen
4. Kies de optie (2 of 3) waarbij je alle velden ziet van [Listing 2013], en de gekoppelde velden van [klanten] identiek zijn.
Als je nu beide velden zou selecteren, en je bekijkt de gegevens, dan zie je in één kolom alle velden, en van de tweede tabel de velden die hetzelfde veld hebben. Die laatste zijn dus al geïmporteerd, en die moet je wegfilteren.
5. Typ in de regel van het veld [VAT] van de tabel [klanten] het filter Is Null
6. Voer de query uit. Net zo vaak als je wilt; alleen de eerste keer zal hij records toevoegen.
 
Je hebt al een query, dus je moet dat ooit eerder gedaan hebben... Stap 1,5 derhalve: klik op de knop <Tabellen toevoegen> (knop met gele plusteken).
 
Klanten VAT Listing VAT
204908936 204908936 PIDPA AFDELING GEEL P.I.D.P.A. DESGUINLEI 246 VIERSELSE BAAN 5 2000 2280 ANTWERPEN 1 GROBBENDONK
471550949 471550949 CREYNS GUIDO NV GRONDWERKEN GRONDWERKEN CREYNS GUIDO & ZN NV AKKERSTRAAT 132 INDUSTRIETERREIN KANAAL-NOORD 1146 3680


Bedoeling is dat Listng VAT niet meer voorkomt in de lijst




72233513 472233513 MARTENS GLASINDUSTRIE MARTENS GLASINDUSTRIE NV RIYADSTRAAT 28 RIYADHSTRAAT 28 2321 2321 MEER MEER
207473102 207473102 LOMMEL STAD GEMEENTEBESTUUR LOMMEL - POLITEZONE HERTOG JANPLEIN 1 DORP 57 3920 3920 LOMMEL LOMMEL
207502301 207502301 STAD LIER FINANCIELE DIENST STAD. LIER GROTE MARKT 57 GROTE MARKT 57 2500 2500 LIER LIER
244195916 244195916 VITO VITO NV BOERETANG 200 BOERETANG 200 2400 2400 MOL MOL
400670970 400670970 BRANTS VALLET NV INTERNAT. VERVOER BRANTS VALLET NV HULSHOUTSESTEENWEG 33 HULSHOUTSESTEENWEG 33 2220 2220 HEIST O/D BERG HEIST OP DEN BERG
400759062 400759062 A.W.O. OPENBARE WERKEN NV A.W.O. NV LOMMELSESTEENWEG 136 LOMMELSESTEENWEG 136 3970 3970 LEOPOLDSBURG LEOPOLDSBURG
400835177 400835177 JOS DE REYS EN ZN BVBA JOS DE REYS EN ZONEN BVBA LOSSTRAAT 176 LOSTRAAT 176 2220 2220 HEIST-OP-DEN-BERG HEIST OP DEN BERG
400843392 400843392 FRANS GORIS EN ZOON BVBA VERVOERONDERN. F. GORIS & ZN BVBA PUTTESTRAAT 2 PUTTESTRAAT 2A 2223 2223 SCHRIEK SCHRIEK
401313348 401313348 KANT.BOUWM.VAN BERINGEN KANT BOUWM V BERINGEN VR HUISV CVBA VIOLETSTRAAT 15 VIOLETSTRAAT 15 3950 3580 BERINGEN BERINGEN
401347693 401347693 CORNER CORNER NV SELLEKAERTSSTRAAT 61 SELLEKAERTSSTRAAT 61 3900 3900 OVERPELT OVERPELT
401358977 401358977 VAN GOMPEL NV VAN GOMPEL NV SINT-AMANDINASTRAAT 35 SINT-AMANDINASTRAAT 35 3970 3970 LEOPOLDSBURG LEOPOLDSBURG
403600865 403600865 JANSSENS BVBA BOUWONDERNEMING BOUWONDERNEMING JANSSENS BVBA LEUVENSEBAAN 43 LEUVENSEBAAN 43 2580 2580 PUTTE PUTTE
403610565 403610565 MYLENE NV MYLENE NV LIERSESTEENWEG 203 LIERSESTEENWEG 203 2220 2220 HEIST OP DEN BERG HEIST OP DEN BERG
 
Ik snap niet zoveel van je vorbeeldje, vrees ik. Maak liever een db voorbeeldje, dat werkt een stuk makkelijker. Veel simpeler uitleggen dan ik hierboven heb gedaan, kan ik namelijk niet :)
 
Beste,

Het is de bedoeling dat listing wordt geïmporteerd of toegevoegd wordt aan de tabel Klanten.
De dubbele records moeten uit de tabel listing weg.
 
Je hebt al een query Niet-gerelateerde records gemaakt (anders weet je niet dat er 933 records dubbel zijn)
Via een query heb ik gezien dat er 933 dubbel records zitten in beide tabellen.
Die query gebruikt exact de techniek die ik hierboven beschrijf om unieke records te filteren. Als je die query ombouwt naar een Toevoequery, en het veld ID er uitgooit (wordt automatisch gevuld) dan ben je precies waar je wezen wilt.
Die query ziet er dan zo uit:
Code:
INSERT INTO [klantenlijst SCS 26092013] ( VAT, VisitName, VisitAddress, PC, VisitLocation, VAT )
SELECT [Listing  opendeur 2013].VAT, [Listing  opendeur 2013].VisitName, [Listing  opendeur 2013].VisitAddress, [Listing  opendeur 2013].PC, [Listing  opendeur 2013].VisitLocation, [klantenlijst SCS 26092013].VAT
FROM [Listing  opendeur 2013] LEFT JOIN [klantenlijst SCS 26092013] ON [Listing  opendeur 2013].[VAT] = [klantenlijst SCS 26092013].[VAT]
WHERE ((([klantenlijst SCS 26092013].VAT) Is Null));
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan