vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 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

Visual-Basic Einsteiger
Abfrage von Suchergebnissen in einer Datenbank 
Autor: gaminator
Datum: 18.06.10 21:28

Hallo zusammen. Lange ists her.

Ich arbeite immer noch für meine mündliche Prüfung in Datenverarbeitung, die ich am Dienstag hab, an einem Programm. Leider gibts bei mir inzwischen wieder so ein Moment, wo ich einen Balken vor dem Kopf habe.

Und zwar soll aus einer Datenbank die folgendermaßen aussieht, alle Ergebnisse in einem Spektrum von 5 Wörtern in einem Listenfeld angezeigt werden.



Das Problem vor dem ich stehe ist, dass das erste Ergebniss zwar richtig ausgegeben wird, jedoch nicht die weiteren. Stattdessen wiederholt sich das Suchergebniss je nach Anzahl der Treffer.




Hoffentlich gibt es jemand der mir weiterhelfen kann!! Theoretisch müsste das Programm ja korrekt laufen...jedenfalls nach meiner Logik D:


Hier der Quellcode dazu, falls das weiterhilft:

Option Explicit
Dim mdbTexte As Database
Dim tbSammlung As Recordset
Dim dySuche As Recordset
 
Private Sub cmdSuche_Click()
Dim msql As String
Dim mWortpositionen As String
Dim mWortpositionAktuell As String
Dim mAnzahlVorkommen As Long
Dim mAusgabeText As String
 
Dim i As Integer
 
Set mdbTexte = OpenDatabase("Texte.mdb")
Set tbSammlung = mdbTexte.OpenRecordset("Sammlung", dbOpenTable)
 
msql = "SELECT * FROM Sammlung WHERE Wort=" & "'" & txtSuche.Text & "'"
Set dySuche = mdbTexte.OpenRecordset(msql, dbOpenDynaset)
 
 
'Datenbank nach Vorkommnissen durchsuchen und Wortpositionen zwischenspeichern
Do While Not dySuche.EOF
    If dySuche!Wort = txtSuche.Text Then
        'Wortpositionen der Suchergebnisse zwischenspeichern
        mWortpositionen = mWortpositionen & " " & CStr(dySuche!Index)
    End If
    dySuche.MoveNext
Loop
 
 
lblErgebnisseSaetze.Caption = mWortpositionen
 
'Anzahl der Suchergebnisse
mAnzahlVorkommen = UBound(Split(mWortpositionen, " "))
 
 
For i = 1 To mAnzahlVorkommen
 
'Falls es Suchergebnisse gibt, soll das aktuelle (i) ausgewählt werden
If Split(mWortpositionen, " ")(i) <> "" Then
    mWortpositionAktuell = Split(mWortpositionen, " ")(i)
End If
 
    'Die jeweiligen Suchergebnisse sollen ausgegeben werden
    Do While Not tbSammlung.EOF
        If tbSammlung!Index >= (mWortpositionAktuell - 5) And _
          tbSammlung!Index <= (mWortpositionAktuell + 5) Then
            mAusgabeText = mAusgabeText & " " & tbSammlung!Wort
        End If
        tbSammlung.MoveNext
    Loop
 
    lstSuchergebnisse.AddItem mAusgabeText
 
Next i
 
 
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Abfrage von Suchergebnissen in einer Datenbank829gaminator18.06.10 21:28
Re: Abfrage von Suchergebnissen in einer Datenbank550gaminator18.06.10 22: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