vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Re: SQL-Abfrage 
Autor: me36835
Datum: 07.06.05 21:35

Hallo,

auch wenn ich vielleicht ein bisserl spät meinen Senf dazu gebe, aber ich würds so versuchen:

Private Sub Command1_Click()
Dim Ssql as String
 
Ssql="SELECT * FROM [kundenstammdaten] "
 
' Wenn Du keine Bedingung hast, die Du immer brauchst, nimm diese:
 
Ssql=Ssql & " WHERE 1=1" ' 1=1 ist immer Wahr
 
' ein keiner Dummy, um nicht den Übergang von
' WHERE-Schlüsselwort auf AND-Schlüsselwort
' irgendwie im Code regeln zu müssen
 
If Len(Trim(txtVorname.Text) ) >1 Then
     Ssql=Ssql & " AND [vorname] LIKE '" & Trim(txtVorname.Text) & "%'"
End If
 
If Len(Trim(txtName.Text))>1 Then
     Ssql=Ssql & " AND [name] LIKE '" & Trim(txtName.Text) & "%'"
End If
 
End Sub
Und richtig Cool finde ich so etwas, wenn noch mehr Textfelder hinzukommen:

Private Sub Command1_Click()
Dim Ssql as String
Dim Ctrl as Control ' unter VBA: MSforms.Control
 
Ssql="SELECT * FROM [kundenstammdaten] "
Ssql=Ssql & " WHERE 1=1" ' 1=1 ist immer Wahr
 
' bis hier hin wie oben
 
For Each Ctrl In FrmAuswahl.Controls
     If Ctrl.Type= vbTextfeld Then
' vbTextFeld - siehe Anmerkung 1
          If Len(Trim(Ctrl.Text) ) >1 Then
               Ssql=Ssql & " AND [" & Mid(Ctrl.name,4) & "] LIKE '" & Trim( _
                 Ctrl.Text) & "%'"
' Ctrl.name - siehe Anmerkung 2
          End If
     End If
Next Ctrl
End Sub
Anmerkung 1
Welcher Zahlwert dem Control Type "Textfeld" entspricht, musst Du selber rauskriegen.
Ich arbeite in VBA und da gehts mit MSforms und der Konstanten acCommandButton für den CommandButton.
Alternativ kann man auch auf Ctrl.Name Like "txt*" oder Left(Ctrl.Name,3)="txt" abfragen.

Anmerkung 2
Mid(Ctrl.name,4) geht natürlich nur dann, wenn die Textfeldnamen, wie in dem o.g. Beispiel mit den Tabellenfeld Bezeichnern ab Position 4 übereinstimmen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SQL-Abfrage1.577tYphOon04.06.05 15:12
Re: SQL-Abfrage1.153StoneX04.06.05 16:22
Re: SQL-Abfrage1.247wincnc04.06.05 16:33
Re: SQL-Abfrage1.047tYphOon05.06.05 13:54
Re: SQL-Abfrage1.091StoneX06.06.05 08:09
Re: SQL-Abfrage1.059tYphOon06.06.05 21:16
Re: SQL-Abfrage1.189me3683507.06.05 21:35
Re: SQL-Abfrage1.078tYphOon08.06.05 06:17

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel