| |

Visual-Basic EinsteigerAbfrage 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 |  |
 | 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 |
  |
|
sevGraph (VB/VBA) 
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 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
|
|