Gegevens aanvullen

Status
Niet open voor verdere reacties.

Jelle86

Nieuwe gebruiker
Lid geworden
10 sep 2009
Berichten
2
Hallo,

Bij Access kom ik het volgende probleem tegen:

Ik heb een tabel met klantgegevens (klantnummer + naw-gegevens) en een formulier waar ik werkzaamheden kan toevoegen bij elke klant. Bovenaan het formulier heb ik een keuzevak waar ik het klantnummer kan kiezen. Nu is het de bedoeling dat wanneer ik het klantnummer kies, dat in de tekstvakken daarachter automatisch de bijbehorende klantgegevens komen te staan. Dit is me nog niet gelukt, is hier een manier voor?

Ik hoop dat iemand mij kan helpen!
 
Daar zijn verschillende manieren voor.
In bijgaand voorbeeld zitten voorbeelden van formulieren op basis van een tabel, en op basis van een keuzelijst.
 

Bijlagen

@octafish,

een vraagje

ik ben aan het proberen met die keuzelijst van jouw
Formulier Postcodes keuze lijst met text vak.

Nou ben ik echt een beginneling en nou weet ik niet echt wat ik aanmoet passen om het naar mijn omgeving te veranderen. Zou je mij hiermee kunnen helpen?

Voorbeeldje uit VB script

Private Sub LstPostcode_AfterUpdate()

Me.txtProvincie.Value = Me.LstPostcode.Column(2)
Me.txtLand.Value = Me.LstPostcode.Column(3)

Ik heb geen idee wat ik hier in mijn situatie moet invoeren..


Alvast bedankt
 
Geen probleem!

Private Sub LstPostcode_AfterUpdate()

Deze regel geeft aan, dat er een actie wordt uitgevoerd na het selecteren van een item in de keuzelijst. Om de rest van de code te kunnen gebruiken, klik je dus in het venster Eigenschappen] op de gebeurtenis <Na Bijwerken>.
In het voorbeeld heet de keuzelijst dus [lstPostcode]. Deze keuzelijst bevat een aantal kolommen, die je kunt zien als je op de regel [Besturingselementbron] klikt, en vervolgens op de knop met de drie puntjes.

Me.txtProvincie.Value = Me.LstPostcode.Column(2)
Me.txtLand.Value = Me.LstPostcode.Column(3)


Dit is de code waar het om gaat: Ik heb op het formulier twee tekstvakken: [txtProvincie] en [txtLand]. Deze tekstvakken worden gevuld met de waarden die in de kolommen van de Keuzelijst worden opgehaald.
Me.txtProvincie.Value = Me.LstPostcode.Column(2) betekent dus zoveel als: vul het tekstvak [txtProvincie] met de waarde uit de derde kolom uit de keuzelijst [lstPostcode] Ik heb derde vet gemaakt, omdat Access begint te tellen met 0; Column(0) is dus de eerste kolom, en zo verder.

Om het hele verhaal dus naar je eigen situatie te vertalen, ziet de code er zo uit:

Me.[Hier de naam van het eerste tekstvak].Value = Me.[Jouw keuzelijst].Column([Nummer van de kolom])
Me.[Hier de naam van het tweede tekstvak].Value = Me.[Jouw keuzelijst].Column([Nummer van de volgende kolom])


Hopelijk is het zo een beetje duidelijk?
 
Ik ben bezig geweest, en nu heb ik nog 1 vraag.

Als ik op dit gegeven uit de lijst klik (zie bijlage, de regel die zwart is)
Wil ik dat hij dat hij dat gegeven weergeeft, en informatie die er bij hoort van uit een query.
Hoe kan ik dat koppelen?

En kan dit mogelijk zonder VB script?

Alvast bedankt
 

Bijlagen

Ik weet niet of het zonder VB kan, want je hebt een keuzelijst op een formulier, waarvan de keuze de gegevensbron van het formulier moet bijwerken. Er moet dus in ieder geval een Me.Requery opdracht achter de keuzelijst komen...
Je kunt wel zonder VBA de gekozen optie als criterium in de query van het formulier zetten.
Daartoe pas je de eigenschappen van het formulier aan:
<Eigenschappen>, tabblad <Gegevens>, <Recordbron>, knop met de drie puntjes aanklikken. In in de query die je dan hebt, of maakt op basis van de huidige tabel, in de regel Criteria in het veld waarop je filtert met de knop Opbouwfuncties de keuzelijst selecteren. Zie plaatje voor nadere uitleg.
 

Bijlagen

  • Opbouwfunctie voor Expressies.jpg
    Opbouwfunctie voor Expressies.jpg
    60,7 KB · Weergaven: 186
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan