Microsoft Excel

Herbers Excel/VBA-Archiv

Abfragekriterium externe Daten verändern

Betrifft: Abfragekriterium externe Daten verändern von: Stefan
Geschrieben am: 01.12.2007 17:57:39

Hallo,
ich habe eine Abfrage über externe Dateien mit dem Makrorecorder aufgenommen. Diese würde ich gern mit dem Auswahlkriterium Datum, variabel verändern.
Mein Problem(e):
Wie bekomme ich die Variablen eingebaut, diese stehen in Tabelle 1 Zelle A1 und A2?
Wie kann die Variable in das richtige Format konvertiert werden?
Danke
Stefan

With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=Microsoft Access-Datenbank;DBQ=C:\Dokumente und Einstellungen\Stefan\Desktop\meldungen_neu.mdb;DefaultDir=C:\Dokumen" _
), Array( _
"te und Einstellungen\Stefan\Desktop;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
)), Destination:=Range("A1"))
.CommandText = Array( _
"SELECT `meldung Abfrage`.Getriebe_Typ, `meldung Abfrage`.StückNr, `meldung Abfrage`.List_Nr, `meldung Abfrage`.Datum" & Chr(13) & "" & Chr(10) & "FRO" _
, _
"M `meldung Abfrage` `meldung Abfrage`" & Chr(13) & "" & Chr(10) & "WHERE (`meldung Abfrage`.Datum>={ts '2007-11-26 00:00:00'} And `meldung Abfrage`._" _
, "Datum<={ts '2007-12-02 00:00:00'})")
.Name = "Abfrage von Microsoft Access-Datenbank"
.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

  

Betrifft: AW: Abfragekriterium externe Daten verändern von: Erich G.
Geschrieben am: 01.12.2007 18:55:25

Hallo Stefan,
probier mal aus, ob es funzt, wenn du

.CommandText = Array( _
"SELECT `meldung Abfrage`.Getriebe_Typ, `meldung Abfrage`.StückNr, " & _
   "`meldung Abfrage`.List_Nr, `meldung Abfrage`.Datum" & Chr(13) & "" & Chr(10) & _
   "FROM `meldung Abfrage` `meldung Abfrage`" & Chr(13) & "" & Chr(10) & _
   "WHERE (`meldung Abfrage`.Datum>={ts '2007-11-26 00:00:00'}" & _
      "And `meldung Abfrage`.Datum<={ts '2007-12-02 00:00:00'})")


durch

.CommandText = Array( _
   "SELECT `meldung Abfrage`.Getriebe_Typ, `meldung Abfrage`.StückNr, " & _
      "`meldung Abfrage`.List_Nr, `meldung Abfrage`.Datum" & Chr(13) & Chr(10) & _
      "FROM `meldung Abfrage` `meldung Abfrage`" & Chr(13) & Chr(10) & _
      "WHERE (`meldung Abfrage`.Datum>={ts '" & _
      Format(Cells(1, 1), "yyyy-mm-dd hh:mm:ss") & "'}" & _
         "And `meldung Abfrage`.Datum<={ts '" & _
      Format(Cells(2, 1), "yyyy-mm-dd hh:mm:ss") & "'})")

ersetzt.

Noch eins:
Hat die Verkettung von "" in dem Ausdruck Chr(13) & "" & Chr(10) einen besonderen Grund?
Ich habs auf Chr(13) & Chr(10) gekürzt.

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort


  

Betrifft: AW: Abfragekriterium externe Daten verändern von: Stefan
Geschrieben am: 02.12.2007 18:12:09

Hi Erich,
konnte es erst heut testen.
Funktioniert wunderbar, Dankeschön!
Das mit dem & "" war wahrscheinlich ne aufzeichnung vom Makrorecorder.
Gruß
Stefan


 

Beiträge aus den Excel-Beispielen zum Thema "Abfragekriterium externe Daten verändern"