Selectievakjes

Status
Niet open voor verdere reacties.

kruimeltjes

Gebruiker
Lid geworden
30 sep 2009
Berichten
222
Na enige gezoek op het forum had ik een topic gevonden dat aansloot bij mijn zoektocht (http://www.helpmij.nl/forum/showthread.php/573923-Nogmaals-Keuzerondjes?p=3765759#post3765759).

Deze code die erin vermeld wordt werkt super maar in het formulier dat ik gemaakt heb staan selectievakjes en geen keuzerondje (niet dat ik verwacht dat dat het probleem zou kunnen zijn). Nadat ik deze code heb ingevoerd bij AfterUpdate kan ik de selectievakjes niet meer aanvinken. Als ik de code invoer bij Enter dan kan ik wel de vakjes aanvinken maar in mijn tabel staat dan weer 1 of 2 ipv de gewenste male / female.

Ik heb de door mij gebruikte code toegevoegd en hoop dat iemand mij hiermee kan helpen.

Code:
Private Sub fraGender_AfterUpdate()
  Select Case Me.fraGender
      Case 1
        Me.Gender = "Male"
      Case 2
        Me.Gender = "Female"
    End Select
End Sub

Groetjes,

Simone
 
kruimeltje,

De gebeurtenis Enter wordt uitgevoerd als het groepsvak gekozen wordt om te bewerken.
De afterupdate gebeurtenis is dus de beste om deze code te plaatsen.
Dat je de vakjes niet kunt veranderen als je de code bij deze gebeurtenis onderbrengt is vreemd, en kan ik zo niet plaatsen.

Kun je een gezipte versie van de database in access2003 formaat posten?
Wel eerst via comprimeren en herstellen de database kleiner maken in access, en dan zippen.

Groeten, Paul
 
Komt die Bekijk bijlage Patientendatabase3.rar

Ik kom er trouwens net achter dat je eigenlijk alleen het vinkje niet kan zien hij pakt de keuze die maak wel. Ik heb namelijk bij study dezelfde code ingevoerd en daar is hetzelfde probleem bij.

Groetjes,

Simone
 
Laatst bewerkt:
Je werkt een veld bij (gender) dat niet op je formulier staat. Die moet je dus in ieder geval toevoegen.
Verder zou ik de selectievakjes vervangen door optierondjes; doorgaans gebruik je selectievakjes voor optionele keuzes die onafhankelijk gekozen kunnen worden, zoals extra accessoires bij een auto. Een zonnedak en een extra mistlicht hebben daar niks met elkaar te maken, maar kun je desgewenst alletwee kiezen, of een of geen. Bij geslacht lijkt mij die mogelijkheid wat lastiger.
Een gemiddelde computergebruiker weet dat een optierondje betekent dat er één keuze is, en bij selectievakjes dat er meerdere mogelijkheden zijn. Je brengt de gebruiker dus in nodeloos in verwarring.
 
En hierbij nog het bewijs ;)
 

Bijlagen

  • Patientendatabase3.rar
    31 KB · Weergaven: 29
kruimeltje,

Precies wat octafish uitlegt.

Ook gebruik je een groepsvak met studyname die je je niet nodig hebt.
In je tabelontwerp heb je besloten om hier een keuzelijst met invoervak voor te gebruiken.
Dit moet je dan ook op je formulier doen!

Hieronder de aangepaste versie van frm_patient.

Groeten, Paul
 

Bijlagen

  • Patientendatabase4.rar
    34,6 KB · Weergaven: 20
Bovendien heb je, met die verkeerde keuzelijsten, ook nog eens zinloze relaties gelegd, die helemaal niet kunnen. Ik heb daarom in de tabel [Tbl_Materials] wat veldeigenschappen aangepast, waardoor je nu wèl goede relaties hebt.
 

Bijlagen

  • Patientendatabase5.rar
    31,2 KB · Weergaven: 32
Hey,

Bedankt PaccessB and OctaFish. Toch nog wel een kleine toevoeging ik heb express selctievakjes / keuzerondjes gemaakt op mijn formulier omdat ik wil dat de mensen die dit gaan invullen alleen maar dingen kunnen aanvinken dan wel kunnen kiezen.

Dit moet een database gaan worden waar veel mensen gebruik van moeten gaan maken en om dan te werken met een keuzelijst maakt het naar mijn inziens minder overzichtelijk vandaar de keuzevakjes / rondjes ipv een keuzelijst.

Groetjes,

Simone
 
Het is prima om met keuzes te werken, maar ik vind dat je de selectievakjes verkeerd gebruikt; die zijn bedoeld voor meervoudige keuzes. Zodra er één keuze mogelijk is, moet je (naar mijn idee dus) keuzerondjes gebruiken. Dat is ook min of meer gebruikelijk in ontwerpersland, en gebruikers zijn er ook op ingesteld: keuzerondjes: één optie, selectievakjes: meerdere opties. Omdat dit zo gangbaar is, moet je daar niet mee willen rommelen...
 
Wat betreft de keuzevakjes en selectievakjes ben ik het helemaal met je eens, inderdaad als er maar 1 keuze mogelijk is dan gebruik maken van de keuzerondjes en als er meerdere keuze's mogelijk zijn selectievakjes. Helemaal eens!

Je gaf trouwens aan in een eerder antwoord dat je ook wat veranderd had in de relaties en ik zit daar nu naar te kijken en zie dat je de relatie active /remission heb weggelaten klopt?

Misschien dat ik wat meer uitleg moet geven bij mijn database om duidelijker te maken waarom ik bepaalde dingen gedaan heb.

Ik moet een database ontwerpen waarin patienten materiaal dat binnenkomt voor onderzoekstudies worden genoteerd. Er zijn veel verschillende mensen die de gegevens moeten invoeren maar er zijn er maar een aantal die dadelijk alles mogen zien. Ik moet dus oa ook een beveiliging met inzagerechten gaan maken.

De gegevens die iedereen mag/moet gaan invoeren zijn; de patientengegevens (intitialen, geboortedatum, ZIS nummer, sex), de studie gegevens (welke studie is het, is hier een subclass, is het active of in remission, is er een time point in the study wanneer het is afgenomen) en de materiaal gegevens (welke gegevens worden er uiteindelijk opgeslagen)

Mijn idee is om als eerste patientengegevens en de studie te laten invoeren, als dan de studie is ingevoerd wil dat er een ander formulier geopend wordt waarin de rest van de studie gegevens kan worden ingevoerd indien nodig (dit is per studie weer anders) en de materiaal gegevens worden ingevoerd. Het openen van dat andere formulier levert ook nog wat problemen op maar ik denk dat mijn code fout is.

Maar tegelijkertijd wil ik dat er in de achterliggende tabellen geen 1 en 2tje komen te staan als er een keuze gemaakt moet worden in een groepsvak maar de naam van de betreffende keuze. Vandaar de code die ik al eerder heb aangegeven (en die het ook doet).

Zoals je dus ziet moet ik nog heel erg veel dingen doen en aanpassen maar aangezien ik echt een beginnende vba-ertje ben loop ik nog wel eens tegen problemen aan. Godzijdank zijn er forums zoals deze!
 
zie dat je de relatie active /remission heb weggelaten klopt?
Klopt; de tabel [tbl_Materials] is al wel aangepast, dus je kunt de tabel [ActiveRemission] er aan toevoegen en koppelen, dat zal hij prima doen.
Het opslaan van sleutelwaarden uit de gekoppelde tabellen lijkt mij in eerste instantie prima. Waarom zou je dat niet willen? In de formulieren laat je toch de tekstwaarden zien/kiezen, dus ik zie daar eerlijk gezegd het voordeel niet van in. Op je formulieren/rapporten gebruik je queries om de gewenste tekstvelden te laten zien, dus er is geen technische noodzaak om het op jouw manier te doen.
Bovendien zit je dan met een probleem als je onverhoopt mocht besluiten om iets te veranderen in de bronwaarden. Gebruik je de sleutelwaarden, dan zie je per definitie altijd de juiste waarden, omdat je die ophaalt uit de brontabellen.

Als je straks gebruikersniveau's gaat gebruiken, kun je binnen één formulier heel makkelijk aangeven wat iemand wel of niet mag zien op basis van zijn toegangsniveau. Al mag je uiteraard ook aparte formulieren maken, wat je het makkelijkst vindt.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan