vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB & Datenbanken
VB + 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
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
VB + Access + SQL1.093VBMichi14.03.06 22:07
Re: VB + Access + SQL675Zero-G.15.03.06 09:35
Re: VB + Access + SQL664VBMichi15.03.06 12:31
Re: VB + Access + SQL630Zero-G.15.03.06 12:41
Re: Lösung mit DAO682me3683530.03.06 13:23

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-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