formulier baseren op meerdere tabellen

  • Onderwerp starter Onderwerp starter scw
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

scw

Gebruiker
Lid geworden
5 jun 2009
Berichten
530
Nog even een vraagje van mij, die me ook al enige tijd bezighoudt:

Ik heb een formulier waar ik gegevens uit tabel 1 voor een tekstvak wil halen, maar daarnaast ook gegevens uit tabel 2 voor een keuzelijst met invoervak wil halen. De tabellen zijn onderling niet gerelateerd onder elkaar. Beiden vakken staan op een tabpagina op het formulier.

1) Moet ik het formulier zelf nu onafhankelijk maken?
2) Moet ik het formulier afhankelijk maken van één tabel en een andere manier vinden voor het tweede vak?
3) Mogelijk is er nog een andere mogelijkheid?

Ik kan er geen query van maken, want dan moeten de tabellen dus een relatie hebben met elkaar...

Wie weet raad??? Alvast bedankt voor de suggesties! :thumb:
 
Keuzelijsten hebben een Rijbron, waarin je de gegevens mee genereert, een een Besturingselementbron, waarin je aangeeft of en waarin je de opgehaalde waarde wilt opslaan. Keuzelijsten kun je volledig onafhankelijk maken van de formulierbron, of niet, wat je maar wilt.
Uiteraard kun je een besturingselementbron van een keuzelijst alleen maar koppelen aan een veld uit de Recordbron van het formulier. Is het formulier gebaseerd op een tabel, dan kun je de keuzelijst dus koppelen aan een veld uit die tabel.
Keuzelijsten hoef je nooit aan elkaar te koppelen, tenzij je de eerste keuzelijst gebuikt om de tweede te filteren. En dan nog hoef je dat niet te doen met een koppeling, want je kunt met VBA de Recordbron van de tweede lijst opbouwen en toewijzen aan de keuzelijst.

De vraag of een formulier onafhankelijk moet zijn, of niet, kunnen we zo niet beoordelen. Want waar wordt het formulier voor gebruikt? Als je het gebruikt om gegevens te selecteren waarna je een rapport opent met de selectie, dan is het niet nodig om het formulier te koppelen aan een tabel of query.
Kortom: waar dient het formulier voor?
 
Hai Michel,

Het gaat om een soort formulier 'Instellingen' voor mijn DB. In frmInstellingen heb ik geregeld dat hier een e-mailadres kan worden ingevuld en gewijzigd (tekstvak, haalt z'n gegeven uit tblEmail). Daarbij heb ik een keuzelijst (haalt gegeven uit andere tabel dan tblEmail) waar ook een bepaalde waarde geselecteerd kan worden, die verderop weer gebruikt wordt in de DB.

Het is dus fraai als ik deze twee gewoon bij elkaar kan plaatsen.

Ik heb ze beide apart wel volledig operationeel, d.w.z. ik heb idd de rijbron en besturingselementbron allemaal op orde. Maar zodra ik ze bij elkaar op één formulier plaats: moet ik de keuze maken voor één van de twee, doordat die recordbron voor het formulier het belemmert. Er zou toch een weg moeten zijn lijkt mij??
 
Hi Michel,

Letterlijk zeg je in je e-mail: "Keuzelijsten kun je volledig onafhankelijk maken van de formulierbron". Ik denk dat ik daar de oplossing in moet zoeken. Hoe kan ik de keuzelijst dus onafhankelijk maken:

Doordat ik niets invul bij de besturingselementbron en dan mogelijk een uitweg vinden via VBA? Of gaat dat anders, het onafhankelijk maken van de keuzelijst?
 
Helemaal goed gezien! Als je de Besturingselementbron leeg laat, dan heb je een niet-gebonden keuzelijst. Vervolgens moet je dan wel via VBA iets doen met de waarde, anders heb je er weinig aan :)
 
voorbeeldbestand

Hoi Michel,

In de afgelopen weken heb ik wat zitten oefenen, maar schiet nog net tekort. Bijgaand vind je het bestand met hoe ver ik ben gekomen met een VBA oplossing. Ik vraag mijzelf af bij welke gebeurtenis ik de code moet plaatsen van het tekstvak txtEmail, om het emailadres uit tblEmail weer te geven en vooral ook om te kunnen wijzigen (wat dan vervolgens weer in tblEmail terecht moet komen.

Hopelijk kun je me nog meer op weg helpen en kan ik dit oplossen.

Bedankt alvast in ieder geval,

scw
 

Bijlagen

Zal er morgen naar kijken!
 
Ben er nu naar aan het kijken, en ik snap iets niet...
Je hebt een tabel [tblVerantwoordelijke], met twee velden, een autonummerID en het veld [Verantwoordelijke]. En een tabel [tblEmail] met ook een automnummerveld, en het veld [E-mailadres].
Twee vragen: waarom geen emailadres in de tabel tblVerantwoordelijke, en waarom, als je toch wilt scheiden, geen koppelveld in de tabel tblEmail? Want ik zie nu geen enkele manier hoe je die twee gegevens aan elkaar kunt koppelen, en als ik je formulier bekijk, is dat wel de bedoeling!
 
Hoi Michel,

Zoals ik al eerder aangaf gaat het om een soort formulier Instellingen, waarbij ik in deze DB de mogelijkheid wil creëren om bepaalde acties variabel te maken met een e-mailadres of een verantwoordelijke in te stellen.

Er is zeg maar geen enkel verband tussen de 'Verantwoordelijke' en het 'Emailadres'. De inhoud van beide velden wordt voor verschillende acties op formulieren toegepast.

Vanwege mijn gebrek aan kennis heb ik daarom, het formulier afhankelijk gemaakt van ten minste één tbl, in dit geval tblVerantwoordelijke. Ik had ook net zo goed tblEmail kunnen doen en dan had ik weer gezeten met tblVerantwoordelijke. Ik heb nu gekozen voor tblVerantwoordelijke omdat, deze iets gecompliceerder is met de keuzelijst met een query daarachter.

Idealiter zou het formulier helemaal onafhankelijk kunnen zijn. Maar vooralsnog ligt dat buiten mijn kennisgebied en kan ik het operationeel maken door één veld onafhankelijk te maken...

Ik hoop dat ik je hiermee voldoende achtergrondinfo heb gegeven ;)
 
Eerlijk gezegd snap ik het probleem nog niet helemaal, maar misschien denk je wel te moeilijk. Blijkbaar wil je een formulier met daarop twee keuzelijsten die niets met elkaar te maken hebben? Maar wat is dan het nut van dat formulier? Je hebt het formulier nu gebaseerd op één van de twee tabellen, maar dat lijkt mij dan ook vrij nutteloos.
Je baseert een formulier op een tabel als je gegevens uit die tabel of query wilt kunnen bekijken/bijwerken, maar daar is hier geen sprake van. Het formulier zou ik dus gewoon niet-gebonden houden. Je hebt dan twee keuzelijsten, waarin je een waarde kunt selecteren. Vervolgens gebruik je die gekozen waarden in een vervolgactie, met knoppen neem ik aan?
 
Hoi Michel,

Goed dat je nog om verdere toelichting vraagt. Je denkt duidelijk in een ander hoek. Ik wil nogmaals benadrukken dat het gaat om een Instellingen (van mijn DB) formulier. Omdat het een frmInstellingen is van mijn DB, is het puur en alleen om (het is overigens niet twee keuzelijsten) het tekstvak én de keuzelijst te bekijken en te wijzigen. Er vinden geen verdere acties plaats op het formulier frmInstellingen zelf: er zijn andere formulieren in de DB die gebruik maken van de gegevens uit de tabellen namelijk. Bijvoorbeeld er is een formulier welke een actie SendTo heeft volautomatisch en daar het e-mailadres voor uitpikt uit tblEmail, etc.

Dus op zich heeft het baseren op ten minste één tabel wel nut, omdat het hiermee operationeel is. Maar idealiter zou het allebei onafhankelijk kunnen worden...

Stel gerust nog meer vragen indien nodig...
 
Het formulier heeft dus puur en alleen de taak om gegevens uit verschillende (voorlopig nog twee) tabellen weer te geven en desgewenst te wijzigen...
 
Dan is mijn volgende vraag: wil je kunnen bladeren op een bepaald soort gegeven? Je kunt, zoals je hebt gemerkt, het formulier maar op één veld (tabel) baseren.
Ik zou zelf denk ik dan de tabel tblEmail nemen, omdat je dit veld als tekstveld gebruikt. Het veld [Verantwoordelijke] is al een keuzelijst, en die is toch al op een tabel gebaseerd.
 
Goedeavond Michel,

Nee, ik hoef (juist) niet te kunnen bladeren op een bepaald soort gegeven. De bedoeling is dat de tabel letterlijk maar één record houdt die telkens gewijzigd wordt (door middel van het formulier). Ik weet eerlijk gezegd niet of dit ook de meest logische oplossing is, of dat er een efficiëntere manier is zonder gebruik te maken van een tabel voor slechts één record... Ik denk toch van niet, want uiteindelijk zijn de tabellen voor de opslag van data.

Je tip om het formulier dan op tblEmail te baseren, neem ik graag van harte. Maar is vervolgens het ook zo dat we geen VBA hoeven te gebruiken, omdat tblVerantwoordelijke met de keuzelijst al een aparte rijbron kan hebben? Ik ben benieuwd...
 
Goedemorgen Michel,

Weet jij nog een oplossing hiervoor of heb je misschien nog meer info nodig? Of is er nog iets onduidelijk? Ik hoor het wel...

Groet :thumb:
 
Ik heb nog steeds geen idee wat je bedoelt, maar komt dit in de buurt?
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan