Variable MS Query abfrage über Inputbox oder Zellb
21.08.2003 09:13:55
Ulf
ich habe eine Auswertung bei der ich Daten aus einer MSquery Datenbank abhole.
Derzeit muss ich ímmer in MSquery den bereich von Hand eingrenzen. Wie kann ich die Parameter aus einer Excelzelle übergeben? oder durch eine Inputbox eingeben?
Ich habe mal Aufgezeichnet was ich derzeit manuell mache:
Sub test()
Range("B10").Select
With Selection.QueryTable
.Connection = Array(Array( _
"ODBC;DSN=AS400Berlin;SYSTEM=BLN-AS400;CMT=0;DBQ=PBPCODAT,PBCSDAT,PCFTRAN;NAM=0;DFT=5;DSP=1;TFT=0;TSP=0;DEC=0;XDYNAMIC=1;RECBLOCK=2;B" _
), Array( _
"LOCKSIZE=32;SCROLLABLE=0;TRANSLATE=1;LAZYCLOSE=1;LIBVIEW=0;REMARKS=0;CONNTYPE=0;SORTTYPE=0;LANGUAGEID=ENU;SORTWEIGHT=0;PREFETCH" _
), Array("=0;DFTPKGLIB=QGPL;MGDSN=0;"))
.CommandText = Array( _
"SELECT BMASER75.SEIDNR, BMASER75.IDESC, BMASER75.SESER, BMASER75.DATUMM01, +ARBMINMP08+60, +ARBMINMP10+60, +ARBMINMP20+60" & Chr(13) & "" & Chr(10) & "FROM S44C0156.PCFTRAN.BMASER75 BMASER75" & Chr(13) & "" & Chr(10) & "WHERE (BMASER75.ARBMINMP20>=0) AND (" _
, _
"BMASER75.DATUMM01 Between 030707 And 030713) AND (BMASER75.SEIDNR Not In ('4635477','4597477','4591128','4629490'))" _
)
.Refresh BackgroundQuery:=False
End With
End Sub
Eingeben muss ich immer den Datumsbereich (hier: between 030707 and 030713)
Wer kann helfen?