formulier automatisch vullen

Status
Niet open voor verdere reacties.

Bisquit

Gebruiker
Lid geworden
8 apr 2003
Berichten
29
Hallo,

Ik ben al de hele dag bezig met een probleem waar ik maar niet uit kom. Waarschijnlijk ligt het aan het feit dat ik vba niet onder de knie heb, maar ik hoop dat jullie me de goede richting op kunnen sturen.

Situatie:
Ik heb een formulier waarop uren worden geregistreerd. Op dit formulier wordt aangegeven om welke call het gaat en een korte omschrijving. Deze calls moeten indien ze al een keer geregistreerd zijn uit een combobox te selecteren zijn.
Om er voor te zorgen dat er geen dubbele calls in de combox voor komen, maar ik gebruik van een query met SELECT DISTINCT.

Wanneer er een keuze wordt gemaakt uit een van de calls of een nieuwe call_id wordt ingevoerd, wordt er een After Update even getriggerd waarmee het veld omschrijving wordt gevuld. Of niet...

Probleem:
Het kan natuurlijk voorkomen dat er een nieuwe call wordt geregistreerd. Volgens de after update wordt dan de query uit de omschrijving geactiveerd en deze zoekt naar een omschrijving op basis van het call_id.
Hoe kan ik voorkomen dat Access probeert om het veld omschrijving te vullen wanneer een call_id nog niet voorkomt in de lijst met call_ids?

Op dit moment heb ik het volgende in het afterupdate even staan:
Code:
Private Sub call_id_AfterUpdate()

Me![omschrijving call].Requery
Me![omschrijving call] = Me!call_id.Column(1)

End Sub

Alvast bedankt!
 
Wat is de bron van Me![omschrijving call]? Want waarom begin je met een Requery?
 
Mogelijk is deze requery niet eens nodig, maar deze haalt de omschrijving van alle calls op die gelijk zijn aan de call_id die net ingevoerd is. Ik heb het nog niet volledig getest, maar als ik deze requery niet zou doen, zou het volgens mij mogelijk zijn dat wanneer call_id 12 wordt ingevuld ook call_id 1212 wordt gevonden. Door deze requery maak ik het specifiek zodat alleen call_id 12 wordt gebruikt om de omschrijving te vullen.

Specifiek:
Code:
SELECT DISTINCT tbl_urenregistratie.[omschrijving call], tbl_urenregistratie.call_id FROM tbl_urenregistratie WHERE (((tbl_urenregistratie.call_id)=Forms!frm_urenregistratie!call_id)) Or (((Forms!frm_urenregistratie!call_id) Is Null));

[edit]
Ik heb de vraag eindelijk kunnen oplossen met Dlookup. Dat was weer zo'n functie waar ik nooit van had gehoord, maar ja. Ik zal de code dan ook maar niet posten omdat ik verwacht dat mijn manier van coderen niet helemaal volgens de regels zal zijn. Het functioneert in ieder geval.

@OctaFish bedankt voor het meedenken! Elke keer dat ik in het Access forum wat zocht, kwam ik steeds jouw naam tegen bij de oplossingen. Ik vind het geweldig dat je zoveel energie in steekt in het helpen van mensen. Bedankt!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan