Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Weergeven resultaten 1 tot 6 van 6

Onderwerp: waarde uit keuzelijst als tekst in tekstveld tonen & opslaan

  1. #1
    Vraag is opgelost

    waarde uit keuzelijst als tekst in tekstveld tonen & opslaan

    Ik heb een keuzelijst in een formulier. Deze keuzelijst toont alleen een titel ("probleemdefinitie"), maar heeft ook een interne sleutel (niet zichtbaar in de keuzelijst). De gebruiker kan een keuze maken. Deze keuze wordt dan opgeslagen in de database. Maar ik wil de tekst van zijn keuze ook, als tekst opslaan. Dit lukt mij niet.

    Dus:
    Formulier opent
    Gebruiker maakt een keuze uit een keuzelijst met invoervak. Dit invoervak heeft 2 kolommen, in de eerste kolom wordt de interne sleutel geladen; deze is 0 cm lang, en in de tweede kolom de titel van het record dat gekozen wordt (deze kolom is 4 cm lang). De keuze wordt als numerieke waarde opgeslagen in de database. Maar ik wil ook de tekst die na selectie in het keuzevak zichtbaar is, als tekst in een tekstveld opslaan. Deze tekst kan vervolgens nog bewerkt worden indien gewenst.

    Beetje cryptisch omschreven maar ik hoop dat het duidelijk is:-).

    Kan iemand me op weg helpen?

  2. #2
    Senior Member
    Geregistreerd
    3 november 2021
    Quote Origineel gepost door CoenEnAccess Bekijk Bericht
    Maar ik wil de tekst van zijn keuze ook, als tekst opslaan. Dit lukt mij niet.
    Dit druist een beetje tegen correct database ontwerp in (data redundantie) dus de normale reactie moet zijn: NIET DOEN!! Maar er zijn situaties denkbaar waarin het wél noodzakelijk is, en dan heb je het doorgaans over Keuzelijsten die zijn gebaseerd op variabele gegevens, zoals prijzen die normaal gesproken variabel zijn, maar die in een factuur uiteraard niet meer mogen veranderen. In dat soort gevallen sla je het ID op in het gekoppelde veld (doe jij geloof ik ook) en het variabele gegeven vanuit de keuzelijst in een ander (tekst)veld.

    De werkwijze is relatief simpel: hang een gebeurtenis aan de actie <Bij klikken> van de keuzelijst, en geef die gebeurtenis de opdracht
    Code:
    Me.Tekstvak.Value = Me.Keuzelijst.Column(1).Value
    Daarmee vul je dus vanuit de keuzelijst het tweede tekstvak met de tweede kolom (ja, Column(1) is voor de tweede kolom).

  3. #3

    Werkt nog niet

    Helemaal eens wat je zegt m.b.t. correct database ontwerp, maar dit is inderdaad zo'n noodzaak. Het moet als vrije tekst aangeboden worden en moet ook aangepast kunnen worden. Naast het feit dat de overige data gewoon wel in een strak genormaliseerd model dienen te worden vastgelegd.

    Ik krijg nog geen resultaat. Met dit commando: Me.Problem_Name.Value = Me.ProblemProfileDir.Value krijg ik (zoals verwacht) de numerieke sleutel in het tekstvak. Maar de waarde uit de 2e kolom krijg ik niet in dat tekstvak met het commando Me.Problem_Name.Value = Me.SelectProblemProfileviaBidzone.Column(1).Value



    Melding: fout 424 tijdens uitvoering: object vereist
    Laatst aangepast door CoenEnAccess : 15 januari 2022 om 14:30

  4. #4
    Senior Member
    Geregistreerd
    3 november 2021
    Of jij plakt verkeerd, of ik lees verkeerd.
    Code:
    Me.Problem_Name.Value = Me.ProblemProfileDir.Value 
    Me.Problem_Name.Value = Me.SelectProblemProfileviaBidzone.Column(1).Value
    Ik zie hier twee keer hetzelfde veld gevuld worden. Waarbij Problem_Name een numeriek veld is volgens bericht #1, en de tweede kolom een tekstwaarde zou moeten bevatten. Dat kan je nooit in (en zeker niet in een eerder gebruikt veld) hetzelfde veld opslaan.
    Dit geloof ik wel:
    Code:
    Me.Problem_Name.Value = Me.ProblemProfileDir.Value
    Me.ProblemProfileviaBidzone.Value = Me.SelectProblemProfileviaBidzone.Column(1).Value

  5. #5
    Dank voor je reactie AccessGuru. mbt het 2x vullen van hetzelfde veld,..: dat klopt, was voor mij om te bekijken of het probleem lag in het Me.problem_name.value stuk of in het me.selectproblemprofileviabidzone.column(1).value deel:-).
    En het zit dus in het me.selectproblemprofileviabidzone.column(1).value deel.

    Ik kan echter via de door jou gesuggereerde column(1).value command een textveld vullen, en dat tekstveld hanteren in mijn Problem_name veld. Een omweg, en iets wat een goeroe vast een ernstige dummie oplossing vindt (sorry:-), maar het werkt wel.

    Tnx!

  6. #6
    Senior Member
    Geregistreerd
    3 november 2021
    Is geen omweg, want de kortste weg . Vanuit de keuzelijst Me.selectproblemprofileviabidzone vul je met Me.selectproblemprofileviabidzone.column(0).value (of Me.selectproblemprofileviabidzone) het afhankelijke veld, en met Me.selectproblemprofileviabidzone.column(1).value vul je het tweede gekoppelde tekstveld. Eventueel kun je dat doorbouwen door met Me.selectproblemprofileviabidzone.column(2).value een derde tekstveld te vullen. Als je dat aan de gebeurtenis Private Sub Me.selectproblemprofileviabidzone_Click() hangt, vul je de gegevens gelijk als je een keuze maakt in de keuzelijst. Dat kan echt niet sneller of makkelijker.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl

Regels
Help

Helpmij.nl en business

Partners
Sponsoren