Queryparameters verzamelen in een formulier

Status
Niet open voor verdere reacties.

BartSt

Gebruiker
Lid geworden
26 jun 2012
Berichten
86
Beste mensen,

Ik heb een toevoegquery met parameters. (Query vult bepaalde velden aan met parameterwaarden.)

De waarden van die parameters wil ik verzamelen in een formulier.

Hoe doe ik dat juist?
 
OP je formulier zet je alle velden die je wilt gebruiken als filter. In je query zet je bij de criteriaregel vervolgens verwijzingen naar de verschillende formuliervelden. Als je dat met de functie <Opbouwen> doet, gaat het ook meestal wel foutloos :)
 
OP je formulier zet je alle velden die je wilt gebruiken als filter. In je query zet je bij de criteriaregel vervolgens verwijzingen naar de verschillende formuliervelden. Als je dat met de functie <Opbouwen> doet, gaat het ook meestal wel foutloos :)

Bedankt Michel, maar de query blijft vragen naar de parameterwaarde, en neemt die dus niet over van mijn formulier

Voorbeeld van een veld in mijn query:

Veld = Expr1: [Opleiding_p]
Toevoegen aan = Opleiding Id
Criteria = [Formulieren]![Invoerformulier opleidingen]![Keuzelijst beschikbare opleidingen]

De betreffende queryparameter is hier Opleiding_p.

Moet ik de inhoud van "veld" wijzigen? Wissen kan niet, want dan valt alles weg.
 
Ik snap niet helemaal waarom de Expr1 erbij staat in Expr1: [Opleiding_p], maar dat is op zich niet het probleem. Misschien de keuzelijst die een andere waarde als standaardwaarde heeft?
 
Ik snap niet helemaal waarom de Expr1 erbij staat in Expr1: [Opleiding_p], maar dat is op zich niet het probleem. Misschien de keuzelijst die een andere waarde als standaardwaarde heeft?

Die Expr1 zet Access er automatisch bij, ook als ik de parameter ingeef vanuit de opbouwfunctie.

Weet jij misschien wat er juist voor zorgt dat de query bij uitvoeren een dialoogvenster opent? Komt dat door die Expr1 of door het simpele feit dat er queryparameters zijn?

De eigenschap "standaardwaarde" van de keuzelijst is leeg. De gegevenstypes van het formulierelement, de queryparameter en het veld in de doeltabel komen overeen.
 
Laatst bewerkt:
Het gaat bij de keuzelijst niet om de Standaardwaarde, maar om de eigenschap <Afhankelijke kolom>. Die bevat de feitenlijke waarde van de keuzelijst, en die kan anders zijn dat wat je ziet, als die kolom is verborgen.
 
Michel,

Nog eens bedankt voor je reactie. Ik ben er bijna: de toevoegquery neemt zonder verdere vragen bijna alle gegevens over. (Ik kan door waarden in het formulier te wijzigen, de gegevensbladweergave van de toevoegquery wijzigen.) De waarde van de keuzelijst van hierboven wordt bijvoorbeeld overgenomen.

De startdatum echter niet. In het formulier kan ik die mooi ingeven mbv een kalendertje, wat volgens mij betekent dat Access doorheeft dat het om een DateTime gaat. In de toevoegquery krijg ik een leeg vak waar de datum hoort. Hoewel het niet relevant zou mogen zijn, heb ik in formulier en query de notatie gezet op "standaarddatumnotatie", zonder gunstig resultaat.

Wat kan verder nog het probleem zijn?
 
De query ziet de datum vermoedelijk niet als datumnotatie. Dat komt wel eens vaker voor, met name omdat SQL Amerikaanse datumnotatie hanteert, en jij Nederlandse notatie aanbiedt. En dan werkt het niet. wat ik zelf meestal doe, is de datum omzetten naar een getal, en vervolgens met CDate terugzetten naar een datum. Dat ziet er dan ongeveer zo uit: CDate(CLng([Datumveld])). Dat wil nog wel eens werken.
 
Michel,

Bedankt voor de tip. Ik probeer het morgen en hou je op de hoogte.
 
De query ziet de datum vermoedelijk niet als datumnotatie. Dat komt wel eens vaker voor, met name omdat SQL Amerikaanse datumnotatie hanteert, en jij Nederlandse notatie aanbiedt. En dan werkt het niet. wat ik zelf meestal doe, is de datum omzetten naar een getal, en vervolgens met CDate terugzetten naar een datum. Dat ziet er dan ongeveer zo uit: CDate(CLng([Datumveld])). Dat wil nog wel eens werken.

Michel,

Werkt perfect! Bedankt voor de geweldige tip, daar was ik zelf nooit achter gekomen! :thumb:
 
Nu lukt het nog niet. :shocked:

Als ik de toevoegquery open in ontwerpweergave, vervolgens het formulier open, waarden invoer en op "toevoegen" klik, krijg ik de query te zien in ontwerpweergave met daarin netjes alle juiste waarden.

Met uitzondering van het veld "attest ok", een waar/niet waar veld (selectievak). Daar laat de query twee vraagtekens in blokjes zien.
Dit probleempje is eigenlijk bijzaak, want zelfs als ik dat veld uit de query haal, lukt het niet.

Het probleem:

Als ik het formulier open, waarden invoer en op "toevoegen" klik, (toegvoegquery niet geopend) vraagt Access netjes of ik mijn tabel wil wijzigen. Ja. Of ik X rijen wil toevoegen? Ja.

Fout:

Access heeft X velden op Null ingesteld ten gevolge van een fout bij het converteren van het type en het volgende is niet toegevoegd:
- 0 records ten gevolge van sleutelconflicten
- 0 records ten gevolge van vergrendelingsconflicten
- 0 records ten gevolge van het strijdig zijn met validatieregels
Ik kan kiezen om toch uit te voeren, maar dat helpt niet...

Al bij al een weinigzeggende foutmelding. Ik vind noch in het formulier, noch in de toevoegquery expliciet terug waar ik het gegevenstype kan aanpassen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan