Geimporteerde data koppelen

Status
Niet open voor verdere reacties.

williamjr007

Gebruiker
Lid geworden
26 jun 2008
Berichten
45
Hey,

ben een beginneling dus niet te hard zijn aub ;)

Ik heb drie tabellen :
1) Klant
2) Projectcode
3) Meetdata

Een klant heeft meerdere projectcodes, en een projectcode heeft meerdere meetdata.

Ik heb een formulier 'Klant' met een subform 'Projectcode' en daarin een subform 'Meetdata'.
Alle drie zijn mooi aan elkaar gekoppeld en werken feilloos, tot daar geen probleem.

Nu wil ik vanuit excel een hele boel meetdata importeren in tabel 'Meetdata'. Ik gebruik daarvoor een toevoeg- en verwijderquery. Werkt ook ok.

Wat niet ok werkt is dat ik niet goed weet hoe ik die gemporteerde data moet linken aan een bestaande projectcode.
Als ik Meetdata via het formulier manueel ingeef is dat automatisch gekoppeld aan de Projectcode, maar als ik vanuit excel (of txt) een heleboel data laad, is die niet gekoppeld met mijn Projectcode.

Wat zie ik over het hoofd?

Bedankt!
 
Wat je over het hoofd ziet is heel simpel. Je structuur heeft een 'top down' opbouw. In je formulier kies je eerst een klant, en als je dan een project toevoegt op je formulier weet Access vanwege de koppeling tussen de 2 formulieren welke KlantID in Projectcode moet worden ingevoegd. Kijk je naar de volgende stap, dan gebeurt hetzelfde: op basis van de gekozen ProjectCode weet het formulier welk ProjectID moet worden ingevuld in de tabel Meetdata.
Kijken we naar jouw importprocedure, dan werk je precies andersom. En dat kan dus nooit werken.

Je moet op zijn minst alle ProjectCodes die je in je importtabel hebt staan importeren in de tabel ProjectCode. Daarnaast moet je (en dat moet dan ook écht als eerste gebeuren) ook zeker weten dat de klantenID's in de tabel ProjectCode bestaan, anders moet je eerst de klanten invoeren. Dus de stappen:
1. Controleer in de import tabel of alle Projectcodes bestaan in de tabel Projectcode.
Zo nee:
2. Controleer in de tabel Klanten of alle klanten de juiste Projectcode hebben.
Zo nee:
3. Projectcodes toevoegen met de juiste KlantCode.
Zo ja:
4. Projectcodes toevoegen aan de tabel Projectcode met de bijbehorende Klantcode
5. Meetdata toevoegen aan de tabel Meetdata met de bijbehorende ProjectCode
 
Bedankt voor de duidelijke verklaring!

Toch wel een bedenking: ik begrijp je redenering nu en zie waar de mijne spaak liep, maar is er geen andere en gemakkelijkere oplossing?

De Meetdata krijg ik van mijn klant aangeleverd in excel formaat. Het lijkt me niet praktisch om eerst een kolom toe te voegen in excel met de juiste Projectcode.
Kan ik niet beter de Meetdata inladen en tijdens het laden de juiste Projectcode toevoegen op basis van de Projectcode in mijn formulier?

De vraag is dan alleen hoe ik dat doe?

Bedankt!
 
Het lijkt me niet praktisch om eerst een kolom toe te voegen in excel met de juiste Projectcode.
Als ik tegen jou zeg: "kom even lang, dan help ik je wel, ik woon op nummer 12." dan vermoed ik dat je binnen de kortste tijd met een tegenvraag komt. Op zijn minst wil je weten welke straat.... En wellicht ook welke plaats. Wat ik bedoel te zeggen is: als je te weinig informatie hebt, kun je niks. Het mag jou dan niet praktisch lijken, het is de enige weg. Er is, voor de duidelijkheid, geen andere. Je moet een veld hebben bij de meetresultaten waarin de Projectcode staat. En, zoals gezegd, moet die projectcode ook nog eens bestaan in de tabel projectcode. Want hoe houd je anders de verschillende meetresultaten per project uit elkaar?
 
ik denk dat we het beide eens zijn over het feit dat er in beide tabellen een veld moet zijn met 'projectcode', wat ook al het geval was trouwens. Met dat op zich heb ik geen probleem.

Stel dat ik een nieuw project aanmaak in de tabel Projectcode met projectcode "15". Vervolgens wil ik Meetdata importeren in de tabel 'Meetdata' (die dus gekoppeld is aan tabel 'Projectcode'), dan is mijn vraag eigenlijk : hoe krijg ik in het veld projectcode in de tabel Meetdata het getal "15". Dat is mijn initiële vraag eigenlijk.
Mijn excuses als de oorspronkelijke vraagstelling misschien niet duidelijk was.:o
 
Dat is heel simpel: met een Bijwerkquery. Die kun je heel makkelijk klaar zetten als je altijd dezelfde Tabelnaam gebruikt. Dan maak je voor het veld ProjectCode een parameter in het veld <Bijwerken met> met bijvoorbeeld [Typ de Projectcode] en de query vraagt dan bij het uitvoeren naar de code. Je vult hem in, en je tabel is bijgewerkt.
 
Mag je de vraag nog op <Opgelost> zetten :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan