Eerste record tabel wordt ongewenst aangepast door formulier

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

EdHa

Verenigingslid
Lid geworden
6 mei 2012
Berichten
57
Ik heb een raar probleem. Ik heb een formulier gemaakt om uit een tabel bepaalde waarden uit records op te halen en als ik dat gedaan heb en het formulier afsluit wordt de eerste record van de tabel aangepast aan het geselecteerde record. Ik probeer een bijlage als voorbeeld bij te sluiten, maar krijg een foutmelding dat het geselecteerde bestand een ongeldig bestand is (testje.accdb).

Misschien is het voordeeld niet echt nodig. Ik probeer het te omschrijven:

Tabel met 4 records met elk twee velden, nummer en omschrijving.

image001.pngimage003.pngimage005.pngimage006.pngimage008.jpg
Een formulier met twee listboxen, waarin nummer en omschrijving staan. De tweede listbox is verder niet interessant, maar dient alleen om de keuze van de nummers te verhelderen met tekst die in die record staat. In dit voorbeeld onzin, maar in werkelijkheid achter elk nummer een omschrijving die voor de gebruiker veelzeggend is voor het maken van de keuze.image007.jpg

In de eerste listbox wordt de selectie gemaakt, in dit geval meervoudig, maar dat maakt niet uit blijkt uit testen. De VBA-code die aan de OK-knop hangt voeg ik ook toe. Als ik de selectie maak wordt bij enkelvoudig selecteren de geselecteerde waarde ingevuld in de tabel in de eerste record. Maar dat moet niet, de tabel moet blijven zoals hij is. Ik heb die gegevens alleen nodig om elders te verwerken. Bij meervoudige selectie wordt de oorspronkelijke waarde gewist en geen nieuwe toegevoegd.

Ik doe iets verkeerd, maar weet niet wat.

Wie heeft de oplossing?
 
Ik snap er niets van, dus de db is toch wel handig denk ik. Het klopt dat je geen databases mag uploaden, een of andere vreemde restrictie. Je kunt hem wel zippen ((eerst comprimeren als hij na zippen nog boven de 100kb zit) of, kan ook, de extensie veranderen naar xlsb. Dan mag het niet alleen wél, maar mag het bestand ook 1Mb groot zijn. Raar maar waar :). gebruik je de laatste optie, dan moeten wij de extensie uiteraard weer terugzetten naar accdb, maar dat is een kleine moeite.

Wat rest is het algemene verhaal. En dat is simpel. Een formulier koppel je meestal aan een tabel. En als je dat gedaan hebt, dan werk je feitelijk gewoon op de data in het onderliggende record. Dus als jij iets verandert in de keuzelijst, dan verander je dat 'live' in de tabel. Dat is niks vreemds en doorgaans uiterst gewenst :). Wil je keuzelijsten op een andere manier gebruiken, dan moet je ze niet koppelen aan een tabelveld. In dat geval zie je bij het object staan dat het niet-afhankelijk is. Wil je vervolgens met zo'n niet-afhankelijk object wat doen, dan moet je dat vaak programmeren.

Dit snap ik overigens niet:
Een formulier met twee listboxen, waarin nummer en omschrijving staan. De tweede listbox is verder niet interessant, maar dient alleen om de keuze van de nummers te verhelderen met tekst die in die record staat. In dit voorbeeld onzin, maar in werkelijkheid achter elk nummer een omschrijving die voor de gebruiker veelzeggend is voor het maken van de keuze.
Een keuzelijst bij mij bevat doorgaans meerdere velden uit de brontabel, waarvan het eerste (zichtbare) veld het zoekveld is en de overige velden aanvullende gegevens. Blijkbaar gebruik jij daar een tweede keuzelijst voor? In zo'n (al dan niet gekoppeld object) verberg ik meestal het sleutelveld dat wel nodig is om ofwel op te slaan, ofwel een andere actie uit te voeren.
Wil je in een formulier (we hebben het niet over tabellen) gegevens zien die bij de keuzelijst horen, dan haal je die gewoon in een tekstvak op door de kolom uit de keuzelijst op te vragen.
 
Dank, Octafish.

Bekijk bijlage Testje.xlsb
Hierbij de database met extensie .xlsb

Ik zal even kijken of ik de keuzelijst met twee velden kan toepassen. Kan ik overigens wel de records uit de tabel ophalen in het formulier als ik de velden onafhankelijk maak? Want hoe krijg ik anders de juiste velden in het formulier, ook als de onderliggende tabel een keer WEL zou veranderen?
 
Het is gelukt. Soms moet je niet te veel leunen op door Access aangeboden formaten en modellen, maar gewoon met een leeg formulier beginnen en daar het gewenste in brengen. De tips van Octafish hielpen mij om een niet gekoppeld formulier te maken, waarin wel de juiste waarden werden overgenomen. Zeer veel dank.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan