Keuzelijst geeft steeds het recordnr ipv veldinhoud

  • Onderwerp starter Onderwerp starter RDIE
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

RDIE

Gebruiker
Lid geworden
25 aug 2013
Berichten
83
Via een formulier wil ik d.m.v. een keuzelijst met invoervak een tekstwaarde in de tabel plaatsen.
Wat ik ook probeer, in de tabel komt steeds het recordnr terecht.

Wat ik bij het plaatsen van de keuzelijst op het formulier doe is het volgende:
1) ik selecteer waarden ophalen uit tabel of query
2) ik klik de tabel aan die de waarden levert
3) ik selecteer het veld dat de waarde bevat
4) geef de sortering aan
5) breedte aangeven ed
6) ik geef het veld aan waarin de waarde moet worden opgeslagen
7) label plaatsen
8) klik op voltooien

Nu krijg ik in de tabel zowel als in de daarop gebaseerde query en rapport steeds het recordnr te zien in plaats van de waarde. Bijvoorbeeld 27 i.p.v. stuks.

Wat gaat er hier fout ? Ik heb de eigenschappen e.d. al bekeken maar kan niet vinden waar de fout te zoeken.
 
Wat gaat er hier fout ?
Helemaal niets! Je hebt in mijn ogen een perfecte keuzelijst gemaakt. Waarom zou je daar vanaf willen wijken?
 
Ik wil graag als ik via het invoerformulier een enkel record bekijk kunnen zien wat er staat. Dus de inhoud ipv een getal. (bijvoorbeeld liters i.pv. 17)
Inmiddels heb ik gevonden dat ik het ook kan regelen via de instellingen van het keuzeveld, namelijk de afhankelijke kolom wijzigen van 1 in 2. Ik weet echter niet zeker of dat dat een juiste wijze is. Misschien valt er dan ergens anders weer iets om?
 
Inmiddels heb ik gevonden dat ik het ook kan regelen via de instellingen van het keuzeveld, namelijk de afhankelijke kolom wijzigen van 1 in 2.
Nu ga je van kwaad tot erger. Zoals ik al zei: je hebt een perfecte situatie, die kan dus alleen maar rotter worden. En dat doe je nu. In een tabel zet je uiteraard geen keuzelijsten, tenzij gebaseerd op een lijst met velden (Heer, Mevrouw. Dat soort keuzelijstjes). Dat betekent dus dat je in de tabel altijd het opgeslagen gegeven kunt zien. Lijkt mij meer dan voldoende.

Via een formulier wil ik d.m.v. een keuzelijst met invoervak een tekstwaarde in de tabel plaatsen. Wat ik ook probeer, in de tabel komt steeds het recordnr terecht.
Een keuzelijst op een formulier gebruik je doorgaans om te kunnen zoeken op herkenbare gegevens, zoals een artikelnaam. Tekst dus. In de tabel sla je het sleutelveld op uit de tabel die je voor de keuzelijst gebruikt. Dat is doorgaans een getal, en dat moet ook zo blijven, anders heb je geen koppeling tussen de 2 tabellen.

Maar eerlijk gezegd snap ik ook niet wat je nu wilt.
Ik wil graag als ik via het invoerformulier een enkel record bekijk kunnen zien wat er staat. Dus de inhoud ipv een getal. (bijvoorbeeld liters i.pv. 17)
Wat wil je nu? Een keuzelijst waarmee je een bepaald record kunt zoeken? Maar dan is het geen invoerformulier...
 
Ik zou het invoer formulier ook willen gebruiken om door de records te bladeren zodat het formulier ook als info blad fungeert.
En dan is het lastig als er velden tussen staan waar je enkel nummers ziet.
Waarschijnlijk is het principe dat ik daar een rapport voor moet maken in plaats van er een formulier voor te gebruiken?
 
Misschien moet je een voorbeeldje posten, want ik snap het nog steeds niet wat je nu wilt. Je hebt een tabel (of meer, maar daar gaat het niet om) waar je een formulier aan hebt gekoppeld. Dit formulier wil je blijkbaar gebruiken om nieuwe records in te voeren, anders zou het geen invoerformulier zijn. Dus vermoedelijk heb je de eigenschap <Gegevensinvoer> op <Ja> staan. En dan begin je met een leeg scherm, wat je ook verwacht bij een invoerformulier. dan ga je gegevens invoeren, en als die uit andere tabellen komen, dan heb je daar keuzelijsten voor. Denk aan een tabel Bestellingen, waarin je een artikel invoert. Dat artikel zoek je doorgaans niet op artikelnummer, of erger nog: recordID, maar op artikelnaam. Dus in de keuzelijst zie je de omschrijvingen. In de tabel sla je het Artikelnr op. Tot zover hopelijk de situatie waar we het over hebben.

