Combobox requery

Status
Niet open voor verdere reacties.

tsjoek

Nieuwe gebruiker
Lid geworden
11 dec 2009
Berichten
1
Hallo,
Ik heb eens even gecheckt op de site of hierop een antwoord staat, maar ik vind niets... dus hierbij de vraag...
Ik heb een formulier Customersform, gebaseerd op tblCustomers en daarop staat een keuzelijst waarin je de postcode kunt kiezen, welke komt uit tblCities. Ik heb er een knop bijgezet: Nieuwe city. Als je op deze knop klikt (Gebeurtenis: On Click) opent het formulier frmCities (gebaseerd op tblCities). Dan moet de keuzelijst met de postcodes automatisch geupdate worden. Hiervoor heb ik bij de event On Got Focus een macro gestoken met de actie Requery erin.
Ik open mijn formulier, test dit, en dit werkt... Als ik een 2de keer een nieuwe City ingeef (formulier niet gesloten ondertussen) werkt dit niet meer (dus komt de nieuwe postcode niet meer bij in de combobox). :shocked:
Heeft er misschien iemand een betere suggestie waar ik de macro aan kan hangen (dus ipv aan de Event On Got Focus van het formulier)?
Wanneer ik de code schrijf in VBA (formulier openen en cboPostCode requery) en deze aan de on Click event van de knop Nieuwe City hang, werkt dit wel. Maar ik mag hier geen VBA gebruiken...

Thanx,
Anastasia
 
Laatst bewerkt:
Hoi,

Ik snap 1 ding niet aan je probleem. Je wilt een macro gebruiken maar je mag geen VBA gebruiken???? Dit zal zeker een probleem geven, want een macro wordt in vba geschreven.

greetz
 
Nog even voorbijgaand aan de voorgaande post, die niet echt veel toevoegt of zelfs correct is: de manier waarop je de postcodes en steden (overigens tenenkrommend taalgebruik wat mij betreft: Nieuwe city; hebben we niet zelf een prachtige taal met mooie woorden?) aanmaakt is niet helemaal jofel.
Je wilt volgens mij postcodes toevoegen aan de tabel, en geen stedennamen. (of moet ik dat vertalen naar city namen?) Blijkbaar sla je die wel op in de tabel tblCities, maar ik neem aan dat je per stad meerdere postcodes opslaat. En wat voeg je precies toe als je op die knop klikt? Naam en Postcode?

De juiste procedure is om die hele knop weg te gooien, of hooguit gebruiken voor een actie die niets met de keuzelijst te maken heeft, en alles te regelen via de keuzelijst. Hierop maak je een actie voor de gebeurtenis <Bij niet in lijst>. Inderdaad, deze actie triggert als je een postcode intypt die niet in de lijst staat. Wat je hier achter hangt, is het volgende: Je opent het formulier tblCities in de status acDialog, waarbij je tegelijkertijd de postcode overneemt die zojuist is ingevuld. Die heb je immers nodig om het nieuwe record te maken. Verder laat je natuurlijk alle gegevens invullen die verplicht zijn. Door de status acDialog kun je niet verder met een ander formulier; je moet dus eerst het toevoegen van het nieuwe record volledig doorlopen. Bij het sluiten van het formulier wordt de actie op het oorspronkelijke formulier verder uitgevoerd, en die actie bestaat uit het bijwerken van de keuzelijst.

Je doet dus alles vanuit één object (de keuzelijst) en met één gebeurtenis (Bij niet in lijst).
Heb je hier hulp bij nodig: je weet de weg...
 
Hierbij een voorbeeldje hoe je via een gebeurtenis <Bij niet in lijst> waarden kunt toevoegen aan een tabel.
In het formulier Artiest_Nummer vind je twee keuzelijsten: de eerste lijst wordt gebruikt om een artiest te kiezen. Zit de artiest niet in de tabel, dan wordt een tweede formulier geopend, dat gebruikt wordt om de nieuwe artiest op te slaan.
Iets vergelijkbaars vindt plaats op de tweede keuzelijst, maar dan iets uitgebreider. Met deze keuzelijst wordt namelijk een nummer toegevoegd aan de tabel Songs, waarbij zowel een Titel als een ArtiestID moet worden meegegeven aan het formulier fSongs. De techniek hier is dus een klein beetje ingewikkelder.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan