Join tussen een linked table en een andere tabel

Status
Niet open voor verdere reacties.

AMBERTJE

Gebruiker
Lid geworden
27 aug 2009
Berichten
121
:confused:Hallo iedereen,

Er is in mijn database (Access 2003) een probleem ontstaan met het samenvoegen van gegevens uit 2 tabellen (waarvan 1 tabel een gelinkte is uit een andere database).
Om het makkelijker te houden heb ik de link weggenomen zodat de gegevens uit de tabel zichtbaar zijn.

Tabellen: Tbl_CRIRA_Records en Tbl_Unldopr
probleem: ik wil het veld VZE uit tabel Tbl_Unldopr samenvoegen met enkel velden van de andere tabel via de Query Qry_Omrekening_ProductQuantity.

Query: Qry_Omrekening_ProductQuantity
Deze query doet ook een berekening van gegevens uit de 2 tabellen en het veld Referentie wordt aangepast.

Er is een relatie tussen de 2 tabellen en beide velden hebben hetzelfde Type.
Volgens mij zijn er 3 soorten joins en geen van de 3 geven een goed resultaat.
Ofwel krijg ik enkel het veld VZE met waardes, ofwel niets ofwel alle andere velden uit de andere tabel met waardes en het veld VZE leeg.

Kan er iemand mij hierbij helpen aub?
Ambertje
 

Bijlagen

De relatie tussen de twee tabellen deugt (nog) niet, en dat kan er mee te maken hebben. Als je naar de relatie kijkt, dan zie je dat je geen <Referentiële integriteit> kunt afdwingen. Dat komt, omdat in beide tabellen records voorkomen die niet in de andere tabel zitten. In de tabel [Tbl_Unldopr] bijvoorbeeld zitten 60 records met een [new base ref] waarvoor geen [referentie] is in [Tbl_CRIRA_Records]. En omgekeerd, in [Tbl_CRIRA_Records] zitten 123 records die je niet in [Tbl_Unldopr] hebt. Zodra dat is geregeld, kun je <Referentiële integriteit> afdwingen, en dan zullen (vermoedelijk) ook je berekeningen weer kloppen.
 
De relatie tussen de twee tabellen deugt (nog) niet, en dat kan er mee te maken hebben. Als je naar de relatie kijkt, dan zie je dat je geen <Referentiële integriteit> kunt afdwingen. Dat komt, omdat in beide tabellen records voorkomen die niet in de andere tabel zitten. In de tabel [Tbl_Unldopr] bijvoorbeeld zitten 60 records met een [new base ref] waarvoor geen [referentie] is in [Tbl_CRIRA_Records]. En omgekeerd, in [Tbl_CRIRA_Records] zitten 123 records die je niet in [Tbl_Unldopr] hebt. Zodra dat is geregeld, kun je <Referentiële integriteit> afdwingen, en dan zullen (vermoedelijk) ook je berekeningen weer kloppen.



Hoi Michel,

Het klopt dat de gegevens in beide tabellen verschillen.
Als ik dan in Tbl_CRIRA_Records een veld [new base ref] plaats dat het dan opgelost zou zijn? (er zouden dan geen gegevens instaan dus vermoed ik zo'n beetje dat dat niet de oplossing kan zijn)
Weet jij misschien wat ik wel moet doen?
Er is geen enkel veld waar ik beide tabellen mee kan linken, in Tbl_Unldopr kan ik geen wijzigingen aanbrengen omdat dit een gelinkte tabel is uit een andere database en de gegevens [VZE] heb ik echt nodig.

Bedankt voor uw snelle reactie :thumb:
Monique
 
Hoi Monique,

Ik snap eerlijk gezegd nog niet helemaal wat de bedoeling is. Je wilt uit twee tabellen gegevens samenvoegen op basis van een veld dat weliswaar in beide tabellen voorkomt, maar niet dezelfde waarden bevat in die tabellen. Dat lijkt mij altijd wel een probleem te gaan opleveren, want zelfs al zou je de veldgegevens kunnen samenvoegen in één veld, je zult altijd houden dat je drie soorten samenvoeggegevens krijgt:
1. De records komen in beide tabellen voor: samenvoeging bestaat uit beide velden
2. De records komen in tabel 1 voor: samenvoeging bestaat [tabel1].veld en null uit tabel2
2. De records komen in tabel 1 voor: samenvoeging bestaat [tabel2].veld en null uit tabel1

Ik weet niet of dat je bedoeling is?
 
Hoi Monique,

Ik snap eerlijk gezegd nog niet helemaal wat de bedoeling is. Je wilt uit twee tabellen gegevens samenvoegen op basis van een veld dat weliswaar in beide tabellen voorkomt, maar niet dezelfde waarden bevat in die tabellen. Dat lijkt mij altijd wel een probleem te gaan opleveren, want zelfs al zou je de veldgegevens kunnen samenvoegen in één veld, je zult altijd houden dat je drie soorten samenvoeggegevens krijgt:
1. De records komen in beide tabellen voor: samenvoeging bestaat uit beide velden
2. De records komen in tabel 1 voor: samenvoeging bestaat [tabel1].veld en null uit tabel2
2. De records komen in tabel 1 voor: samenvoeging bestaat [tabel2].veld en null uit tabel1

Ik weet niet of dat je bedoeling is?

Michel,

Sorry ik ben misschien wat onduidelijk geweest, in principe zouden het veld [new base ref] en [Referentie] dezelfde gegevens moeten bevatten. Maar zoals ik in een vorige Thread al heb aangehaald: de tabel Tbl_CRIRA_Records wordt met een import ingelezen.

Effe samenvatten:
[new base ref] bevat een referentie zoals bijv 6681 (referenties zijn hier maximaal 7 chars groot.
[Referentie] bevat ook een referentie maar in een ander formaat gegoten : 100006681
Met de Query Qry_Omrekening_ProductQuantity wil ik die referentie dan ook gelijkstellen aan [new base ref] door ref.100006681 - 100000000 te doen.

Volgens mij moet ik dit misschien doen voordat de gegevens in de tabel komen en dan zouden beide velden gelijke waarden hebben.
Misshien een statement toevoegen aan de UpdateQuery Qry_Updaten_Tijdstip_Veld?

Monique
 
Is deze query wat je zoekt?

SELECT Tbl_CRIRA_Records.PO, Tbl_CRIRA_Records.Vendor, Val([Referentie]-100000000) AS Product, Tbl_CRIRA_Records.Omschrijving, Tbl_CRIRA_Records.Adjust_Teken, Tbl_CRIRA_Records.Quantity, Tbl_Unldopr.VZE, Tbl_CRIRA_Records.Eenheid, Tbl_CRIRA_Records.CorrectieDatum, IIf([Eenheid] Like "ST",[Quantity]/[VZE],[Quantity]) AS Colli
FROM Tbl_Unldopr, Tbl_CRIRA_Records
WHERE (((Val([Referentie]-100000000))=[Tbl_Unldopr].[new base ref]));
 
Is deze query wat je zoekt?

Hartelijk dank Octafi-sje, :love:

Werkt perfect, wat een wondere wereld is Access toch.
Ik heb altijd schrik gehad om met Access te werken ('k vond het zo abstract) maar met jullie hulp begin ik ervan te houden.

Groetjes,
Ambertje:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan