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

[Access 2007/2010] Meerdere waardes tonen met opzoekkolom

Pagina: 1
Acties:

  • Zinu
  • Registratie: Augustus 2006
  • Laatst online: 04-09 10:27

Zinu

dat is gewoon hoe ik rol

Topicstarter
Deze vraag is ook van toepassing op Access 2007, al gebruik ik Access 2010, vandaar de titel.

Ik zit al een tijdje met dit 'probleem'. Wat ik me afvraag is hoe ik het voor elkaar krijg dat daadwerkelijk alle waardes uit een opzoekkolom gehaald worden. Het is een beetje moeilijk uit te leggen zo, misschien dat een voorbeeld het duidelijker maakt.
Ik heb een tabel met vluchtgegevens. Nu wil ik een klant uit een lijst kunnen selecteren uit een andere tabel met klantgegevens, wat gemakkelijk gaat met een opzoekkolom. Wat het probleem echter is, is dat ik dan maar één waarde uit een gegeven kan halen, dus bijvoorbeeld alleen het klantnummer. Wat ik wil is dat hij alle gegevens erbij pakt, dus ook de naam, adres, woonplaats, etc.

Zoals het nu dus is kan ik wel mooi uit een dropdownmenu een klant selecteren, met al diens gegevens daarbij, maar als ik er één aanklik krijg ik maar één waarde te zien in het veld, het klantnummer, terwijl ik juist alle gegevens van die klant wil tonen en niet alleen het klantnummer.

Ik hoop dat jullie begrijpen wat ik bedoel en me hiermee kunnen helpen.

Bvd.

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 15-10 13:46
Ja, dat kan.

Stel je hebt een pulldown-menuutje mycombo, met als brondata: SELECT ID, achternaam FROM myTabel

Dan kan je met de property Column verwijzen naar een bepaald veld:

me.mycombo.Column(0) verwijst naar ID en
me.mycombo.Column(1) verwijst naar achternaam

Houdoe


Verwijderd

voor de oplossing van Witte dient het aantal kolommen van de klaplijst aangepast.
of het kan in 1 kolom door de query aan te passen (bv. SELECT klantnummer & ":" & klantnaam & " " klantvoornaam" FROM klant" enz.)

  • Marko_J
  • Registratie: Maart 2010
  • Laatst online: 22-11 14:21
Eveneens ter aanvulling; je kan in principe elk veld wat je nodig hebt toevoegen aan de pulldown list. Mochten er echter kolommen bij zitten die je niet aan de gebruiker wilt laten zien wanneer hij de keuzelijst opent, dan zet je daarvan de breedte op 0. De kolom bestaat dan wel, maar is niet zichtbaar. Per kolom kan je de breedte opgeven. Stel dat je 4 kolommen hebt, dan is het bijvoorbeeld 0cm;5cm;0cm;1cm.

  • Zinu
  • Registratie: Augustus 2006
  • Laatst online: 04-09 10:27

Zinu

dat is gewoon hoe ik rol

Topicstarter
Volgens mij begrijpen jullie niet helemaal wat ik bedoel (of ik ben te n00b om het te begrijpen :P)

Zoals je het hieronder ziet is het nu:
Afbeeldingslocatie: http://i30.tinypic.com/15wdyf8.png
Dat is natuurlijk een opzoekkolom. Als ik er nu één aanklik krijg ik alleen het passagiersnummer te zien. Wat ik wil is dat hij in de tabel juist alle kolommen vult. Dus dat hij automatisch ook de kolom naam, de kolom adres etc. vult met de informatie die bij het geselecteerde passagiersnummer hoort. Hierdoor is de klant die erbij hoort niet gewoon 'een nummer', maar zie je zijn gegevens er ook meteen bij zonder dat je nogmaals hoeft te klikken.

[ Voor 12% gewijzigd door Zinu op 28-07-2010 18:56 ]


  • Marko_J
  • Registratie: Maart 2010
  • Laatst online: 22-11 14:21
Ok, dus naast het veld 'passagiersnummer' wil je, nadat er iemand geselecteerd is, ook de naam & adres tonen? Dan kan je naast de listbox een nieuw tekstvak toevoegen. Als voorbeeld ga ik er even vanuit dat de listbox als naam 'lstPassagiersnummer' heeft. In de control source van het tekstvak typ je dan;

=lstPassagiersnummer.column(1)

Dan wordt vervolgens in de listbox, als daar iemand geselecteerd wordt, het passagiersnummer getoond (dat is column 0), en in het tekstvak ernaast, wordt de inhoud van de tweede kolom getoond. Enzovoort voor de andere columns. Is dat wat je zocht?

Je kan de velden ook combineren trouwens, zodat je maar 1 tekstvak hoeft te gebruiken. Om bijvoorbeeld postcode en plaats aan elkaar te plakken:

=lstPassagiersnummer.column(3) & ' ' & lstPassagiersnummer.column(4)
Pagina: 1