Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Access formulier, keuzelijst aanpassen aan andere keuzelijst

Pagina: 1
Acties:

  • GSteven
  • Registratie: Juli 2004
  • Laatst online: 17-09-2024
Ik hou een database bij met gegevens over vrijwilligers. Een deel daarvan gaat over bijscholingen.

Over iedere vrijwilliger wordt in de tabel tblVrijwilligers een Registratienummer bijgehouden als primaire sleutel (omgekeerde geboortedatum + extra cijfercombinatie). In tblBijscholingen word een lijst van mogelijke bijscholingen bijgehouden. Deze worden gekenmerkt door BijscholingID.

De vrijwilligers kunnen verschillende opleidingen hebben. Deze worden bijgehouden in tblOpleidingenVrijwilligers. Met daar als kolommen OplVrwID (PK), OpleidingID (FK met tblOpleidingen), Registratienummer (FK met tblVrijwilligers), Vervaldatum.

De bijscholingen per vrijwilliger worden bijgehouden in de tabel tblBijscholingenVrijwilligers. De kolommen hier zijn: een autonrveld, OplVrwID (FK met tblOpleidingenVrijwilligers), BijscholingID (FK met tblBijscholingen), Registratienummer (FK met tblVrijwilligers).

Er is een formulier tblBijscholingen waardoor we door de bijscholingen kunnen scrollen. Per bijscholing kan er opgegeven worden via een subformulier frmBijscholingenAanwezigheden welke vrijwilligers aanwezig zijn (Hoofdveld / Subveld: Registratienummer).

Dit formulier bevat twee velden Vrijwilliger (gelinkt aan Registratienummer en een veld Opleiding waar men moet kiezen uit een opleiding. Ik zou graag alleen de opleiding willen weergeven waarvoor die die bepaalde vrijwilliger gevolgd heeft. Als ik dus een vrijwilliger kies moet de keuzelijst ernaast automatisch enkel de opleidingen weergeven waarvoor ie opgeleid is (uit tblOpleidingenVrijwilligers), Registratienummer = Registratienummer.

Ik heb al zitten foefelen met VBA bij de gebeurtenis dat de keuzelijst Vrijwilliger aangepast word dat er een nieuwe recordset aangemaakt word maar dan doet hij dat ook voor alle andere vrijwilliger. Die hebben niet de opleidingen gevolgd als die ene vrijwilliger.

Iemand een clue?

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Gebruik de search eens en zoek op 'keuzelijsten koppelen' :)

[ Voor 32% gewijzigd door Lustucru op 01-07-2008 16:39 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • GSteven
  • Registratie: Juli 2004
  • Laatst online: 17-09-2024
Dat had ik reeds gedaan. Daar kwam ik een eerdere post van je tegen.
Lustucru schreef op zondag 12 maart 2006 @ 18:50:
Niet zo verbazingwekkend. ;)
Stel in record 1 vul je de lijst met auto's. Als je in record 2 als hoofdcat schepen gekozen hebt, is de lijst met bootjes gevuld. Ga je terug naar record1 zal de gekozen auto niet meer in de lijst voorkomen-->lege weergave..
Je moet je secundaire lijst dus ook verversen in het oncurrent() event van het formulier.
Ik zit met hetzelfde probleem. Als ik een vrijwilliger invul. Dan krijg ik een lijst ernaast met zijn opleidingen. Ga ik naar het volgend record. Dan vind ik ook een lijst van die vrijwilliger met zijn opleidingen maar verdwijnen de gegevens van de vorige vrijwilliger.

Ik heb nu deze code lopen.
code:
1
2
3
4
5
6
7
8
9
Private Sub Keuzelijst_met_invoervak2_AfterUpdate()
 Dim sQry As String
 Dim sRegnr As String
 
 sRegnr = Me.Keuzelijst_met_invoervak2.Value
 sQry = "SELECT [qryOpleidingEnVervaldatumPerVrijwilliger].[OplVrwID], [qryOpleidingEnVervaldatumPerVrijwilliger].[Registratienummer], [qryOpleidingEnVervaldatumPerVrijwilliger].[Opleiding], [qryOpleidingEnVervaldatumPerVrijwilliger].[Vervaldatum] FROM [qryOpleidingEnVervaldatumPerVrijwilliger] WHERE [qryOpleidingEnVervaldatumPerVrijwilliger].[Registratienummer] = '" & sRegnr & "' ORDER BY [Vervaldatum] DESC;"
 Me.cboBadge.RowSource = sQry
 Me.cboBadge.Requery
End Sub


Wat wil je bedoelen met dat OnCurrent() event?

Bedankt.

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

On Current (bij aanwijzen) is een formulier event (gebeurtenis). Op dezelfde manier als je een gebeurtenisprocedure aanmaakt voor een control kun je er ook een aanmaken voor een formulier.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • GSteven
  • Registratie: Juli 2004
  • Laatst online: 17-09-2024
Bij OnCurrent heb ik besloten om een Requery uit te voeren. Nu blijken de verkeerde gegevens opgeslagen te worden. De opleiding van vrijwilliger x word opgeslagen bij zichzelf. Wanneer ik vrijwilliger y als extra record aanduid (dan worden de opleidingen aangepast) krijgen x & y plots dezelfde opleiding...

Ik blijf verder zoeken...

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 15-10 13:46
wat ik vaak doe, is het de rijbron met vba aanpassen op het moment dat je op een keuzelijstje (lstMylist) klikt. Dan doe je niks teveel (immers, je doet pas iets, als je daadwerkelijk het bewuste control aanklikt)
Dat is het "bij kiezen" event. En dan de vba-code:
lstMylist.rowsource = "SELECT * FROM tblTabelletje WHERE ID = " & lstOtherList

[ Voor 12% gewijzigd door Witte op 02-07-2008 23:54 ]

Houdoe

Pagina: 1