record opzoeken in form adhv keuzelijst mislukt na opslaan

Status
Niet open voor verdere reacties.

Miss Miemie

Gebruiker
Lid geworden
11 mei 2007
Berichten
22
Hallo

In een formulier maak ik een keuzelijst met als bedoeling dat een record getoond wordt op basis van die keuze. (alle info komt uit dezelfde query, dus ook de gegevens uit de keuzelijst en de gegevens die naast de keuzelijst worden getoond)

Dit lukt allemaal perfect, totdat ik het formulier sluit en opnieuw open. Dan mag ik klikken op alle records, de gegevens in de velden naast de keuzelijst worden niet meer aangepast.

Dit is toch een eenvoudige situatie die normaal moet werken, maar blijkbaar dus niet. In Access 2003 werkte dit soort situaties perfect, maar nu loopt er iets fout. Ik moet toch geen hoofd- en subformulier gebruiken???

Ik begrijp het niet goed...:(
 
U gebruikt nu Acc2007?
zoniet post dan een sample database.

HTH:D
 
Misschien probleem nog even duidelijk proberen te schetsen. :rolleyes:

Een formulier wordt gelinkt aan een query. Die query toont alleen de records uit een tabel waarvan een datumveld niet is ingevuld. De bedoeling is dat de gebruiker in het formulier een record kan aanduiden en dat datumveld kan invullen.

Het kiezen van een record wil ik adhv een keuzelijst doen. Daarnaast staat gewoon het datumveld op het formulier. Dus de gebruiker klikt het record aan waarvan de datum moet ingevuld worden, en vult het datumveld in.

Dit lukt wanneer ik dit maak, maar als ik de database sluit en opnieuw opstart, dan 'onthoudt' de database niet dat er een 'link' ligt tussen het gekozen record en het ingevulde datumveld op het formulier. Dus de gebruiker klikt een record aan, vult een datum in en denkt dat het OK is. Maar de database maakt gewoon een nieuw record aan met een ingevulde datum, en de overige velden zijn leeg.:confused:

Hopelijk kan iemand mij uitleggen waar ik een fout maak...
 
Uw foutmelding heeft niets te maken met de Access versie maar met het feit dat het gekozen record in de listbox en het datum veld niet zijn gekoppeld. Dit heeft weer te maken met het feit dat het form klaarblijkelijk wél bound is aan een recordsource.
Het geselecteerde record in de listbox en het datumveld kennen elkaar niet. Dit is eenvoudig op te lossen op verschillende manieren. Mijn keuze gaat uit naar een unbound form met een listbox zoals u die al heeft. U moet alleen het datumveld unbound maken door de recordsource te verwijderen. Verwijder ook de recordsource van het form.
In het onClick event van de listbox kunt u het RecordID ophalen. Dit moet een ID zijn waarmee het record uniek is te identificeren. Maak een SAVE button aan en als u daarop klikt dan moet er een update query uitgevoerd worden die de datum in de tabel opslaat.
Die query kan er als volgt uitzien:
Code:
currentdb.execute "update table1 set datum = #" & me.datumveld & "# where ID = " & me.listbox

HTH:D
 
Hoi

Bedankt voor je hulp! En ik begrijp ook hoe je het wilt doen, maar in de praktijk laat mijn kennis van VBA-code me een beetje in de steek. Het is een hele tijd geleden dat ik dit nog gedaan heb... :eek:

Ik kan volgen tot het loskoppelen van datumveld en formulier van recordsource. Maar het maken van de gebeurtenisprocedure bij het Onclick_event verloopt niet zo vlot. Mijn ID voor de listbox is het veld Waarborg. Maar het maken van de VBA-code verloopt niet zo vlot. :(

Voor het vernieuwen van de query weet ik niet hoe dat praktisch in zijn werk gaat.

Enkele tips? Dan kan ik misschien door een beetje te zoeken zelf de oplossing vinden...

Groetjes
 
Kan je een voorbeeld gezipt posten? Dan wordt het voor mij een stuk eenvoudiger.
 
Momenteel ben ik niet thuis of op werk en kan ik de database niet posten. Vanaf dit kan, doe ik dit. Geniet van eindejaarsperiode!
 
Hallo

Hier ben ik terug. In bijlage mijn database. In het formulier uitlenen loopt het dus fout. Dit formulier is gebasseerd op een query die alle records selecteert waarvan er nog geen datum teruggebracht is ingevuld.

De bedoeling is dat de gebruiker dus in het formulier uitlenen in de keuzelijst kan aanduiden wat wordt teruggebracht, en dat hij in onderstaand datumveld de datum kan invullen.

Maar de link tussen die 2 velden loopt dus niet goed, zoals al eerder beschreven. Maar zoals u hierboven beschrijft (om deze velden unbound te maken) lukt het me nog, maar de verdere VBA-code zorgt voor verwarring bij me. Een save-knop zou inderdaad ook handig zijn, dan wordt alles na invoer bevestigd.

Groetjes
 

Bijlagen

  • dbs.zip
    50,3 KB · Weergaven: 69
Het wordt een beetje ingewikkeld als u geen ervaring heeft met VBA.

De listbox toont alle waarborg items terwijl deze alleen de uitgeleende items moet tonen. Het heeft geen zin items te tonen die niet uitgeleend zijn. Verder zou ik meer velden in de uitleen tabel required maken dan weet u zeker dat alle velden worden ingevuld en dan vergeet u ook niets.

Op het moment dat er in de listbox een item wordt aangeklikt, dan zou de rest van de tekstboxen gevuld moeten worden. Of u zou moeten skippen naar het record dat geselecteerd is. Het kan waarschijnlijk ook wel met macro's maar daar heb ik geen ervaring mee.

U moet waarschijnlijk ook de waarborg tabel een unieke id meegeven en dit nummer in de uitleen tabel opnemen i.p.v. de tekst.

HTH:D
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan