| |

VB & DatenbankenVB + Access + SQL | |  | Autor: VBMichi | Datum: 14.03.06 22:07 |
| Hallo liebe Community.
Seit einigen Tagen habe ich eine Frage in der mir bisher niemand weiterhelfen konnte. Jetzt versuch ichs einfach mal hier ;) Vielleicht hab ich Glück!
Zum Thema:
Ich habe ein Programm mit nem Textfeld, ner ListBox und einem Button.
Derjenige der später das Programm bedienen soll schreibt einen Namen in das Textfeld und klickt auf den Button - falls der Datensatz in der Access-Tabelle (sie ist im selben Ordner wie das Programm - App Path) gefunden wird, gibt es alle Daten dieses Namen's aus (Adresse, voller Name usw.). Falls nicht, erscheint eine MsgBox mit dem Einschrieb: "Datensatz nicht gefunden.".
Um das Programm einen Tick zu verfeinern habe ich einfach einen kleinen Code eingebaut der den ersten Buchstaben des Suchbegriffs löscht, und durch den selben in groß ersetzt, damit also Groß und Kleinschreibung egal ist (bisher habe ich kein SQL gebraucht).
Jetzt möchte ich noch eine weitere Erleichterung einbauen:
Wenn der Benutzer versehentlich "üller" statt "Müller" schreibt soll mein Programm den Herr Müller trotzdem in der Access-Datenbank finden!
Um dieses Problem zu lösen kam mir nur die Idee es mit einem SQL (LIKE) Befehl zu gestalten.
SQL = "SELECT * FROM Vertreter WHERE VertreterNachname LIKE '%" & tfName.Text & _
"%'" oder
SQL = "SELECT * FROM Vertreter WHERE VertreterNachname LIKE '*" & tfName.Text & _
"*'" Wir ihr sehen könnt: den Befehl habe ich - nur weiß ich nicht richtig wie ich ihn einbauen soll.
Ich möchte dass das Programm folgendes macht:
- Wenn die Suche gestartet wird (und niemand in der Access-Liste gefunden wird der genauso heißt wie der Einschrieb im Textfeld) dann soll ein SQL Befehl kommen der die Anweisung gibt nach etwas Ähnlichem zu suchen um dann "Müller" statt "üller" zu finden.
- Wenn etwas Ähnliches gefunden wird soll es ganz normal wieder ausgegeben werden, falls nicht kommt wieder die Message Box von vorhin.
Die Problematik die ich habe ist die:
Wenn ich den SQL Befehl einbaue weiß ich nicht wie ich ihn später abfragen lasse - also ob er was gefunden hat oder nicht - und wie ich dann das was der SQL Befehl gefunden hat in meine Liste adden lassen kann.
Hoffe man versteht mich *G*
Falls du ICQ hast kannst du dich ja mal melden, das geht um einiges schneller: 253-416-177
PS: Ich geb euch jetzt grad noch einen Code eines kleinen Programmes dass das Problem beschreibt, wenn ihr mir anhand dieses Beispiels das Problem "klären" könntet wäre das supaaa toll!
Option Explicit
Dim mdbVertreter As Database
Dim tbVertreter As Recordset
Dim SQL As String
Dim sString As Variant
'
Private Sub cmdSuchen_Click()
sString = tfName.Text
sString = Replace(sString, Left(sString, 1), UCase(Left(sString, 1)), 1, 1)
tfName.Text = sString
Set mdbVertreter = OpenDatabase(App.Path + "/db1.mdb")
Set tbVertreter = mdbVertreter.OpenRecordset("Vertreter", dbOpenTable)
tbVertreter.MoveFirst
While Not tbVertreter.EOF
If tfName.Text = tbVertreter!VertreterNachname Then GoTo Gefunden _
Else tbVertreter.MoveNext
Wend
MsgBox ("Datensatz konnte leider nicht gefunden werden.")
Exit Sub
'
Gefunden:
lfListe.AddItem "gefunden"
End Sub Hoffe man blickt etwas durch, fand es so eigentlich ganz logisch.
Was müsste ich hier durch den SQL Befehl ersetzten und wie kann ich hier die oberigen Fragen klären??
Gruß,
Michi |  |
 | 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 |
  |
|
Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
Copyright ©2000-2025 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
|
|