Besturingselementbron

Status
Niet open voor verdere reacties.

Latoflex

Gebruiker
Lid geworden
14 mrt 2011
Berichten
51
Beste

Ik heb een probleem met mijn database in acces.

Wat ik wil bereiken:

Hoe kan je in een formulier instellen dat de waarde van een record anders wordt weergegeven.

Specifiek:

Ik heb 5 tabellen:
"artikel 1"
"artikel 2"
"artikel 3"
"artikel 4"
"artikel 5"

Deze zijn gebaseerd op tabel "product". in de tabellen artikel wordt de unieke code van een product weergeven.

Nu wil ik een formulier dat deze 5 verschillende artikels weergeeft maar niet als nummer maar als de als "product" dat hierbij hoort.

Ik vermoed at ik dit moet doen in eigenschappenvenster -> besturingelementbron.

samengevat, ik wil een expressie maken dat zegt haal uw gegevens uit tabel "artikel1" maar toon als "product" dat samenhangt met artikel1.

Hopelijk verstaan jullie wat ik bedoel.

Dank bij voorbaat
 
Eerst maar eens een tegenvraag: waar is je formulier op gebaseerd? Normaal gesproken gebruik je, om op een formulier (laten we zeggen: bestellingen) een artikel te kiezen, een keuzelijst (met invoervak). Op basis daarvan (van die keuzelijst dus) kun je een tekstvak maken, dat de naam van het artikel ophaalt uit de tabel Artikelen. Maar op zich hoeft dat niet eens, want in die keuzelijst zie je de namen van de artikelen al.... Vandaar dus mijn vraag. Wat voor formulier ben je aan het maken?
 
Ik zal proberen schetsen wat ik wil bereiken.

Ik heb een formulier dat dient als agenda voor de werkmannen. Alle gegevens dat worden ingegeven komen in tblAgenda. Alle gegevens dat je kan invullen in frmAgenda bevinden zich in aparte tabellen (tblKlant, tblMateriaal, ...)

Nu heb ik een query gemaakt waarbij ik vanuit tblAgenda enkel de jobs toon voor 1 bepaalde technieker voor vandaag bijvoorbeeld en welke materialen hij voor deze job uit het magazijn moet halen.

Nu wil ik een formulier maken op basis van deze query dat deze query overzichtelijk weergeeft. Maar doordat in tblAgenda alles is opgeslagen als een uniek nummer dat overeenkomt met de juiste waarde uit de betreffende tabel.
M.a.w. in tblAgenda staan in de kolommen enkel cijfers.

Het lukt mij om de velden Klant, verkoper, ... weer te geven als naam omdat deze maar gekoppeld zijn aan 1 tabel.
Maar bij Artikel loop het mis, ik heb namelijk 5 tabellen:
tblArtikel1
tblArtikel2
tblArtikel3
tblArtikel4
tblArtikel5

deze zijn gekoppeld met tblProducten. dit was aanvankelijk nodig omdat bij het ingeven van de agenda 5 unieke producten met hun overeenkomstige aantallen moesten kunnen worden ingegeven.

Nu slaag ik er niet in om de unieke codes uit de artikel tabellen weer te geven als producten in mijn formulier. Ik zou dit kunnen oplossen door een bepaalde instelling in het eigenschappenvenster bij formulierontwerp dat de gegevens uit tblArtikel1 maar weergegeven wordt als product en bij artikel 2 worden de gegevens uit tblArtikel2 gehaald en weergegeven als product, .....

Dank bij voorbaat
 
Ik ril een beetje van je opzet met 5 verschillende tblArtikel tabellen, want dat zou helemaal niet nodig hoeven te zijn. Als ik het goed begrijp, zou er een één-op-veel relatie moeten zijn tussen Agenda en Artikel, en een één-op-veel relatie tusssen Artikel en Produkten. Die laatste relatie heb je niet, omdat je met aparte tabellen werkt. In je query/formulier zul je dus alle 5 tabellen moeten koppelen. Maar ik raad je toch ten zeerste aan om de 5 artikeltabellen te vervangen door één tabel, met de juiste koppelingen.
 
Ik vermoede ook dat dit niet de juiste werkwijze is, maar zou niet weten hoe het anders kan. Ik heb dit gedaan omdat ik anders niet wist hoe ik bij frmAgenda invoeren 5 unieke producten kon ingeven gelinkt aan hun juiste aantal. Met 1 tabel lukte me dat niet. Hieronder mijn relaties:

ic926f.png
 
Laatst bewerkt:
Met als gedachte: beter ten halve gekeerd, dan ten hele verdwaald, zou ik toch zeggen: maak van je artikelentabellen één tabel, met de juiste koppelingen. Voor je agenda zou je eigenlijk ook een extra tabel nodig hebben, die je koppelt met Artikelen. Je kunt dan elk aantal toevoegen dat je wilt. Met deze tabel (Orders zou een logische naam zijn op basis van de veldnaam die je nu dupliceert) ben je niet meer gebonden aan 5 (al dan niet verplichte) Ordernummers; Als je zonder uitzondering altijd 5 ordernummers nodig hebt, en invult, zet je in je formulier 5 kopieën van de tabel Artikel. Elke kopietabel koppel je dan aan één OrderID. Dan ben je in ieder geval van deze onmogelijke constructie af.
 
Het lukt me niet, ik zit volledig vast. Mijn kennis van Access reikt niet ver genoeg. Tijd om eens paar stappen terug te zetten.

Hou zou u de basis van de database opbouwen? Met een goede basis zou ik verder moeten kunnen.

Hieronder een schets van wat de kern van de database is. Als ik hiervoor een goede structuur heb kan er volgens queries maken op basis van deze gegevens.

schets:

Een tabel agenda waarin alle ingevoerde gegevens vanuit het formulier agenda worden opgeslagen. (Klant, werk, persoon dat het werk doet, welke materialen hij nodig heeft en aantal)

Voorheen maakte ik voor elk gegeven een aparte tabel en in tabel agenda werden de unieke codes weergegeven.

Voor materialen had ik in het formulier 5 keuzelijsten en daardoor moest ik ook 5 verschillende tabellen artikel maken.

Hoe zou u deze structuur bij begin opmaken?

Dank bij voorbaat
 
Om even bij jouw plaatje te blijven: zoiets bijvoorbeeld.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan