Avatar billede teepee Nybegynder
20. juli 2006 - 09:55 Der er 11 kommentarer og
1 løsning

RunSQL makro større end 255 tegn

Jeg har fundet ud af at hvis man skal lave en RunSQL som indeholder mere end 255 tegn så skal man lave et VB module. Jeg har oprette et module kaldet MyOwn. I den har jeg oprettet følgende function:

Public Function SQLVarer() As Boolean
  DoCmd.RunSQL ("....")
End Function

Når jeg så skal benytte funktionen i runCode i en makro kan jeg udvælge funktionen via browse, men når jeg vil afvikle makroen siger den at den ikke kan finde funktionen. I øvrigt er der ingen form for prefixing i linien, den ender op med bare at skrive SQLVarer() i FunctionName.

Er der nogle der kan sige hvad jeg gør galt?
Avatar billede terry Ekspert
20. juli 2006 - 10:08 #1
If you open the debug window (Ctrl+G in code view) and then enter



?SQLVarer()



what happens?
Avatar billede teepee Nybegynder
20. juli 2006 - 10:09 #2
den siger Not defined
Avatar billede jensen363 Forsker
20. juli 2006 - 10:14 #3
Mig bekendt har du stadig begrænsninger på antal tegn ved benyttelse af RunSQL ...

Jeg benytter normalt DAO ved opbygning af SQL-sætninger (ingen begrænsninger), dvs.

Function EtEllerAndet()
Dim strSQL As String
Dim db As dao.Database

    Set db = CurrentDb()

    strSQL = "..... "
    strSQL = strSQL & ".... "
    strSQL = strSQL & ".... ;"

        db.Execute strSQL

End Function
Avatar billede teepee Nybegynder
20. juli 2006 - 10:27 #4
Jeg har ikke visual studio, access visual basic. Den kender tilsyneladende ikke dao. Hvordan definer jeg min function?
Avatar billede jensen363 Forsker
20. juli 2006 - 10:30 #5
Du skal sørge for at have reference til den i modulet ( Tools > Reference )
Avatar billede terry Ekspert
20. juli 2006 - 10:38 #6
is the SQL dynamic? (does it change)

If not then why dont you just make a query and then use
docmd.OpenQuery "YourQueryNameGoesHere"


But that doesnt answer teh question as to why you cant open the function from a macro

Is the function in a module?
Avatar billede teepee Nybegynder
20. juli 2006 - 10:41 #7
Module is called MyOwn. Function called SQLVarer. Browsing the functions in runCommand allows me to find it, but I cant use it.
Avatar billede terry Ekspert
20. juli 2006 - 10:51 #8
Well I never use macro's so I cant be sure what the problem is.

If you can send me your dB then maybe I can see the problem?

eksperten@NOSPAMsanthell.dk
remove NOSPAM
Avatar billede teepee Nybegynder
20. juli 2006 - 11:01 #9
Is docmd in a refrence I need to add? which one?
Avatar billede terry Ekspert
20. juli 2006 - 11:07 #10
No DoCmd should not need a reference, but isntit the function SQLVarer which is givin the problem?
Avatar billede teepee Nybegynder
20. juli 2006 - 11:09 #11
Yes. I deleted all that VB crap. Used your idea with a query and used OpenQuery in Macro instead. works fine. Please leave answer. Thx.
Avatar billede terry Ekspert
20. juli 2006 - 11:57 #12
:o)
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