Avatar billede mikker Nybegynder
24. maj 2006 - 16:14 Der er 2 kommentarer og
1 løsning

VBA - access kode der bliver afvist af SQL forespørgsel i Excel

Jeg har i Access følgende modul:

Public Function kontrol(afvigelse, maengde)
On Error GoTo errh
If afvigelse = 0 Or maengde = 0 Then
kontrol = 0
Else
kontrol = Format(CDbl(afvigelse / maengde), "#,##0.00%")
End If
GoTo sluterr
errh:
kontrol = 0
sluterr:
End Function
---
Den bliver kaldt i en forespørgsel således: AFVIGP: kontrol([AFVIG];[EVNT_MAENGDE]) og laver derved feltet AFVIGP.

Det virker til kryds og slange i Access (bortset fra datatypen men det er en anden historie).
Hvad skal jeg gøre for at undgå meddelelsen: Der er en ikke defineret funktion 'kontrol' i udtrykket ?

Har søgt med lys og lygte, men jeg er tilsyneladende den eneste i verden med dette problem? :o(

- Mikker
Avatar billede bak Forsker
27. maj 2006 - 19:24 #1
Lav selve forespørgslen i Access og i excel laver du en SQL der trækker data fra denne forspørgsel.
Avatar billede mikker Nybegynder
27. maj 2006 - 23:56 #2
Hej Bak

Det er også det jeg har gjort. Jeg kalder funktionen fra forespørgslen.
Derefter kalder jeg forespørgslen fra Excel.
Jeg er nødt til at gøre det på denne måde da felterne [AFVIG] og [AVNT_MAENGDE] kan komme fra flere forskellige tabeller (har lavet nogle iif formler der bliver accepteret af Excel-sql'en).

- Mikker
Avatar billede mikker Nybegynder
29. maj 2006 - 14:29 #3
Nevermind...

Det havde været dejligt med en løsning, men jeg har endelig fået en fler-ledet IIf sætning til at virke - tror jeg.

AFVIGP: IIf((0+[AFVIG])=0;0;IIf((0+[EVNT_MAENGDE])=0;0;[AFVIG]/[EVNT_MAENGDE]))

- Mikker
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
Kurser inden for grundlæggende programmering

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