vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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
Datenbank und Listbox 
Autor: Big Boy
Datum: 10.12.02 18:28

Hallo an Alle
Ich habe ein großes Problem mit einer Datenbank und hoffe einer nimmt sich für mich richtig Zeit um meine Probleme zu lösen.
Ich habe in Access eine Tabelle mit folgenen Spalten angelegt
Filmname;Art;Hauptdarsteller;FilmId.
In VB 6 Läuft die Datenbank in DAO.
Auf einer Form habe ich zwei Listboxen ein Fram worin sich drei Optionsbutton befinden.
Wenn ich den ersten oder den zweiten Optionsbutton betätige werden mir in der Listbox 1 die Filmnamen bzw. alle Hauptdarsteller angezeigt. Bei Außwahl eines Filmnamens oder eines Hauptdarstellers weden mir in Listbox 2 die entsprechenden Filme angezeigt.Soweit geht auch alles. Nur wenn ich den dritten Button betätige werden mir zwar in Listbox 1 alle Filmarten(z.B. Horror;Action;Zeichentrick usw.) angezeigt aber bei Außwahl einer Art passiert in Listbox 2 nichts. Es sollten in Listbox 2 eigentlich alle Filme der entsprechenden Art angezeit werden. Aber die Listbox 2 bleibt einfach leer WARUM ! ich weis einfach nicht weiter hier mein ensprechender Code.

 Private Sub List1_Click() 
Dim db As Database, rs As Recordset 
Set db = DBEngine.OpenDatabase(App.Path & "\Filme.mdb ", True) 
 
If Option3.Value Then 
Set rs = db.OpenRecordset("SELECT Distinct Filmname FROM Filme WHERE ART = '" & _
  List1.Text & "'", dbOpenDynaset) 
Else 
Set rs = db.OpenRecordset("SELECT Distinct Filmname FROM Filme WHERE" & _
  "Hauptdarsteller = '" & List1.Text & "'", dbOpenDynaset) 
End If 
If Option2.Value Then 
Set rs = db.OpenRecordset("SELECT Distinct Filmname FROM Filme WHERE" & _
  "Hauptdarsteller = '" & List1.Text & "'", dbOpenDynaset) 
Else 
Set rs = db.OpenRecordset("SELECT Filmname FROM Filme WHERE Filmname LIKE '" & _
  List1 & "*' ORDER BY Filmname", dbOpenDynaset) 
End If 
If List1 <> "0-9" Then 
List2.Clear 
Do While Not rs.EOF 
List2.AddItem rs!Filmname 
rs.MoveNext 
Loop 
Else 
Set rs = db.OpenRecordset("SELECT Filmname FROM Filme ORDER BY Filmname", _
  dbOpenDynaset) 
List2.Clear 
Do While Not rs.EOF 
If IsNumeric(Left(rs!Filmname, 1)) Then List2.AddItem rs!Filmname 
rs.MoveNext 
Loop 
 
End If 
End Sub 
rivate Sub Option1_Click() 
Option1 = True 
Option2 = False 
Option3 = False 
List1.Clear 
Dim a As Byte 
List1.AddItem "0-9" 
For a = 65 To 90 
List1.AddItem Chr(a) 
Next a 
End Sub 
 
 
 
Private Sub Option2_Click() 
 
Option1 = False 
Option2 = True 
Option3 = False 
List1.Clear 
Dim db As Database, rs As Recordset 
Set db = DBEngine.OpenDatabase(App.Path & "\Filme.mdb ", True) 
 
Set rs = db.OpenRecordset("SELECT DISTINCT hauptdarsteller FROM Filme ORDER BY" & _
  "Hauptdarsteller", dbOpenDynaset) 
 
Do While Not rs.EOF 
List1.AddItem rs!Hauptdarsteller 
rs.MoveNext 
Loop 
End Sub 
 
 
 
 
Private Sub Option3_Click() 
Option1 = False 
Option2 = False 
Option3 = True 
List1.Clear 
 
Dim db As Database, rs As Recordset 
Set db = DBEngine.OpenDatabase(App.Path & "\Filme.mdb ", True) 
 
Set rs = db.OpenRecordset("SELECT DISTINCT Art FROM Filme ORDER BY Art", _
  dbOpenDynaset) 
Do While Not rs.EOF 
 
List1.AddItem rs!Art 
rs.MoveNext 
Loop 
End Sub
Ich brauchte glaube ich eine Schleife die z.B wenn A nicht zutrift und/oder B nicht zutrift dann C nimmt. Oder habt ihr andere Ideen?
Wer kann mir bitte helfen
Mit freuntlichen Grüßen Big Boy
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datenbank und Listbox305Big Boy10.12.02 18:28
Re: Datenbank und Listbox143Big Boy12.12.02 00:14

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