[Access] query-definitie formulier aanpassen

Pagina: 1
Acties:
  • 382 views sinds 30-01-2008
  • Reageer

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 18-08 10:09
Ik heb een database met onder andere volgende dingen:

* tabel met daarin klanten (tblKlant). Dit is een gekoppelde tabel.
* selectiequery op deze tabel die één klant oplevert (qryHuidigeKlant).
* formulier met een klantenkaart (frmKlant). Dit formulier gebruikt qryHuidigeKlant als bron.

Nu heb ik het volgende probleem:

Op het formulier is een zoekvenster waarin ik naar een andere klant wil springen. Ik zou daarvoor de query willen aanpassen. Dit dacth ik zo te doen:

code:
1
2
3
4
5
6
7
Dim db As Database, qry As QueryDef
  Set db = CurrentDb 
  Set qry = db.QueryDefs("qryHuidigeKlant")
  qry.SQL = "SELECT * FROM tblKlant WHERE klantref = " & zoekklant
  qry.Close
  db.Close
  Me.Requery


Dit werkt niet helemaal goed: de query wordt netjes gewijzigd, het formulier wordt opnieuw ge-queried, maar de gegevens die op het formulier staan, veranderen niet.
Als ik het formulier sluit en opnieuw open, dan wel.
Het lijkt alsof de gegevens ergens worden gecached.

Een oplossing zou zijn om de brongegevens van mijn formulier te wijzigen, maar dit wil ik om redenen liever niet.

Houdoe


  • Dido
  • Registratie: Maart 2002
  • Laatst online: 17:49

Dido

heforshe

Ik vind dit eigenlijk een hele rare manier van werken... ik mag hopen dat je nooit meer dan 1 gebruiker in het systeem hebt?

Ik denk dat de recordsource van je form inderdaad niet wijzigt als je in je DB een view (noemt Access een query) wijzigt. Het lijkt erop dat bij het openen niet direct de query uitgevoerd wordt, maar wordt misschien de .SQL van je query gekopieerd naar de rowsource van je form? Dan wordt met een requery inderdaad je "oude" query uitgevoerd,

Maar ik zie nog steeds niet waarom je ervoor kiest om een view op deze manier aan te passen vanuit je form. Wat zijn de "redenen" om je brongegevens van je form niet aan te passen? Je gebruikt nu kennelijk een view (jouw query) als source?

Wat betekent mijn avatar?


  • Witte
  • Registratie: Februari 2000
  • Laatst online: 18-08 10:09
Ik wil graag 'als bonus' een query opleveren die de huidige klant heeft. Ik zou dit trucje meer willen toepassen, denk aan 'huidige bestelling'.
Wat ik nog liever heb overigens, is gebruik kunnen maken van een globale variabele in een query...

(Ik heb voor iedere gebruiker een afzonderlijke database met gekoppelde tabellen. Deze persoonlijke database wordt bij het aanmelden op de server ge-update met de meest recente versie)

Jouw gedachtengang was wel juist: als ik volgende regel code voor de requery zet werkt het wel!

code:
1
me.recordsource = "qryHuidigeKlant"

[ Voor 23% gewijzigd door Witte op 29-03-2006 14:07 ]

Houdoe