Standaardwaarde in keuzelijst met invoervak d.m.v. DLookUp

Status
Niet open voor verdere reacties.

HJD1986

Gebruiker
Lid geworden
28 mrt 2017
Berichten
61
In het formulier "Verkooporders" wil ik bij betalingstermijn als standaard waarde de waarde uit tabel Klantgegevens.Betalingstermijn hebben.
De bedoeling is dat standaard de waarde van betalingstermijn uit klantgegevens wordt opgehaald en er altijd een mogelijkheid is om af te wijken van de standaard betalingstermijn.

In het formulier verkooporders heb ik bij standaardwaarde de volgende expressie gebruikt:

=DLookUp("[Betalingstermijn]";"[Klantgegevens]";"[KlantId] = " & Form("Verkooporders")("[KlantId]")).

Op een of andere manier werkt dit niet.

Zie copy DB in de bijlage.

Wat doe ik fout?
 

Bijlagen

  • Copy DB.zip
    131,9 KB · Weergaven: 25
Verander, om te beginnen, de Rijbron van de keuzelijst KlantID naar:
Code:
SELECT KlantId, Naam, Betalingstermijn FROM Klantgegevens ORDER BY Naam;
Verder: gebruik numerieke velden om numerieke waarden te matchen. Gebruik géén tabellen als opzoeklijsten in tabellen, maar alleen Lijst met waarden. Zoals je landen. Gebruik niet het sterretje om velden uit meerdere tabellen toe te voegen aan een formulier. Je komt dan met gedrochten te zitten als: "Orders.Betalingstermijn" en "Orders.KlantID". (Velden als "OrderDatum" gaan wél goed, want die zijn uniek). Haal de standaardwaarde dus op uit je klantentabel, en plaats die vanuit de keuzelijst KlantID in je keuzelijst Betalingstermijn.
 

Bijlagen

  • Copy DB.zip
    155,8 KB · Weergaven: 47
Hi Octafish,

Hartelijk dank voor je hulp. Hier had ik het niet gezocht.
Ik heb het gelijk voor offertes ook aangepast.

Het * dateert nog van mijn allereerste database. Sommige dingen gekopieerd ;), dus zal dit in t vervolg niet meer zo toepassen.
Ik vroeg me al af waar die rare namen vandaan kwamen :rolleyes:
 
Kies de velden die je nodig hebt, en vermijd de sleutelvelden uit je stamtabellen. Als je in je Offerte het veld Klanten.KlantId pakt i.p.v. Order.KlantID, dan werkt je systeem niet meer.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan