VB-Homepage Tipp 352

VB und SQL

Heute ein wenig zum Thema SQL ...

Wer bis heute gemeinhin geglaubt hat das ein LIKE im Visual Basic sei das gleiche wie ein LIKE im SQL der sei beruhigt, es ist nicht so, ein LIKE im SQL kann so z.B. keine unterscheidung zwischen Klein- u. Großbuchstaben treffen, überhaupt bei Stringabfragen scheint SQL etwas träge zu sein, denn wer hätte es gedacht, auch eine "Instr" Funktion unterscheidet diese nicht !

Hier nun einige SQL String´s zur Stringabfrage ...

Dim SqlSelect as String

[Einfacher Instr]
'Sucht in einem Feld nach entsprechenden Werten...
SqlSelect = "select * from TABELLE where instr('SUCHSTRING', SUCHFELD) > 0


[Erweiterter Instr1]
'Sucht in einem Feld nach entsprechenden Werten und berücksichtigt noch Werte eines anderes Feldes...
SqlSelect = "select * from TABELLE where instr('SUCHSTRING', SUCHFELD) > 0 and ANDERESFELD = '10'

[Erweiterter Instr2]
'Sucht in einem Feld nach entsprechenden Werten und berücksichtigt noch Werte eines anderes Feldes wobei wiederum in einem dritten Feld kein "W" vorkommen darf...
SqlSelect = "select * from TABELLE where instr('SUCHSTRING', SUCHFELD) > 0 and ANDERESFELD = '10' and ANDERESFELD1 not like 'W*'"

[Erweiterter Instr2]
'Sucht in einem Feld nach entsprechenden Werten und berücksichtigt noch Werte eines anderes Feldes wobei wiederum in einem dritten Feld kein "W" vorkommen darf, und der zeite Buchstabe des Vierten Feldes ein Großes L sein muss !! :-)

SqlSelect = "select * from TABELLE where instr('SUCHSTRING', SUCHFELD) > 0 and ANDERESFELD = '10' and ANDERESFELD1 not like 'W*' and asc(mid(ANDERESFELD2,2,1)) = asc('L')"


Hier nun noch der Code zum Aufruf der SQL Anweisung

Dim DB as Database
Dim RS as Recordset

Set DB = OpenDatabase(C:\"MyDatabase.mdb")
Set RS = DB.OpenRecordset(SqlString, dbOpenDynaset)

Viel Spaß beim probieren
Stephan

Besten Dank an unseren Datanbank Spezi SWMedici, der in loser Folge schon den einen oder anderen guten Tipp zur Datenbankprogrammierung begesteuert hat.
Und wer sich über die Begrenztheit von SQL Abfragen in VB beschwert, der soll es mal mit ASP Programmierung versuchen, damit schlag ich mich gerade herum und es ist zum Haare raufen. :-(


Tipp-Download

Quelle : Stephan / SWMedici@aol.com

Zurück zur Übersichtsseite