Avatar billede rosco Novice
28. maj 2006 - 17:28 Der er 6 kommentarer og
2 løsninger

Access data kan ikke sorteres efter dato

Dette er en fortsættelse på
http://www.eksperten.dk/spm/711961
Jeg kom godt nok et skridt videre,
jeg kan filtrere på årstal og Spilletid uden problemer.
Men når jeg vil filtrere på datofeltet, får jeg kun overskrifterne på tabellerne ind i arket (ingen fejlmeddelelser)
jeg har forsøgt med alle mulige datoformater.

Koden er denne (som driller)

Sub Makro16()
Dim Ws As Object
Dim sql As String

  'aktuel arknavn
  Set Ws = Sheets("Ark3")

  'slet nuværende indhold
  Ws.Activate
  Range("C2:F800").Activate
  Selection.CurrentRegion.Select
  Selection.ClearContents
  Range("A1").Select

  'Dim tmp1 As Date
  'Dim tmp2 As Date

  With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
      "ODBC;DSN=MS Access-database;DBQ=C:\Programmer\Videokartotek\Data\Video_be.mdb;DefaultDir=C:\Programmer\Videokartotek\Data;DriverId=2" _
      ), Array("5;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;")), Destination:= _
      Range("C2"))

     
      'tmp1 = InputBox("Fra dato")
      'tmp2 = InputBox("Til dato")
      '[Tid] referere til Celle A4 i ark3
     
      sql = "SELECT Optagelse.Titel, Optagelse.Årstal, Optagelse.Dato, Optagelse.Spilletid"
      sql = sql & " FROM `C:\Programmer\Videokartotek\Data\Video_be`.Optagelse"
      sql = sql & " WHERE ((Optagelse.Spilletid)>=" & [Tid] & ")  AND(((Optagelse.Dato)>=" & [Fra] & ") AND ((Optagelse.Dato)<=" & [Til] & "))"

   
      .CommandText = Array(sql)
      .Name = "Forespørgsel fra MS Access-database"
      .FieldNames = True
      .RowNumbers = False
      .FillAdjacentFormulas = False
      .PreserveFormatting = True
      .RefreshOnFileOpen = False
      .BackgroundQuery = True
      .RefreshStyle = xlInsertDeleteCells
      .SavePassword = True
      .SaveData = True
      .AdjustColumnWidth = True
      .RefreshPeriod = 0
      .PreserveColumnInfo = True
      .Refresh BackgroundQuery:=False
  End With

End Sub
Avatar billede rosco Novice
28. maj 2006 - 17:29 #1
Referencer er disse:

'[Fra] referere til celle A2 i ark3
'[Til] referere til Celle A3 i ark3
'[Tid] referere til Celle A4 i ark3
Avatar billede rosco Novice
28. maj 2006 - 17:51 #2
Det virker oså hvis jeg kun bruger en dato, f.eks.
sql = sql & " WHERE ((Optagelse.Dato)>=" & [Fra] & ")"
Avatar billede rosco Novice
28. maj 2006 - 17:56 #3
Den gav bare alle poster med dato
Avatar billede stewen Praktikant
28. maj 2006 - 18:08 #4
Prøv lige:

.....
sql = sql & " WHERE Optagelse.Spilletid >= " & [Tid] & " AND Optagelse.Dato between (" & [Fra] & " AND " & [Til] & ")"
Avatar billede rosco Novice
28. maj 2006 - 18:11 #5
SQL-syntaxfejl
Avatar billede stewen Praktikant
29. maj 2006 - 08:08 #6
nå ja - skal lige have paranteser korrekt:

sql = sql & " WHERE Optagelse.Spilletid >= " & [Tid] & " AND Optagelse.Dato between (" & [Fra] & ") AND (" & [Til] & ")"
Avatar billede rosco Novice
29. maj 2006 - 09:58 #7
Tak Stewen.
Ja jeg sloges også med alle de nødvendige paranteser.
På mit første spørgsmål http://www.eksperten.dk/spm/711961
gav bak løsningen på mit problem.
Det jeg manglede var nogle havelåger. så linien kom til at se sådan ud.
.........
sql = sql & " WHERE ((Optagelse.Spilletid)>=" & [Tid] & ") AND (((Optagelse.Dato)>=#" & [Fra] & "#) AND ((Optagelse.Dato)<=#" & [Til] & "#))"

Læg et svar stewen så deler vi point.
Avatar billede stewen Praktikant
29. maj 2006 - 10:10 #8
Det er ok med mig!
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