Avatar billede flemming39 Nybegynder
27. april 2005 - 11:37 Der er 10 kommentarer og
1 løsning

sql opslag

Er der en venlig sjæl der kan fortælle mig hvordan jeg skal udføre et simpelt sql statement i VBA?

Jeg skal slå op i en access (2002) database og jeg har læst en masse herinde om connections og "dim as database" osv., men har brug for konkret hjælp. Skal jeg lave connection uanset at jeg udfører vba koden i en makro i databasen?

Eller kan jeg lave et "direkte" sql i vba koden (har forsøgt uden held :-)

Ydmygt
Flemming
Avatar billede mikkelk Nybegynder
27. april 2005 - 12:01 #1
Du kunne måske bruge DoCmd.RunSql("din SQL")
Avatar billede terry Ekspert
27. april 2005 - 12:09 #2
are you running a macro in Access FROM vb?

If so you need to automate Access

something like this

Dim ObjA As Access.Application

Set ObjA = CreateObject("Access.application")

With ObjA

.Visible = True 'Remove if you dont want to see Access

.docmd.RunMacro "NameOf macro"

End With

Set ObjA = Nothing
Avatar billede terry Ekspert
27. april 2005 - 12:10 #3
and you need a reference to Access to do this.
Avatar billede terry Ekspert
27. april 2005 - 12:17 #4
which means that Access MUST be installed too. If not then you can NOT run macro's you only have access to the tables/queries
Avatar billede flemming39 Nybegynder
27. april 2005 - 12:48 #5
Nej Terry du misforstår min meget utydelige formulering

Jeg bruger afspiller noget vba kode i en makro i min access db.
Jeg tror løsningen er at bruge docmd.runsql men.....

DoCmd.RunSQL ("select måler_nr as start_date from konv_elektronisk_fil where ejendom = var1;")

giver fejl "kræver et argument der består af en sql sætning" og jeg har prøvet at bytte en del rundt nogen der lige kan se hvad der er galt?
Avatar billede terry Ekspert
27. april 2005 - 12:59 #6
Use Dlookup("[ler_nr]", "konv_elektronisk_fil", "ejendom = " & var1)
Avatar billede terry Ekspert
27. april 2005 - 13:03 #7
that should be

Var = Dlookup("[måler_nr ]", "konv_elektronisk_fil", "ejendom = " & var1)
Avatar billede terry Ekspert
27. april 2005 - 13:04 #8
and if ejendom is a string
then

Var = Dlookup("[måler_nr ]", "konv_elektronisk_fil", "ejendom = '" & var1 & "'")
Avatar billede terry Ekspert
27. april 2005 - 13:09 #9
If there is more than one record then you should use Dfirst or Dlast
Avatar billede flemming39 Nybegynder
27. april 2005 - 14:01 #10
Hi Terry

Thanks again, this was exactly what I needed.

Have a nice day
Avatar billede terry Ekspert
27. april 2005 - 14:47 #11
thanks and a nice day to you too
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