Avatar billede madiedk Nybegynder
10. september 2007 - 22:06 Der er 4 kommentarer og
1 løsning

datoer i vba-kode fra excel

Hej

i excel kolonne A indtaster jeg nogle datoer og de datoer skal så være en del af en forespørgsel i en database. jeg har lavet en del af koden. men har problemer med dato formatet.
mit problem er at jeg har puttet variablem pe ind i stedet for datoen og så gemt datoen i variablen. det jeg gerne vil have er at pe variablen for den dato ind fra en excel celle.
hvis jeg bare skriver pe = range("a1"). kommer datoen ind i et forkert format. nemlig dd-mm-åååå og ikke åååå-mm-dd tt-mm-ss som databasen kræver. men selvom jeg laver formatet om i excel kommer det ikke rigtig ind i variablen nogle der kan hjælpe?


her er koden:


Dim pe As String
Dim pe2 As String


pe = "1996-12-02 00:00:00"
pe2 = Worksheets("ark2").Range("a1").Value

MsgBox pe2
    Sheets("Ark1").Select
    With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DSN=MS Access-database;DBQ=C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb;DefaultDir=C:\Program Files\Microso" _
        ), Array( _
        "ft Office\OFFICE11\SAMPLES;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
        )), Destination:=Range("A1"))
        .CommandText = Array( _
        "SELECT Fakturaer.Modtagernavn, Fakturaer.Modtageradresse, Fakturaer.Modtagerby, Fakturaer.Modtagerområde, Fakturaer.Modtagerpostnr, Fakturaer.Modtagerland, Fakturaer.`Kunde-ID`, Fakturaer.Kunder.Firma" _
        , _
        "navn, Fakturaer.Adresse, Fakturaer.Bynavn, Fakturaer.Område, Fakturaer.Postnr, Fakturaer.Land, Fakturaer.Sælger, Fakturaer.Ordrenr, Fakturaer.Ordredato, Fakturaer.Leveringsdato, Fakturaer.Forsendelses" _
        , _
        "dato, Fakturaer.Speditionsfirmaer.Firmanavn, Fakturaer.Produktnr, Fakturaer.Produktnavn, Fakturaer.`Pris pr enhed`, Fakturaer.Antal, Fakturaer.Rabat, Fakturaer.Varetotal, Fakturaer.Fragtomkostninger" & Chr(13) & "" & Chr(10) & "" _
        , _
        "FROM `C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind`.Fakturaer Fakturaer" & Chr(13) & "" & Chr(10) & "WHERE (Fakturaer.Ordredato={ts '" & pe & "'}) OR (Fakturaer.Ordredato={ts '1996-12-03 00:00:00'}) OR (" _
        , "Fakturaer.Ordredato={ts '1996-12-04 00:00:00'})")
        .Name = "Forespørgsel fra MS Access-database_33"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
    End With
Avatar billede kabbak Professor
10. september 2007 - 22:40 #1
pe2 = Format(Worksheets("ark2").Range("a1"), "yyyy-mm-dd")
Avatar billede kabbak Professor
10. september 2007 - 22:42 #2
nå, du skal have klokken med
pe2 = Format(Worksheets("ark2").Range("a1"), "yyyy-mm-dd hh:nn:ss")
Avatar billede madiedk Nybegynder
10. september 2007 - 22:50 #3
super, det virker. smid et svar. tak
Avatar billede kabbak Professor
10. september 2007 - 22:51 #4
et svar;-))
Avatar billede kabbak Professor
10. september 2007 - 23:00 #5
tak for point ;-))
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