Dit formulier kun je in deze vorm niet gebruiken om door de bestellingen te bladeren, want je ziet alleen het nieuwe record. Dus om alle records te zien, moet de eigenschap <Gegevensinvoer> op <Nee> staan. Nou kun je met een knop nog wel switchen tussen de verschillende statussen, zodat je met één formulier kunt invoeren en kunt bladeren. Maar dat zoeken binnen het formulier doe je niet met de keuzelijsten waarmee je gegevens invoert (zoals artikel). Voor dat zoeken zet je meestal een keuzelijst met invoervak in de koptekst, die dan zoekt op het door jou gewenste gegeven. En voor elke zoekvariant maak je een eigen keuzelijst. Maar dan nog: als je zoekt op bestelde artikelen, dan zoek je eigenlijk op het Artikelnummer, want dat staat in de tabel. Dus je zoekoptie laat iets herkenbaars zien, zoals klantnaam of artikelnaam, maar je zoekt op KlantID of ArtikelID.

Maar ik vraag me dus af of je wel zo werkt...

Rapporten zijn overigens puur voor de output; daar moet je niet op willen zoeken.
 
Hallo,
excuus dat het even duurde voor ik reageer, ik had toch wat tijd nodig om e.e.a. uit te testen.
Het eerste deel van je beschrijving klopt inderdaad met de manier waarop ik werk met uitzondering dan van het feit dat bij mij <gegevensinvoer> op <nee> staat. Ik wist niet eens dat je dat kon switchen, weer wat geleerd dus.
Voor wat betreft alinea 2: Ik heb ook velden opgenomen als [afmeting], [inhoud] etc. Hiervoor haal ik dmv keuzelijsten de inhoud op uit tlb_Eenheid om te voorkomen dat er de ene keer bijvoorbeeld liters staat en de andere keer ltr. Op het invoerformulier heb ik dus oa de velden [afmeting] en [inhoud] opgenomen waarmee ik de eenheid die ik ophaal uit tbl_Eenheid opsla in het desbetreffende veld van tbl_Artikelen. Aangezien ik het formulier dus ook gebruik en wil gebruiken om door de records te bladeren en de informatie tot me te nemen is het heel lastig als ik in het veld [afmeting] bijvoorbeeld 15 zie staan i.p.v. cm of i.d.
Het oorspronkelijke probleem was dat steeds dat getal (wat het record_id bleek te zijn) op het formulier tevoorschijn kwam en ook in het rapport gebaseerd op een query uit de tbl_Artikelen.
Later heb ik van desbetreffende records de eenheden opnieuw ingevoerd en toen bleek het wel te werken. Ik denk omdat ik in het begin wat bulk gegevens via excel in de tabel heb gekopieerd en dat daar iets niet goed is gegaan?
Daarnaast had ik nog één veld in de tbl_Artikelen staan wat een veld met keuzelijst was. Die had ik (op een vorig advies van jouw kant) verwijderd maar kennelijk deze over het hoofd gezien. Dat veld gaf weer andere informatie dan een ander veld wat voor mij in eerste instantie dezelfde eigenschappen leek te hebben. Daardoor begreep ik het niet meer.
In elk geval, lang verhaal maar nu werkt het voorlopig zoals de bedoeling was.

Eén punt dan voor nu nog: Het zoeken via een keuze lijst zoals je beschrijft werkt bij mij op het ene formulier wel en op het andere niet. Daar krijg ik bij plaatsen in de koptekst de 3e optie
 
Vervolg:

Eén punt dan voor nu nog: Het zoeken via een keuze lijst zoals je beschrijft werkt bij mij op het ene formulier wel en op het andere niet. Daar krijg ik bij plaatsen in de koptekst de 3e optie "Een record zoeken in mijn formulier op basis van...etc" niet te zien?

Waar zou 'm dat in kunnen zitten?

Bij voorbaat dank weer!
 
Als je een zoeklijst maakt op een formulier, en je ziet de derde optie niet, dan is je formulier gebaseerd op een SELECT string, en niet op een opgeslagen query. Als je de query opslaat, en die aan het formulier hangt, zie je 'm wel.
Wat je andere probleem betreft: als je in de tabel Artikelen tabellen koppelt (tblEenheden bijvoorbeeld) dan sla je in Artikel dus het ID op uit Eenheden. Dat is in beginsel prima. Wil je de eenheidzien op je formulier, dan maak je in de query die onder je keuzelijst cboArtikel hangt een query waar die eenheid in zit, door de betreffende tabel aan de query te hangen. Je kunt dan het veld gewoon toevoegen aan de query, en dan zie je hem in de keuzelijst. Als de eenheid het derde veld is, dan kun je de inhoud ervan laten zien op je formulier met de formule =cboArtikel.Column(2) als besturingselementbron te gebruiken voor het tekstveld. En dat doe je trouwens op de rapporten ook: tabel + veld toevoegen aan de onderliggende query.
 
Heel erg bedankt weer voor de info.
Ik kan weer verder en heb weer een hoop bijgeleerd.
Vraag is wat mij betreft opgelost.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan