Gegevens automatisch aanvullen

Status
Niet open voor verdere reacties.

jelleruben

Gebruiker
Lid geworden
11 nov 2006
Berichten
443
Hallo Allemaal,

Weet iemand hoe ik het volgende voorelkaar kan krijgen?

Ik heb in Access 2003 een tabel, met een kolom geslacht. Hier kan men Vrouw of Man invullen. Als dat gebeurt dan wil ik graag dat in een andere kolom automatisch heer of mevrouw komt te staan. Kan dit via Valideerregel of moet dit echt in VB gedaan worden?

In Excel is dit mogelijk met een forumle
Code:
=ALS(D25="M";"heer";ALS(D25="V";"mevrouw";""))
 
Dit kan niet met Access tabellen. Je probeert nu een Access tabel als een Excel sheet te gebruiken. Tabellen in Access gebruik je alleen om gegevens op te slaan. Invoeren en bewerken doe je via formulieren, query's en eventueel VBcode (maar dat zijn in feite ook query's).

Dus wat je wel kan doen is een formulier maken waarin je zodra iemand V intypt er vrouw in de 2e kolom kan zetten.

Een andere mogelijk is door dit via een query te doen.

Tip
 
@Floor,

Het is niet de bedoeling dat ik een Excel iets gebruik, maar laat het gewoon weten dat het met Excel wel werkt.

En de vraag van mij is, welke manier voor Access dan zal gelden.

Tevens moet het niet meteen met een Query gedaan worden, want dat houd in dat je nog een actie moet uitvoeren..
Tja en je tip, is wel leuk dan je dat laat zien, alleen zo stuur je mij naar het bos. En heb ik niet mijn antwoord gevonden.
 
Laatst bewerkt:
Is dacht ik prima uitgelegd: op een formulier. Als je de keuze Heer of Mevrouw wilt opslaan in je tabel, samen met de Geslachtsaanduiding (waarom je dat zou willen is mij overigens een raadsel...) dan kun je een tekstveld op je formulier maken voor de aanhef dat je koppelt aan het tabelveld, en bij de gebeurtenis <Na bijwerken> van de keuzelijst waarmee je het geslacht kiest vul je het tekstveld met de waarde cboGeslacht.Column(1) (er vanuit gaande dat kolom 0 de aanduiding M/V bevat, en kolom 2 Heer/Mevrouw).
 
Dit is een wens van de mensen die er mee gaan werken.
Zodat je gewoon na de M de gegevens zien dat er automatische Heer, en De heer komt te staan, zonder extra handelingen ervoor te doen.
 
Maar dat soort gegevens kun je juist heel flexibel maken als je ze nodig hebt; bij een rapport heb je inderdaad de ene keer 't.a.v. de heer' nodig, een volgende keer alleen 'Heer' etc. En dat maak je dus op het moment dat je het nodig hebt, a.d.h.v. de code in het veld geslacht. Dan kun je ook afvangen wat je moet doen als het veld leeg is bijvoorbeeld.
Bovendien neem je geen db ruimte in beslag voor (in mijn ogen) overbodige gegevens. En je houdt je gegevens consistent (maar één veld voor een bepaald type gegeven i.p.v. twee).
Wensen van gebruikers moet je uiteraard altijd tegen een meetlat houden; een gebruiker kan zoveel willen ;)
 
Hallo Jelleruben,
Octafish geeft inderdaad goed aan waarom je via een formulier zou moeten werken. Tabellen zijn alleen maar voor de opslag. Niet om rechtstreeks in te voeren of rechtstreeks te bewerken.

De rede voor mijn tip is niet verkeerd bedoeld. Het waarom en gebruik van formulieren is belangrijke basiskennis. Hoe handig je ook bent, je zal eerst iets van de basis moeten kennen voordat je problemen kan oplossen of applicaties kan maken.
 
Laatst bewerkt:
Nog even voor alle duidelijkheid:
Tevens moet het niet meteen met een Query gedaan worden, want dat houd in dat je nog een actie moet uitvoeren..
Dit kan alleen maar via VBA of met een query. En alleen daarom al zou je het niet moeten willen! Waar je absoluut voor moet waken, is dat een eindgebruiker iets rechtstreeks in een tabel kan doen. De db's die ik maak voor het werk bevatten dan ook voor de eindgebruiker alleen formulieren; zelfs de rapporten die ze mogen gebruiken krijgen ze niet te zien. Laat staan de tabellen. En daar moet je dus naar toe werken!
 
Ik wil jullie ook zeker niet afkraken,

En kwa basis kennis heb ik wel.. En heb ook al aantal Access Applicaties gemaakt,
Maar ik maak dingen die mij word opgedragen, en dit was een wens.

Ik dacht zelf zo van of mogelijk is, zal best, maar misschien dat men hier wel een antwoord voor had.

Nu proberen de mensen overtuigen.
 
Lijkt mij een makkie: wat je wilt, kan niet! En het alternatief is een potentiële vervuiling van je database, en dat zou niemand moeten willen. Toch?
 
Ik heb de volgende Query gemaakt

Code:
UPDATE tbl_persoonsgegevens SET tbl_persoonsgegevens.persg_aanhef = "De heer", tbl_persoonsgegevens.persg_begin_brief = "heer"
WHERE (((tbl_persoonsgegevens.persg_geslacht)="Man"));

Alleen krijg ik een melding:

Gegevenstype komen niet overeen in criteriumexpressie.


Kan die komen door dat de gegevens van het geslacht (Man Vrouw) uit een dropdownmenu zitten?
 
Hangt er vanaf wat je in die keuzelijst als Recordbron gebruikt. Als daar een tabel achter hangt met een ID, dan zul je die waarde moeten gebruiken.
 
De bron van mijn droplist maakt idd gebruik van ID nummers.

Maar dan een bijwerkt query niet echt handig. Of is het zo als ik de ID weg laat, zal het dan wel gaan werken?

Het vreemde is ook als ik bij een veld voor "Wizard opzoeken" (om dus zo een droplist te krijgen) tevens voor Waarden worden opgezocht in een tabel of query, dan word de gegevens type van het veld nummeriek..
 
In je tabelveld Geslacht sla je blijkbaar de waarde van de keuzelijst op. Die is zo te zien numeriek. Je bijwerkquery zou dan zo moeten zijn:

Code:
UPDATE tbl_persoonsgegevens SET persg_aanhef = "De heer", persg_begin_brief = "heer" WHERE (persg_geslacht = 1)
Er vanuit gaande dat 1 = Man en 2 = Vrouw
 
Bedankt dat is hem, en ja eigelijk wel logische, dat je dan de ID moet aanvragen, i.p.v. de naam zelf.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan