Avatar billede fhfromdk Nybegynder
19. oktober 2004 - 11:27 Der er 7 kommentarer og
1 løsning

SQL macro ved Excel 2000 til Excel 2002

Jeg har haft nedenstående query i Excel 2000 men ved opgrad til 2003 forsvandt reference XLODBC.xla som valg(?). Hvordan får jeg SQL  delen til at fungere igen  :


SQLConnectionID = SQLOpen("CSF=No;DRIVER={C/ODBC 32 bit};DSN=Navision DATA DK;PPath=C:\Program Files\Navision Financials;CSF=Yes;Database=F:\navision.fdb;CN=HB DK;SName=HB-SVR01-DK;NType=tcp;Option=Text;IT=All Characters;QTYesNo=Yes;RO=YES;CC=Yes;BE=Yes;UID=YYY;PWD=XXX", , 3)
       
      SQLExecQuery connectionNum:=SQLConnectionID, _
        queryText:="SELECT ""G/L Account"".""Balance at Date""" & Chr(13) & "" & Chr(10) & "FROM ""G/L Account"" ""G/L Account""" & Chr(13) & "" & Chr(10) & "WHERE (""G/L Account"".""Date Filter""='" & dato3 & "') AND (""G/L Account"".""No.""='8645')"
        SQLRetrieve _
            connectionNum:=SQLConnectionID, _
            destinationRef:=Worksheets("ARKTEST").Cells(6, 4), _
            ColNamesLogical:=False
       
        SQLExecQuery connectionNum:=SQLConnectionID, _
        queryText:="SELECT Sum(Vendor.""Balance Due (LCY)"") " & Chr(13) & "" & Chr(10) & "FROM Vendor Vendor" & Chr(13) & "" & Chr(10) & "WHERE (Vendor.""Date Filter""='<" & dato & "') " & Chr(13) & "" & Chr(10) & "GROUP BY Vendor.""Purchaser Code"""
        SQLRetrieve _
            connectionNum:=SQLConnectionID, _
            destinationRef:=Worksheets("ARKTEST").Cells(6, 8), _
            ColNamesLogical:=False
       
      Do    ' Outer loop.
       
        Do While counter < nodays    ' Inner loop.
            counter = counter + 1
        Worksheets("ARKTEST").Cells(n, r - 1).Value = dato
        SQLExecQuery connectionNum:=SQLConnectionID, _
        queryText:="SELECT Sum(Vendor.""Balance Due (LCY)"") " & Chr(13) & "" & Chr(10) & "FROM Vendor Vendor" & Chr(13) & "" & Chr(10) & "WHERE (Vendor.""Date Filter""='" & dato & "')" & Chr(13) & "" & Chr(10) & "GROUP BY Vendor.""Purchaser Code"""
        SQLRetrieve _
            connectionNum:=SQLConnectionID, _
            destinationRef:=Worksheets("ARKTEST").Cells(n, r), _
            ColNamesLogical:=False
        SQLExecQuery connectionNum:=SQLConnectionID, _
        queryText:="SELECT Sum(Vendor.""Payments (LCY)"") " & Chr(13) & "" & Chr(10) & "FROM Vendor Vendor" & Chr(13) & "" & Chr(10) & "WHERE (Vendor.""Date Filter""='" & dato & "')" & Chr(13) & "" & Chr(10) & "GROUP BY Vendor.""Purchaser Code"""
        SQLRetrieve _
            connectionNum:=SQLConnectionID, _
            destinationRef:=Worksheets("ARKTEST").Cells(n, r + 1), _
            ColNamesLogical:=False
         
            If counter = 60 Then    ' If condition is True.
                Check = False    ' Set value of flag to False.
                Exit Do    ' Exit inner loop.
            End If
       
        n = n + 1
        dato2 = dato2 + 1
        dato = Format(dato2, "mmddyyyy")
       
        Loop
     
      Loop Until Check = False
       
   
    SQLClose connectionNum:=SQLConnectionID
        Application.Calculation = xlAutomatic
Avatar billede sjap Praktikant
19. oktober 2004 - 11:36 #1
Så vidt jeg lige forstår af nedenstående link, så skal du bare hente XLODBC.xla på Microsofts hjemmeside.
http://office.microsoft.com/da-dk/assistance/HP052092671033.aspx
Avatar billede sjap Praktikant
19. oktober 2004 - 11:38 #2
Hvis det er en 2002 du har (som du skriver i overskriften), så kan XLODBC.EXE
hentes her:

http://www.microsoft.com/downloads/details.aspx?FamilyID=57E79367-13A0-4895-9942-5B177846AB8A&displaylang=da
Avatar billede fhfromdk Nybegynder
19. oktober 2004 - 12:00 #3
Men at installere XLODBC.exe giver mig ikke XLODBC.xla som valgmulighed under VB reference
Avatar billede fhfromdk Nybegynder
19. oktober 2004 - 12:11 #4
jeg kan ikke umiddelbart finde XLODBC.XLA på MS' hjemmeside
Avatar billede fhfromdk Nybegynder
19. oktober 2004 - 13:13 #5
Fandt min gl. xlodbc.xla - det ser ud til at virke.
Avatar billede fhfromdk Nybegynder
19. oktober 2004 - 14:30 #6
Hej Sjap, du kan få de 30 point hvis du vil ha' dem . Kan du fortælle mig hvorfor ms advarer mod at bruge ovennævnte sql-forespørgsler og anbefaler ADO. Hvorledes adskiller de to metoder sig.
Avatar billede sjap Praktikant
19. oktober 2004 - 15:31 #7
Det vil jeg da gerne.

I øvrigt vil jeg gætte på at XLODBC.exe er en fil, der pakker sig selv ud til XLODBC.xla
Avatar billede sjap Praktikant
19. oktober 2004 - 15:34 #8
Jeg ved ikke hvorfor der advares mod ODBC. Måske er ADO nyere/bedre/sikrere?
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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