Extra veld laten verschijnen in MS Access

Status
Niet open voor verdere reacties.

El1984

Gebruiker
Lid geworden
18 jun 2013
Berichten
6
Goedenavond,

Is het in MS Access mogelijk om een veld te laten verschijnen wanneer er in een ander veld aan een bepaalde voorwaarde wordt voldaan?
Bijvoorbeeld:
Veldnaam = Burgerlijke staat, met als keuzemenu "ongehuwd", "gehuwd" of "geregistreerd partnerschap".
Als het antwoord "gehuwd" of "geregistreerd partnerschap" is moet het volgende veld verschijnen: Achternaam partner.
Als het antwoord "ongehuwd" is, hoeft dit veld niet te verschijnen.

Ik hoop dat het mogelijk is. Graag hoor ik de oplossing.
 
Dat is op zich wel mogelijk, maar je zou jezelf de vraag kunnen stellen of dat wel wenselijk is; mijn ervaring is dat formulierschermen de neiging krijgen nogal onrustig te worden als je te pas en te onpas velden tevoorschijn laat springen. Meestal win je er ook niks mee om dat te doen, omdat je toch ruimte vrij moet houden voor dat veld., dus je kunt meestal niks anders op die plek zetten. Zelf laat ik die velden dus meestal gewoon staan, maar schakel ik ze aan of uit. Dat dan natuurlijk op basis van de gekozen waarde uit de keuzelijst of groepsvak. Of je zet de groepgegevens (partnergegevens bestaan vaak uit meer velden) op een apart tabblad, wat je dan wel kunt verbergen of niet.
In essentie werkt het dus zo:
Maak een gebeurtenis <Bij klikken> van een selectievakje met als dummycode:
Code:
Private Sub chkGetrouwd_Click()
    Me.txtPartnerNaam.Visible = Me.chkGetrouwd
End Sub
 
Bedankt voor je antwoord en advies Michel.
Ik ben nog niet echt ervaren met Access, dus onderstaande vragen zullen misschien wat dom klinken:
Wat bedoel je met 'een gebeurtenis maken'? En waar voer ik de (dummycode) in?
En hoe schakel je bepaalde velden aan of uit?

Graag hoor ik je antwoord.
 
Gebeurtenissen hangen achter objecten, zoals het formulier zelf, keuzelijsten of selectieveldjes. Je vindt ze bij de Eigenschappen op het tabblad <Gebeurtenissen>. Je hebt bijvoorbeeld een actie <Na bijwerken> die vaak gebruikt wordt, of <Bij klikken> die je vaak voor hetzelfde kunt gebruiken. Elke gebeurtenis wordt dus op een apart moment 'afgevuurd' door Access. Bij een selectievakje of keuzelijst klik je vaak op een optie (of het ding zelf) en daar kun je dus een actie achter hangen.
Bij een keuzelijst met opties kun je een Select Case gebruiken:

Code:
Private Sub cboStatus_Click()
    Select Case cboStatus
        Case "ongehuwd"
            Me.txtPartnerNaam.Visible = False
        Case "gehuwd"
            Me.txtPartnerNaam.Visible = True
        Case "geregistreerd partnerschap"
            Me.txtPartnerNaam.Visible = True
        End Select
End Sub
 
Ik heb hetzelfde gedaan zoals je hebt gezegd (wellicht verkeerd), maar de velden 'Voorvoegsel achternaam partner', 'Achternaam partner' en 'Samenstelling achternaam' verschijnen tóch als ik voor 'ongehuwd' kies bij 'Burgerlijke staat'. Ik heb het als volgt ingevoerd:

Private Sub cboBurgerlijkeStaat_Click()
Select Case cboBurgerlijkeStaat
Case "ongehuwd"
Me.txtVoorvoegselAchternaamPartner.Visible = False
Me.txtAchternaamPartner.Visible = False
Me.txtSamenstellingAchternaam.Visible = False
Case "gehuwd"
Me.txtVoorvoegselAchternaamPartner.Visible = True
Me.txtAchternaamPartner.Visible = True
Me.txtSamenstellingAchternaam.Visible = True
Case "geregistreerd partnerschap"
Me.txtVoorvoegselAchternaamPartner.Visible = True
Me.txtAchternaamPartner.Visible = True
Me.txtSamenstellingAchternaam.Visible = True
End Select
End Sub

Echter wordt er bij EventProcPrefix 'Keuzelijst_met_invoervak30' weergegeven? Terwijl het betreffende veld "Burgerlijke staat" heet.
Graag hoor ik wat ik fout doe.
 
Keuzelijsten krijgen een standaardnaam, die weinig zegt. Ik verander die dus meestal als ik er een maak. Jij hebt de naam nog niet aangepast. Kijk maar in de eigenschappen van de keuzelijst.
 
Ja klopt, ik had de standaardnaam nog niet gewijzigd in de naam van het betreffende veld (Burgerlijke staat). Dit heb ik nu wel gedaan. Echter krijg ik nog steeds dezelfde melding "Compileerfout: Kan de methode of het gegevenslid niet vinden", wanneer ik in het formulier bij Burgerlijke staat voor een optie kies 'ongehuwd', 'gehuwd' of 'geregistreerd partnerschap'. Bij het zien van deze melding is '.txtVoorvoegselAchternaamPartner' blauw gearceerd en wanneer ik op OK klik wordt de code 'Private Sub Burgerlijke_staat_Click() geel gearceerd met een pijltje ervoor. Van het Help-menu wordt ik ook niet veel wijzer. De code heb ik als volgt ingevoerd in 'Bij klikken - [gebeurtenisprocedure]':

Private Sub Burgerlijke_staat_Click()
Select Case Burgerlijke_staat
Case "ongehuwd"
Me.txtVoorvoegselAchternaamPartner.Visible = False
Me.txtAchternaamPartner.Visible = False
Me.txtSamenstellingAchternaam.Visible = False
Case "gehuwd"
Me.txtVoorvoegselAchternaamPartner.Visible = True
Me.txtAchternaamPartner.Visible = True
Me.txtSamenstellingAchternaam.Visible = True
Case "geregistreerd partnerschap"
Me.txtVoorvoegselAchternaamPartner.Visible = True
Me.txtAchternaamPartner.Visible = True
Me.txtSamenstellingAchternaam.Visible = True
End Select
End Sub

Wellicht dat het ligt aan de 'Type rijbron' en 'Rijbron'. Bij 'Type rijbron' heb ik voor 'Lijst met waarden' gekozen en bij 'Rijbron' staat: "ongehuwd";"gehuwd";"geregistreerd partnerschap".

Hopelijk kan je me zeggen waar de fout ligt :) Alvast bedankt.
 
Zou je de code willen opmaken met de CODE knop? Ziet de code er een stuk leesbaarder uit (kijk maar naar mijn voorbeeld). Ik zie overigens weinig mis aan jouw code, dus ik heb geen idee waarom het niet werkt. Dus je krijgt een standaardantwoord: post een voorbeeldbestandje...
 
Ik kan via hier geen Acces-bestandje versturen. Met CODE-knop bedoel je De tag
Code:
?
 
Dat klopt van de code knop. En een voorbeeldje zul je eerst moeten comprimeren en daarna zippen, want HelpMij accepteert geen db bestanden.
 
kan je me zeggen hoe ik dat precies moet doen (zippen)? Comprimeren en herstellen heb ik gevonden.
 
Zippen doe je ofwel met de in Windows ingebakken zip functie (rechtsklikken, <Kopieëren naar>) ofwel met WinRar. De laatste variant kun je ook gebruiken als het bestand te groot wordt; je kunt dan deelbestanden aanmaken. Andere optie: bestand uploaden naar mijnbestand.nl, dan kunnen we hem daar (al dan niet gezipt) downloaden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan