| |
Suche Visual-Basic CodeRe: Suche per SQL | | | Autor: Easyrider | Datum: 02.12.03 08:17 |
| Hallo Reinhard,
tut mir echt leid, aber das will nicht so wie es sollte. Ich hab zur Probe 4 Datensätze eingefügt ( "Haushalt, Hochhaus, Weinberg, Anfänger") und hab die SQL-Anweisung genau so abgeschrieben wie sie dort gestanden ist. Aber wenn ich nach "Haus" suche listet es mir wieder alle Datensätze auf....
Langsam bin ich am Verzweifeln. Das Programm sollte Freitag fertig werden und ich schaffs nicht...
P.S.: Kopf ist offen und wartet auf input! | |
Suche per SQL | | | Autor: Easyrider | Datum: 01.12.03 14:04 |
| Servus Leute,
ich hab hier ne Buchdatenbank, wo ich eine Suche implementieren muss. Komm aber ums verrecken (sry) nicht weiter! Bin wahrscheinlich zu blöd dafür. Hier der Code:
Private Sub cmdSuche_Click()
Dim db As Dao.Database
Dim rs As Recordset
Dim strDaten As String
strDaten = Me.txtSuche.Text
Set db = OpenDatabase("C:\Datenbanken\Bibliothekendatenbank\Bibliothek.mdb")
Set rs = db.OpenRecordset("SELECT Buchtitel FROM tblBücher WHERE Buchtitel LIKE '%strDaten%'")
If rs.NoMatch = True Then
Exit Sub
End If
Me.griSuche.Visible = True
rs.Close
db.Close
end sub
strDaten = Der Filter, nachdem gesucht werden soll. Wieso haut das nicht hin?
Bitte um Antwort, ich bin doch nur ein kleiner Azubi... | |
Re: Suche per SQL | | | Autor: RHS | Datum: 01.12.03 15:15 |
| Hallo Azubi
Set rs=db.OpenRecordset("SELECT Buchtitel FROM tblBücher
WHERE Buchtitel LIKE '%" & strDaten & "%'") sollte hinhauen.
- Reinhard - | |
Re: Suche per SQL | | | Autor: Easyrider | Datum: 01.12.03 16:54 |
| hallo Reinhard,
erstmal danke für die schnelle Antwort. sry, aber entweder ich bin zu dumm das zu checken oder ich bin zu dumm das zu checken.
Ich hab jetzt mal 3 Datensätze reingeschrieben. (Datensatz 1, Visual Basic 6, Microsoft C++). Egal nach welchem Buchstaben oder Zeichen ich suche, es kommen immer alle Datensätze.
Axo ja, und wie würde es gehen, wenn ich zum Beispiel das Wort Hochhaus habe und ich alle Datensätze auswählen möchte die "haus" beinhalten?
Kann mir den niemand den ganzen scheiss ins Hirn füttern? | |
Re: Suche per SQL | | | Autor: RHS | Datum: 01.12.03 17:22 |
| Hallo Stefan,
mein Beispiel müsste gehen ...
Wenn Du als Suchbegriff "haus" eingibst, wird "Hochhaus" oder auch "Haustür" im Feld Buchtitel gefunden (ähnlich wie DIR *haus*.* im DOS-Fenster).
>> Kann mir den niemand den ganzen scheiss ins Hirn füttern?
Kein Problem, klapp schon mal Deinen Kopf auf. Ich leg dann die SQL-CD ein ... .
- Reinhard - | |
Re: Suche per SQL | | | Autor: Easyrider | Datum: 02.12.03 10:08 |
| Hallo nochmal,
ich hab jetzt das data-object auf Tabelle anstatt dynaset umgestellt. wenn ich jetzt suche bekomm ich gar keinen Datensatz zu sehen....
mfg | |
Re: Suche per SQL | | | Autor: RHS | Datum: 02.12.03 10:09 |
| Hallo Stefan,
>> Aber wenn ich nach "Haus" suche listet es mir wieder alle Datensätze auf....
ich bin mir nicht sicher, weil ich das aus Deinem Code nicht erkennen kann, aber kann es sein, das Deinem Grid ein Recordset zu Grunde liegt, das alle DS beinhaltet? Normalerweise müsstest Du doch nach IF NOT rs.NoMatch ... das (Such)-Recordset dem Grid zuweisen ...
- Reinhard - | |
Re: Suche per SQL | | | Autor: Ne kölsche Jung | Datum: 06.12.03 20:08 |
| Hallo Azubi
Jetzt keine Ausreden mehr. Dieser Code ist geprüft und ist mit ADO und mit einem
Data-Object gelaufen
Hier mal die 3 Möglichkeiten mit denen Du einen Teilstring suchen kannst.
Zu suchen ist die Zeichenfolge 're'
1. Sucht nur am Ende eines Stings die zu suchene Zeichenfolge
"SELECT Name FROM Publishers WHERE Name LIKE '*" & suche & "' "
Z.B. Zigarre
2. Sucht nur am Anfang eines Stings die zu suchene Zeichenfolge
"SELECT Name FROM Publishers WHERE Name LIKE '" & suche & "*' "
Z.B Reinigung
2. Sucht in einem ganzen Stings die zu suchene Zeichenfolge.
"SELECT Name FROM Publishers WHERE Name LIKE '*" & suche & "*' "
Z.B Reinigung oder Zigarre oder Bereitschaft
Wenn Du jetzt nur zwei Buchstaben suchst, werden natürlich viele Buchtitel gefunden.
So, jetzt zum VB-Code. Kannst ihn ja mal Testen. Nur den richtigen Pfad eingeben.
MfG Jürgen
Private Sub Form_Load()
Dim db As Database
Dim rs As Recordset
Dim i As Integer
Dim suche As String
Show
suche = "Re"
Set db = Workspaces(0).OpenDatabase("C:\Programme\Microsoft Visual" & _
"Studio\VB98\BIBLIO.MDB")
Set rs = db.OpenRecordset("SELECT Name FROM Publishers WHERE Name LIKE '*" _
& suche & "*' ")
With rs
If .RecordCount > 0 Then
.MoveLast
.MoveFirst
End If
For i = 1 To .RecordCount
Me.Print !Name
.MoveNext
Next i
End With
End Sub | |
Re: Suche per SQL | | | Autor: Ne kölsche Jung | Datum: 06.12.03 20:12 |
| Nochmal Jürgen
Anstatt FOR NEXT nimmst Du
While Not .EOF
Me.Print !Name
.MoveNext
Wend Sieht sauberer aus.
Jürgen | |
Re: Suche per SQL | | | Autor: Easyrider | Datum: 08.12.03 12:42 |
| Danke ihr zwei. Funktioniert jetzt.
mfg Easy | |
| 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 |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevAniGif (VB/VBA)
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere Infos
|
|
|
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
|
|