Opgelost Keuzelijst met invoervak in VBA

  • Onderwerp starter Onderwerp starter slev
  • Startdatum Startdatum
Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

slev

Gebruiker
Lid geworden
18 jan 2023
Berichten
23
Ik heb een AccesDB waarvan de tabellen gevuld kunnen worden via formulieren met o.a. keuzelijsten. Vervolgens heb ik de DB gekoppeld aan een VBA project.
Als ik nu een tabel en/of query vanuit de DataSet naar een formulier sleep en het project uitvoer krijg ik bij de velden, die mbv een keuzelijst zijn ingevuld niet de waarden maar het id-nummer van de record te zien. Hoe maak ik de achterliggende waarde zichtbaar?
Toegevoegd is een kleine db (=VoorbeeldDB) en het bijbehorend VBA-project (= VoorbeeldApp)
 
Dat is wel een een heel erg kleine DB.
Waarschijnlijk gebruik je formuliercontrols en geen ActiveX-controls.
 
De werkelijke DB waar het over gaat is veel groter en heeft betrekking over de tuin; borders planten, foto's e.d. Tot nu werk ik daar goed mee in Acces, maar in deze donkere tijd leek me het aardig om te kijken wat mogelijk was met VBA.
Dit was een probleem waar ik tegen aan liep en waar ik niet uit kwam en er zullen ongetwijfeld meerdere problemen volgen.
Overigens ik was van mening dat ik het bericht terug genomen had omdat ik de 2 bestanden vlgs. mij niet had toegevoegd.
Blijkbaar heb je minimaal 1 bestand ingezien.
Via "Voeg bestand toe" is het m.i. niet goed gegaan en ik moet nog uitzoeken hoe dit wel goed gaat.
 
Ik zie geen db, maar (waarom de vraag niet in het Access forum?) ik vermoed wel wat het probleem is. Je hebt in je tabel(len) keuze lijsten met invoervak gemaakt. In het Access forum krijg je bij dit soort vragen van mij altijd hetzelfde antwoord: NIET DOEN! Keuzelijsten (met invoervak) horen thuis op formulieren, verder nergens anders. De reden? De meeste keuzelijsten zijn gebaseerd op een tabel, en je slaat dan niet de zichtbare keuze op, maar het Sleutelveld van die tabel. En dát is dus wat je ziet in je project. Kortom: als je in je tabellen die velden terugzet naar gewone tekstvelden, is de output naar je project weer identiek aan wat je in de tabel opslaat, en wat je ziet.

Je subprobleempje: databases moet je comprimeren en zippen voordat je ze kunt posten; HelpMij blokkeert accdb bestanden. Met een andere extensie (of gezipt dus) gaat het wél goed.
 
Probleem wordt op deze manier opgelost. Wel vreemd dat Microsoft deze toepassing wel aanbiedt.
Het komt er op neer dat ik mijn DB in zijn geheel moet ombouwen. Via copy/paste gaat niet; of is er een andere manier?
Ik kan het 1,2,3 niet vinden.
 
Als ik nu een tabel en/of query vanuit de DataSet naar een formulier sleep en het project uitvoer krijg ik bij de velden, die mbv een keuzelijst zijn ingevuld niet de waarden maar het id-nummer van de record te zien.
Ik snap je opmerking niet helemaal, gezien ook deze opmerking van je oorspronkelijke vraag. Je hébt namelijk dus de ‘waarden’ uit de tabel. Als je die niet wilt, wat best zou kunnen natuurlijk, dan is de oplossing heel simpel: zet de waarden die je wél wilt zien in je project ook in de query die je exporteert.

Voorbeeldje: je hebt dus in de tabel een keuze lijst gemaakt om een klant te koppelen aan een order. In de keuze lijst selecteer je de klantnaam. In je export verwacht je nu de klantnaam te zien, maar je krijgt dus het Klantnummer, omdat dat het sleutelveld is in je tabel. Wil je tóch de klantnaam, voeg dan het veld Klantnaam toe aan de export query, dan ben je klaar. Hoef je niks voor om te bouwen. Al zou ik dat dus wél doen, want ik heb een onbeschrijflijke hekel aan tabellen met keuzelijsten (op basis van andere tabellen; een keuzelijst met waarden vind ik prima).
 
Sorry, dat ik even niet gereageerd heb; ik had een paar dingen te doen die urgenter waren.
Met de geplaatste opmerkingen kan ik even uit de voeten. Ik ga de db ombouwen (ben ik al mee bezig)
Voor mij is de vraag opgelost
 
Aan jou de eer om de vraag dan ook op Opgelost te zetten :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan