Avatar billede ds-zim Nybegynder
25. august 2000 - 10:32 Der er 20 kommentarer og
1 løsning

Syntaxfejl i DLookUp ?!?

Her er kodestumpen, der melder \'#Fejl\' tilbage ;

=DLookUp(\"Firmanavn\";\"[100 - Kunde Stamdata]\";\"Kundenummer =\" & [Kunde])

Ud fra hjælpfilen skulle den være god nok, jeg har checket navnene på kontrollerne :)
Avatar billede moses Praktikant
25. august 2000 - 10:50 #1
Du kigger hermed i en tabel eller query, der hedder \"100 - Kunde Stamdata\" efter et felt, der hedder \"Firmanavn\", hvor tilhørende felt \"Kundenummer\" skal være lig med et felt, der hedder \"Kunde\" i din form eller lignende.

1. Er du sikker på at der skal bruges \";\" og ikke \",\" ?

2. Prøv at skrive \"[Firmanavn]\" istedet for.

3. Prøv at skrive \"100 - Kunde Stamdata\" istedet for.

Avatar billede ds-zim Nybegynder
25. august 2000 - 11:04 #2
PIV! Hjælpfilen mener jeg skal bruge \',\', men når jeg indtaster det i source, tænder Access af og kræver \';\' istedet :(
Syntax\'n fatter jeg ikke helt strukturen af :

Syntax DLookup(expr, domain[, criteria])

Flg. string virker i en rapport;

=DLookUp(\"Navn\";\"[940 - Levarandører]\";\"ID = \" & [Selskab])

Hvilket får mig til at tro at flg. burde virke :

=DLookUp(\"[Firmanavn]\";\"[100 - Kunde Stamdata]\";\"[Kundenummer] =\" & [Kunde])
Avatar billede ds-zim Nybegynder
25. august 2000 - 11:05 #3
Glemte lige at nævne at selvom det burde så virker skidtet ikke :(
Avatar billede moses Praktikant
25. august 2000 - 11:15 #4
HOV !!!

Du skal huske alle mellemrum !!!!

Der mangler et mellemrum efter \"=\"
Avatar billede ds-zim Nybegynder
25. august 2000 - 12:31 #5
Så burde det her virke ? (det gør det ikke :()

=DLookUp(\"[Firmanavn]\";\"[100 - Kunde Stamdata]\";\"[Kundenummer] = \" & [Kunde])
Avatar billede ds-zim Nybegynder
25. august 2000 - 13:23 #6
Jeg har undersøgt muligheden for konflikt i datatyperne, det er (vist :) heller ikke det *SkUmLe*
Avatar billede moses Praktikant
25. august 2000 - 13:37 #7
KÆMPE - KÆMPE  -  DADaaaaa

=DLookUp(\"[Firmanavn]\";\"[100 - Kunde Stamdata]\";\"[Kundenummer] = \'\" & [Kunde] & \"\'\")
Avatar billede moses Praktikant
25. august 2000 - 13:38 #8
Forhåbentlig er det fordi Kundenummer i virkeligheden er en Text - type ??
Avatar billede ds-zim Nybegynder
25. august 2000 - 13:49 #9
Det er lige hvad det er ! Jeg har gentagne gange skabt mig vildt over de forskellige datatyper, der er (forkert) defineret. Men ak ! Med 650+ kunder registreret allerede (Kunde# defineret ved Tlf#+kode) er ledelsen af den overbevisning at det er der ingen grund til at ændre dem :8
Avatar billede ds-zim Nybegynder
25. august 2000 - 13:51 #10
Moses, Ur da BOMB ! Da BOMB !!
Nu spiller det bare :)
Avatar billede moses Praktikant
25. august 2000 - 14:07 #11
UHA - Nøglefelter må ikke indeholde betydning.

Telefonnummer er en meget dårlig idé.

Hvad nu hvis/når de kære teleselskaber ændrer det forreste ciffer til 45751, så er du godtnok på ski...
Avatar billede ds-zim Nybegynder
25. august 2000 - 14:43 #12
Yep ! I know :( Har prøvet at gøre det klart med eksempler (som dit), men det ses ikke som en risiko.
Jeg har lagt klart ud med, at det vil \"bare\" koste dem en god weekends overarbejde.

En anden ting :(

Hvordan Dim(ensioner) jeg en variabel til at kunne sammenarbejde med et autonummereringsfelt ?
Jeg ønsker at anvende Dlookup på vores kundetabel for derved at få oplyst kundebetjener.
Derefter skal jeg så igen bruge Dlookup til at få oplyst medarbejderens initialer.
Desværre ligger landet sådan at vor \'Ansat\' tabel identificerer medarbejdere ud fra \'MedarbejderID\', et autonummerings felt :(
Hvilken datatype kan sammenarbejde med dette felt ?!?
Prøvede med integer, da værdien først returneret er et tal, men den næste Dlookup piver over uoverenstemmelse i datatyperne
Avatar billede moses Praktikant
25. august 2000 - 14:44 #13
Et autonummeringsfelt er af typen

Long Integer
Avatar billede moses Praktikant
25. august 2000 - 14:47 #14
Du bør dog ikke benytte dig så meget af DLookup og de andre Domain aggregate funktioner, da de tager meget lang tid i forhold til en normal query.

Hvis du har en query med 1000 rækker, hvor det ene felt er en DLookup, der slår op i en tabel med 1000 rækker, så skal der op imod ½ mio. søgninger til for at få denne query vist !!!!

Avatar billede moses Praktikant
25. august 2000 - 14:49 #15
Har du derimod overholdt normalform 1-3 og bygget relationerne færdig i din database, så har du med sikkerhed ikke brug for DLookup.

En simpel query er nok.
Avatar billede ds-zim Nybegynder
25. august 2000 - 14:54 #16
Desværre var jeg ikke med til at designe dette administrationssystem :(
Boyes & Kott (er det sådanne?) ville rotere i deres grave, fik de kendskab til dette design :(
Jeg er den udvalgte, som skal rydde op i rodet og har flere gange pointeret, at det ville være billigere i sidste ende at starte forfra
Avatar billede moses Praktikant
25. august 2000 - 14:56 #17
Ja lad os håbe, at det ikke bliver nødvendigt med flere begravelser.
Avatar billede ds-zim Nybegynder
25. august 2000 - 14:57 #18
Hmm, ikke om den ville acceptere min long integer :(
Løser problemet ved at gemme opslagsværdien i en skjult textbox istedet
Avatar billede ds-zim Nybegynder
25. august 2000 - 15:15 #19
Nu håber jeg at det er ved at være slut med at være så fjollet :)
Når jeg udelader \' spiller det (Dårlig vane at Cut\'n\'Paste-kode)
Avatar billede moses Praktikant
25. august 2000 - 15:53 #20
Du skal lige huske, hvis du benytter dig af ComboBox\'e, hvor du laver lookup til flere felter. Hvis du der skjuler f.eks. ID-feltet ved at sætte dens view-bredde til 0, så skal du i combobox\'en benytte typen på det efterfølgende felt, selvom access gemmer ID-feltet ?!?!?!!?!

Jeg skal hjem til lillemor og hygge med rødvin, så jeg smutter nu - håber du kan bruge det.
Avatar billede ds-zim Nybegynder
26. august 2000 - 14:31 #21
Jeg bruger ikke kombobox\'e i den sammenhæng hvor jeg bruger DLookup, så det er ikke relevant i øjeblikket.
Ellers tak for rådet :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester