Vervolg keuzeveld maken

Status
Niet open voor verdere reacties.

Systeempje

Gebruiker
Lid geworden
8 sep 2009
Berichten
149
Beste,

Ik heb een probleem met 2 keuzevelden

Wat heb ik:

Tabel1
kolom 1: Nummer (sleutel)
Tabel 2
kolom 1: Nummer
kolom 2: Adres

Hier heb ik een 1 op veel relatie van gemaakt omdat er op tabel 1 een sleutel staat.

Nu heb ik een formulier daar moeten gebruikers uit het eerste keuzeveld (gekoppeld met tabel 1) een nummer kiezen. (dit moet straks een naam tonen, dit komt nog).

Vervolgens moeten ze in een tweede keuzeveld een adres kiezen uit de relatietabel

Dit werkt allemaal, maar zodra er een keuze gemaakt is met de keuzevelden kan ik deze niet meer bijwerken.

Ik hoop dat het een beetje duidelijk is....

Wie kan dit probleem oplossen of mij een handje op weg helpen?

Edit:
Tevens slaat hij niet op de juiste manier op, hij geeft telkens in het formulier maar 2 formulieren aan, dit komt omdat hij tabel1 aanhoud denk ik.


Bijlage vervallen (zie later in dit bericht voor het juiste bestand).
 
Laatst bewerkt:
Je had de keuzelijst (en het formulier) gekoppeld aan Tabel1. Eigenlijk is een keuzelijst daar niet voor bedoeld; je wilt met een keuzelijst waarden uit (bijvoorbeeld Tabel1) gebruiken om waarden te selecteren voor een andere keuzelijst (Op basis van Tabel2), waarna de geselecteerde waarde(n) worden opgeslagen in Tabel3.
Als je tekstvakken en/of keuzelijsten koppelt aan tabelvelden, dan kun je net zo goed de bladerknoppen gebruiken om door de records te bladeren; de keuzelijst is dan alleen geschikt om een waarde in een bepaald record te veranderen.
In het bijgaande voorbeeld heb ik de keuzelijsten aangepast, maar is er nog geen tabel om de waarden op te slaan...
 

Bijlagen

Laatst bewerkt:
Ik snap je laatste zin niet volledig :confused:

Ik heb je bijlage gezien, maar misschien moet ik mijn plan iets uitgebreider vertellen.

Dit worden werkbonnen voor klanten, in het eerste keuzeveld kies ik een klantnummer (daar komt nog een kolom klantnaam bij). In de 2de keuzeveld kies ik vervolgens een adres, aangezien sommige klanten meerdere adressen hebben.

De waarde moet dus wel degelijk opgeslagen worden, ik heb al een kolom bonnummer is tabel 1 gemaakt met autonummering, maar dit werkt niet.

Wellicht is mijn doel nu iets duidelijker.
 
Mijn laatste zin was inderdaad niet volledig, het belangrijkste woordje was weggevallen :o
Gelukkig snap ik jouw probleem zo ook wel, dus we komen wel een stukkie verder!

De waarden moeten uiteraard opgeslagen worden, anders heb je niet zoveel aan een formulier. Alleen: niet in in tabel1, of tabel2.... Je moet een derde tabel maken, waarin je de gegevens opslaat die je met de keuzelijsten uit tabel1 en tabel2 haalt. Om die reden heb ik de rijbron van cbo2 afhankelijk gemaakt van de keuze die in cbo1 wordt gemaakt. Dat gebeurt met een <Na bijwerken> gebeurtenis op cbo1. In jouw opzet had je cbo2 een rijbron gegeven via een query, maar deze optie is (vind ik) beter.
Doordat de twee keuzelijsten geen Besturingselementbron hebben, kun je de twee straks aan de derde nog te maken tabel Werkbonnen hangen...
 
Hoi Octafish,

Momenteel sla hij de gegevens wel op als ik een bon aanmaak in de tabel werkbonnen, echter zodra ik het formulier weer open, is Cbo2 weer leeg, en verdwijen de gegevens dus ook uit de tabel.

Verder werkt hij wel goed!!

Edit: inmiddels is dit opgelost omdat de gebeurtenis bij klikken automatisch gepakt is, aangezien Cbo1 automatisch geselecteerd wordt hij aanvang van een record.

Nu hoop ik niet dat ik in de problemen kom......
 

Bijlagen

Laatst bewerkt:
In het eerste keuzemenu moet hij de naam laten zien niet het nummer, nu heb ik de kolombreedte al op 0; 2 gezet maar het vervelende is dat hij dan alleen het nummer opslaat in de tabel en niet de naam.

laat ik de naam opslaan dan werkt het vervolg keuze menu niet meer... koppeling is weg (afhankelijke kolom)...
Klantnummer moet wel zichtbaar blijven, eventueel in een aparte tekstvak.

Wie kan mij helpen zie bijlage
 

Bijlagen

Laatst bewerkt:
Zonder je huidige db gezien te hebben: het is de bedoeling om het nummer op te slaan, en niet de naam. Dus de constructie waarbij de eerste kolom een breedte 0 heeft, zodat je de naam ziet, is dus perfect! Waarom zou je ook de naam op willen slaan?
Je kunt de naam van de klant, als je het nummer laat zien, op een tekstveld zetten door te verwijzen naar een kolom van je keuzelijst. (Omgekeerd kan uiteraard ook...)
Als je het KlantID laat zien krijg je op een tekstvak:
Me.txtKlantNaam=Me.cboKlant.Column(0)
Laat je het KlantID zien op de keuzelijst, dan krijg je voor de klantnaam:
Me.txtKlantNaam=Me.cboKlant.Column(|1)
Hierbij verwijs je dus naar een kolom uit de keuzelijst, waarbij de telling bij 0 begint, en niet bij 1.
 
Hoi,

IK heb inderdaad de eerste kolom op 0 gezet, nu zie je alleen de klantnaam.
Vervolgens een tekstvak gemaakt voor de klantnummer maar dan opgelost met: =[cboOpdrachtgever].[Column](0),
Dit werkt ook.

Beide opties zijn werkend lijkt mij.

Klantnaam hoeft inderdaad niet opgeslagen te worden, ik dacht te omslachtig!

Alvast bedankt!!
 
Laatst bewerkt:
Wat je eigenlijk makkelijker vind in het gebruik. De meeste mensen vinden het plezieriger om alfabetisch te zoeken, dus op Naam. Eigenlijk dus wat je nu ook hebt. Je leest dan het Klantnummer in uit de keuzelijst. Wil je zoeken op Klantnummer, dan zou ik het omdraaien. Wat je wilt dus, de ene optie is niet beter als de ander!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan