Hallo Knopperke,
ik ga even doen alsof ik niet gezien heb dat de bestandsnaam
Oefening dlookup en duplicate entries is
.
Ik ken niet zoveel van Access, maar ik vond denk'k wel twee foutjes:
1) DLookup verwacht als argumenten tekenreeksen (strings). Jij had DLookUp([ItemDatum];... ipv DLookUp("[ItemDatum]";... . Dat verklaart de 'vreemde' fout die je kreeg. Het is in zo'n geval altijd handig om eens de functie op te zoeken om te kijken of je die qua syntax wel correct gebruikt.
2) DLookup wordt volgens mij verkeerd gebruikt.
Wat jij had als voorwaarde: DLookUp("[ItemNummer]";"tblGegevens";"[ItemNummer]>0") And ... .
Dat zoekt volgens mij gewoon de eerste waarde op in de tabel tblGegevens waarbij ItemNummer > 0. Er staat nergens bij dat er moet gezocht worden naar een specifiek nummer, namelijk het nummer dat je ingevuld hebt
.
Daarom dit:
DLookUp("[ItemNummer]"; "tblGegevens"; "[ItemNummer] > 0
and [ItemNummer] = " & CLng([Forms]![frmGegevensinvoer]![ItemNummer])) Is Not Null
Nu wordt er gezocht naar een record met hetzelfde ItemNummer. CLng converteert de tekst (ItemNummer is op de form een tekstvak) naar een geheel getal van type Long.
Ten slotte heb ik nog 'Is Not Null' bij de voorwaarde gezet, omdat DLookup null teruggeeft wanneer er niets gevonden is. Op die manier wordt er geëvalueerd naar een true/false waarde.
Nu hoop ik juist dat de Access experts hier nog iets heel laten van m'n redenering
.