schau mal, hiermit kannst du wenigsten gezielt die DB per SQL abfragen. Das Resultat in temporäre Dokumente speichern und in der Ansicht anzeigen. Habe den Code selbst zusammen gefummelt und funktioniert inklusive dyn.- Varibalen.
WICHTIG:
Im SELECT String ist ALLES CASESensitiv !!! (Tabellenname, Feldnamen etc.)
Für den Zugriff auf SQL Server sind dessen SELECT konventionen zu beachten/verwenden.
z.B. verwendet MS-ACCESS für Joker *, der MS-SQL2000 Server aber % -> OnLinehilfe des SQL Servers lesen !!
Die Methode ODBCResultSet.SetParameter nicht verwenden -> buggy ??
Sub Click(Source As Button)
Dim con As ODBCConnection
Dim qry As ODBCQuery
Dim result As ODBCResultSet
Dim firstName As String, lastName As String
Dim msg As String, rows As Long, i As Long
Dim defaultQuery As String
Set con = New ODBCConnection
Set qry = New ODBCQuery
Set result = New ODBCResultSet
con.ConnectTo( "DWHSQL" )
Set qry.Connection = con
Set result.Query = qry
defaultQuery = "SELECT * FROM DW_COM_ADDRESSES"
qry.SQL = defaultQuery
dmy = "90%"
dmy = "'" & dmy & "'"
' defaultQuery = "SELECT Name, ZipCode, City FROM DW_COM_ADDRESSES WHERE (City Like 'St.%') AND (ZipCode Like '90%' ) ORDER BY Name ASC"
defaultQuery = "SELECT Name, Address, ZipCode FROM DW_COM_ADDRESSES WHERE (ZipCode Like " & dmy & " ) ORDER BY ZipCode ASC"
qry.SQL = defaultQuery
Call result.Execute()
If result.IsResultSetAvailable Then
msg = result.GetValue( "Name", firstName ) & Lf
Do
Call result.NextRow
msg = msg & result.GetValue( "Name" )
msg = msg & ", " & result.GetValue( "ZipCode" ) & Lf
msg = msg & ", " & result.GetValue( "City" ) & Lf
Loop Until result.IsEndOfData
Messagebox msg,, "folgnde Einträge in Spalten gefunden:"
Else
Msgbox "Cannot get ODBCResultSet for :" & Lf & qry.SQL
End If
Call result.Close( DB_CLOSE )
Call con.Disconnect
End Sub
Weiss einer wie die das ganze nicht von der GROSS/klein Schreibung, also caseINsensitive gemacht werden kann?
viel Erfolg, Gruss
Silvio