Refresh BackgroundQuery:=False
26.05.2008 12:50:00
Diana
ich habe eine Makro mit dem Recorder aufgezeichnet. Dieses soll Daten aus einer Datenbank auslesen und in eine Datei speichern.
Sub H2x()
Dim Jahr As String
Dim Monat As String
Dim Tag As String
Jahr = InputBox("Welches Jahr soll ausgewertet werden: ", "Abfrage Jahr", 2008)
Monat = InputBox("Welcher Monat soll ausgewertet werden: ", "Abfrage Monat")
Tag = InputBox("Welcher Tag soll ausgewertet werden: ", "Abfrage Tag")
Application.Run "PERSONL.XLS!P21z02v01"
' Application.Run "PERSONL.XLS!M22z02v01"
' Application.Run "PERSONL.XLS!F23z02v01"
' Application.Run "PERSONL.XLS!G24z02v01"
' Application.Run "PERSONL.XLS!Sonz02v01"
End Sub
Sub P21z02v01()
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DATABASE=K055;DESCRIPTION=ODBC-Zugriff für VisuData;DSN=K055_Read;OPTION=3;PORT= _
_
3306;SERVER=Server;UID=K055_Read;" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT k055z02_0.Zeit, k055z02_0.A21100001, k055z02_0.A21100101, k055z02_0.A21100102, _
_
k055z02_0.A21100501, k055z02_0.A21112021, k055z02_0.A21112201, k055z02_0.A21112211, k055z02_0. _
A21112212, k055z02_0" _
, _
".A21112301, k055z02_0.A21112302, k055z02_0.A21112311, k055z02_0.A21112501, k055z02_0. _
_
A21112511, k055z02_0.A21112512, k055z02_0.A21112521, k055z02_0.A21112601, k055z02_0.A21112611, _
k055z02_0.A21122021," _
, _
" k055z02_0.A21122101, k055z02_0.A21122102, k055z02_0.A21200001, k055z02_0.A21200101, _
_
k055z02_0.A21200102, k055z02_0.A21202021, k055z02_0.A21202022, k055z02_0.A21400001, k055z02_0. _
A21400011, k055z02_0." _
, _
"A21400021, k055z02_0.A21422101, k055z02_0.A21532181, k055z02_0.A21532281, k055z02_0. _
A21532381, k055z02_0.A21532481, k055z02_0.A21532581, k055z02_0.A21532681, k055z02_0.A21532781, _
k055z02_0.A21532881, " _
, _
"k055z02_0.A21532981, k055z02_0.A21542081, k055z02_0.A21542181, k055z02_0.A21542281" & _
_
Chr(13) & "" & Chr(10) & "FROM k055.k055z02 k055z02_0" & Chr(13) & "" & Chr(10) & "WHERE ( _
k055z02_0.Zeit Between {ts '2008-0'&Monat&'-'&Tag&' 00:00:00'} And {ts '2008-0'&Monat&'-'&Tag&' 23:59:59'})" _
)
.Name = "Abfrage von K055_Read"
.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
ChDir "S:\RAM4H\21P\" & Jahr
ActiveWorkbook.SaveAs Filename:="S:\RAM4H\21P\" & Jahr & "\21" & Monat & Tag & "11.dat", _
FileFormat:=xlCSV, _
CreateBackup:=False
End Sub
Beim Ablauf läuft das Makro nicht fehlerfrei. Der Debugger steht bei: Refresh BackgroundQuery:=False. Das heißt doch, dass der Ablauf vorher schon nicht fehlerfrei ist, oder?
Liegt es an den Formaten für die Datumswerte?
Wäre super, wenn jemand eine Lösung hätte.
Gruß Diana