Text in Textbox moet veranderen wanneer er een ander selectie vakje is aangevinkt

Status
Niet open voor verdere reacties.

Hanne1107

Nieuwe gebruiker
Lid geworden
19 apr 2011
Berichten
4
Hey

Ik heb 3 selectie vakjes op een form. Als vakje 1 is aangevinkt moet er Nederlands in de textbox komen te staan, vakje 2 Frans en vakje 3 Engels.

Leek mij heel simpel maar wat ik ook intyp het klopt blijkbaar toch ergens niet want het werkt niet.:o

De vakjes vertegenwoordigen 3kolommen uit mijn tabel. Kon het niet via ref. int. doen want dat werkte niet met de enquête waarvan de gegevens worden geïmporteerd.:confused:

Als je meer info nodig hebt vraag gerust!!
 
Als je maar één taal mag hebben in het tekstvak, zou ik geen selectievakjes gebruiken, maar een Groepsvak met Optierondjes. Dat is voor een gebruiker veel minder verwarrdend. Bovendien hoef je ook maar één gebeurtenis te maken (op basis van de gebeurtenis <Na bijwerken> van het Groepsvak). Een Groepsvak geeft meestal een getalwaarde aan een rondje, dus bij Nederlands krijg je een 1, bij Frans een 2 en bij Engels een 3. Op basis van deze getallen vul je dan het tekstvak. Iets als:

Code:
Private Sub fraTaal_AfterUpdate()
    Select Case fraTaal
        Case 1
            Me.txtTaal = Me.Nederlands
        Case 2
            Me.txtTaal = Me.Frans
        Case 3
            Me.txtTaal = Me.Engels
        Case Else
    End Select
End Sub
 
Ik heb het niet zo heel duidelijk uitgelegt merk ik net.

Ik heb verschillende formulieren bij deze is het enkel mogelijk gegevens te bekijken dus niet bewerken.
Op het formulier is enkel het textvak zichtbaar. De keuze rondjes had ik er even op gezet ter controle. Bij het form om te bewerken moeten ze er wel op. Dus dankje Octafish

Wanneer het formulier laad moeten de gegevens uit de tabel automatisch worden ingevuld.
In de tabel staat het meest met ja/nee.
Dus Ned ja/nee, FR ja/nee ENG ja/nee. Door de enquête kan je maar 1 van van de 3 aanvinken dus dat is geen probleem.

En afhankelijk van welke in de tabel is aangevinkt moet er een andere tekst komen te staan in het textvak op het formulier.

Deze is nog vrij simpel maar ik heb ook zo een van 12 :s.
 
Ik zou serieus nadenken over de keuzes die je (al dan niet zelf) hebt gemaakt, want deze opzet zou ik zelf zeker nooit zo doen; het lijkt mij een stuk handelbaarder als je dit soort gegevens in één veld (Taal) opslaat. Je hoeft dan maar een check op één veld te doen. Een beetje vergelijkbaar dus als het Groepsvak. Door voor elke optie een apart veld te maken, verschaf je jezelf een ongelooflijke hoeveelheid overbodig werk. Ik moet er zelf niet aan denken als je constructies moet gaan bedenken voor 12 verschillende velden.... Al houdt dat je waarschijnlijk wel van de straat en uit de kroeg ;)

Maar goed, je hebt ze, en vermoedelijk is het nu al te laat om dat te veranderen? Je kunt op de gebeurtenis <Bij Aanwijzen> van het formulier een check doen op de verschillende velden. Met een IF... THEN bepaal je dan voor elk veld wat er moet gebeuren als de waarde -1 (of TRUE) is. Omdat er (in ieder geval bij het invullen) maar één taal op TRUE staat, wordt die actie uitgevoerd, en de andere talen niet. Het grote gevaar van deze constructie is uiteraard dat je in de tabel probleemloos alle talen op TRUE kan zetten..... Alleen daarom al zou ik dit soort data in één veld opslaan.
 
Het grote gevaar van deze constructie is uiteraard dat je in de tabel probleemloos alle talen op TRUE kan zetten..... Alleen daarom al zou ik dit soort data in één veld opslaan.

Zo had ik het oorspronkelijk gedaan maar dan krijg ik een fout wanneer ik gegevens wil importeren van mijn enquête. Elk mogelijk antwoord staat in een aparte kolom dus heb ik weinig keus.

Heb je toevallig ook een code?

Groetjes Hanne
 
Als je gegevens moet importeren, kun je daar misschien nog wel wat mee doen, lijkt mij. Ik zou er persoonlijk voor kiezen om in ieder geval de database op orde te hebben; hoe je 'm vult is dan afhankelijk van wat je aangeleverd krijgt. Maar daar is meestal wel een mouw aan te passen. Waar je uiteindelijk mee gaat werken is namelijk je database, en niet het enqueteformulier. Je belangrijkste gereedschap is je database. Dus dat geef ik je in ieder geval mee ter overdenking :)

Een voorbeeldje? Iets als:

Code:
If [Nederlands]=-1 Then Me.Taal="Nederlands"
If [Frans]=-1 Then Me.Taal="Frans"
If [Engels]=-1 Then Me.Taal="Engels"

Maar je ziet waarschijnlijk al hoe kwetsbaar zo'n constructie is. Als bijvoorbeeld twee talen op Ja staan.... Dan wordt de laatste gebruikt, terwijl misschien de eerste bedoeld is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan