relaties werken niet

Status
Niet open voor verdere reacties.

marcvk45

Gebruiker
Lid geworden
22 dec 2010
Berichten
93
Ik ben een beginner met access 2010 en na drie dagen zoeken en proberen ongeveer de wanhoop nabij. Ik heb vier tabellen gemaakt en in elke tabel primaire sleutels gemaakt. Deze tabellen werden gekoppeld via relaties.
Als ik nu een query probeer te maken krijg ik steeds een leeg scherm.
Kan er mij iemand hierover wat informatie geven zodat ik van start geraak.
Desnoods wil ik db overmaken zodat deze kan nagekeken worden wat er fout loopt.

Alvast hartelijk bedankt
 
Plaats even een voorbeeldje, dan kunnen we zien hoe je de relaties hebt gelegd. Nu is het een kwestie van gissen.
 
Aan je relaties mankeert niks, en ik zie eerlijk gezegd ook het probleem niet: je hebt data in je tabellen en een query waar je zelf een criterium in hebt gezet. Je formulier doet het ook, dus wat is het probleem? Want ik zie er geen...
 
Ik moet nu die tabellen koppelen en daarvan rapporten maken. Maar wat ik ook doe telkens blijven de nieuwe querys leeg als ik de vier tabellen samenvoeg in 1 query om er daarna een rapport van te maken
 
Een query laat standaard alleen die records zien die in alle tabellen voorkomen. Dus hoe meer tabellen je aan elkaar knoopt in een query, hoe kleiner het aantal records doorgaans zal zijn in die query. Ik zal dat a.d.h.v. een voorbeeldje proberen uit te leggen.

Stel je hebt een tabel Klanten met daarin klantnummers 1,2,3,4,5 en 6 en je hebt een tabel Bestellingen met daarin 2 bestellingen van klant 2, en 3 bestellingen van klant 5.
Maak je een query van de twee tabellen, dan zul je daarin 5 records terugzien: 2 records met gegevens van klant 2, en 3 records van klant 5. Zijn er nog geen bestellingen geplaatst, dan levert een query op basis van de tabel Klanten eerst alle records op; voeg je de tabel Bestellingen toe, dan is de query ineens leeg. Dat komt dus doordat er nog geen bestellingen van klanten zijn vastgelegd. Andere situatie, waarin we weer bestellingen hebben van twee klanten: als we de tabel BestelRegels aan de query toevoegen om artikelen aan de bestellingen te kunnen koppelen, dan zal het aantal records in de query overeenkomen met het aantal bestelde artikelen. In de relaties tussen de tabellen heb je dan een één-op-veel relatie tussen Klanten en Bestellingen, en tussen Bestellingen en BestelRegels. Heb je wèl bestelgegevens vastgelegd in Bestellingen, maar nog geen artikelen toegevoegd in BestelRegels, dan blijft het resultaat dus ook leeg.

Zoals gezegd: de kans dat in jouw query hetzelfde gebeurt, is niet denkbeeldig. Wil je toch alle records zien vanaf een bepaald punt, dan kun je het type koppeling aanpassen door op de koppellijn te dubbelklikken. Je krijgt dan een snelmenu te zien met daarin 3 opties, waarvan optie 1 is geselecteerd (standaard). In mijn voorbeeldje moet ik de optie kiezen waarbij ik <Alle records zien uit de tabel Klanten en de gerelateerde records uit de tabel Bestellingen>. Dan zie ik voor elke klant die besteld heeft de bestelrecords, en voor de overige klanten wel één record (met bijvoorbeeld klantgegevens) maar blijven de bestelgegevens leeg. We noemen zo'n koppeling dan een Outer Join (in tegenstelling dus tot de Inner Join die standaard gebruikt wordt).

Ik leg het wat uitgebreider uit, omdat ik je db op het werk niet kan openen omdat we nog met 2003 werken. Hopelijk is het zo wat duidelijker? Nogmaals: het ligt niet aan je tabellen, noch aan de relaties. Die zijn prima.
 
relatie werken niet

Ik begrijp wat je bedoeld, maar hoe kan ik nu een selectiequery maken waarin de 4 tabellen zijn opgenomen want in elke tabel is er een overeenstemmende code nl:
cinr=rccode-fct=rccode-wdn=rccode-dpn.

Op basis van de vier bovenstaande codes zou ik een overzicht moeten kunnen maken waarin bv een selectie kan gemaakt worden op cinr of op cinr en maand.

Alleszins al hartelijk bedankt voor de voorgaande respons
 
Daar moet ik voor in de db zijn; vanavond dus :)
 
Je relaties werken prima, maar de velden die gekoppeld zijn aan de sleutelvelden zijn leeg. Dat is de reden dat de qyuery leeg blijft.
 
En dan krijg je inderdaad dus, zoals ik al zei bij een query met Inner Joins, lege records. Vreemd dus dat je wel records hebt gemaakt in de tabellen [Forecast], [DepositNotes], en [WithdrawalNotes] maar blijkbaar vergeten bent om de kolommen te vullen met de bijbehorende records uit [Frequentietabel]. Zou je een hoofdformulier maken op basis van [Frequentietabel] en daar (bijvoorbeeld op een Tabobject met 3 tabbladen) drie subformulieren op maken met die drie gekoppelde tabellen, dan zou dat niet kunnen gebeuren omdat Access dan het koppelveld zelf voor je vult. Dus dat is wel iets om in het achterhoofd te houden...
En nog iets: er zit geen verschil tussen de tabellen [DepositNotes] en [WithdrawalNotes]; zelf zou ik daar één tabel van maken (met een extra veld met een keuzelijst met de opties Deposit en Withdrawal). Deze oplossing is databasetechnisch niet helemaal zuiver op de graat...
 
Deze tabellen werden geimporteerd uit excell

Enkel de withdrwawelnotes en de depositnotes worden dagelijks aangevuld + forecast.

De frequentietabel blijft nagenoeg steeds dezelfde en bevat alle voorkomende cinr nummers
 
Dan zou ik toch eens kijken of je de koppelvelden uit Excel kunt krijgen, want zo heb je er ook niet veel aan...
 
relatie werken niet

Wat bedoel je met de koppelvelden uit excel krijgen ?
 
Zolang je lege kolommen krijgt uit Excel, zul je met de hand moeten invullen, anders zul je nooit gekoppelde gegevens kunnen zien. En dat wil je neem ik aan toch ook niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan