Reeds gekozen woorden onzichtbaar maken in het lijstje van Combo Box

Status
Niet open voor verdere reacties.

Vuurbok

Gebruiker
Lid geworden
20 feb 2010
Berichten
65
Hoi luitjes,

Ik hoop dat jullie mij misschien kunnen helpen met mijn twee vragen. Ik heb een voorbeeldbestand Bekijk bijlage Voorbeeld.rar met mijn vragen meegestuurd zodat jullie ook kunnen inkijken wat ik precies mee bedoel.

Eerste vraagje: is het mogelijk om de Combo Box (DN Or FU) zo aan te passen via VBA dat het alleen de overgebleven woorden in de lijst laat zien, dus dat de woorden (die reeds gekozen zijn) automatisch onzichtbaar worden in het lijstje? :)

Tweede vraagje: is het mogelijk dat het bovenste woord in het lijstje van diezelfde Combo Box automatisch als eerste tevoorschijn komt in het cbo_MRD_DN_Or_FU ipv dat het leeg staat? :)
 
Je zult de rijbron van je keuzelijst moeten aanpassen, en niet de tabel gebruiken. De query ziet er dan zo uit:
Code:
SELECT DN_Or_FU FROM tbl_DN_Or_FU WHERE (tbl_DN_Or_FU.DN_Or_FU Not In (SELECT [MRD_DN_Or_FU] FROM [tbl_Patients_Materials] WHERE [MRD_Number]=[Formulieren]![frm_Patients]![MRD_Number]));
Je moet de keuzelijst wel steeds opnieuw met Requery verversen als je de keuzelijst selecteert, anders blijft hij de bij het openen aanwezige waarden tonen.
 
Hoi OctaFish!

Superbedankt voor je formule! Het werkt goed! Ik wist het niet dat het ook zo ging via rijbron! :D :D :D :D

Een piepkleine vraag: is het mogelijk dat het bovenste woord in woordenlijst van keuzelijst altijd zichtbaar is? :)
 
Dat zou dan moeten door een gebeurtenis te maken die bij elk nieuw record checkt wat er in de keuzelijst staat, en dat dan als waarde in de keuzelijst zetten. En daar heb je een probleem, want als je dat doet, ziet Access het als een nieuw record (je hebt namelijk een doorlopend formulier). Resultaat: Access maakt gelijk weer een nieuw record aan, wat dan ook weer wordt bijgewerkt, met als gevolg: weer een nieuw record. Etc. Gevolg: de hele keuzelijst wordt in één keer leeggezogen!
 
Hoi OctaFish,

Ik heb geprobeerd die combo box te verversen met requery, maar helaas is het mij niet gelukt om deze funktie aktief te krijgen. Ik heb deze volgende VBA-code toegepast:

Private Sub cbo_MRD_DN_Or_FU_Click()
Me.cbo_MRD_DN_Or_FU.Requery
End Sub

Weet je misschien waar het aan kan liggen? :)
 
Wat is je probleem precies? Zoals ik al uit heb proberen te leggen, kun je geen standaardwaarde laten zien op de lijst. De Requery om de keuzelijst voor een volgend record klaar te zetten, doe ik zelf bij de gebeurtenis <Na bijwerken>.
 
Hoi OctaFish!

Bedankt voor je reaktie. Ik heb nu eindelijk een probleem gevonden. Het lag aan mij, want ik had de jou voorgestelde query niet geheel goed toegepast zonder erbij na te denken of de verwijzing naar de juiste (sub)formulieren wel goed waren. Dat Voorbeeld-bestand verschilt van mijn werkbestand wat ik het totaal vergeten was. Zie hieronder de aangepaste query. Ook heb ik een "zelfstandige" query aangemaakt (qry_DN_Or_FU) met daarin de getoonde tabel tbl_DN_Or_FU en daaronder in de criteria heb ik de aangepaste versie van jouw query neergezet. Zie hieronder. Deze "zelfstandige" query kan ik weer gelijk gebruiken voor de meerdere keuzelijsten. Nu werkt alles naar behorend! :D :D :D :D

Not In (SELECT [MRD_DN_Or_FU] FROM [tbl_Patients_Materials] WHERE [MRD_Number]=Forms.[frm_CMRD].[frm_Patients].Form.[MRD_Number])

Die vetgedrukte gedeelten heb ik erbij gezet in jouw query. Ook heb ik bij "Event" van cbo_MRD_DN_Or_FU deze volgende VBA-code gebruikt bij "On Exit":

Private Sub cbo_MRD_DN_Or_FU_Exit(Cancel As Integer)
Me.cbo_MRD_DN_Or_FU.Requery
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan