Forum: Visual Basic |
Thema:
Combo mit Datenbankfeld füllen |
Von:
G. Guest (
21.10.2005 00:48) |
Hi,
ich habe heute ein kleines Problem, mit dem wir nicht zurecht kommen.
In der Schule schreiben wir ein kleines Datenbank Programm mit VB6.
Die Datenbank sieht folgendermassen aus;
Kunde (Adresse)
Lieferadresse (Adresse)
Der Kunde hat mehrere Lieferadressen
Es soll Combo1 mit den Namen des Kunden gefüllt werden, soweit kein Problem.
Combo2 soll mit dem Namen der Lieferadressen gefüllt werden, soweit auch kein Problem.
Das Problem fängt allerdings dann an, wenn man einen Namen in Combo1 anwählt, Combo2
soll jetzt nurnoch die Namen der Lieferadressen zum zum passenden Kunden enthalten.
In Form_Load steht folgender Code
Set dbl = wsl.OpenDatabase(App.Path & "\datenbank.mdb")
Set rsl = dbl.OpenRecordset("SELECT * FROM VersandAdresse order by name", dbOpenDynaset)
Set rsk = dbl.OpenRecordset("SELECT * FROM Adressen order by name", dbOpenDynaset)
dann werden die beiden Combos gefüllt;
If Not rsl.BOF And Not rsl.EOF Then
rsl.MoveFirst
Do While Not rsl.EOF
comname.AddItem rsl!Name
rsl.MoveNext
Loop
End If
If comname.ListCount > 0 Then
comname.ListIndex = 0
End If
If Err <> 0 Then
Debug.Print Err.Number & " " & Err.Description
End If
'______________________________________________________________________________________
'On Error Resume Next
If Not rsk.BOF And Not rsk.EOF Then
rsk.MoveFirst
Do While Not rsk.EOF
ComName2.AddItem rsk!Name
rsk.MoveNext
Loop
End If
If ComName2.ListCount > 0 Then
ComName2.ListIndex = 0
End If
If Err <> 0 Then
Debug.Print Err.Number & " " & Err.Description
End If
'________________________________________________________________________________________
Und schließlich der Klick auf Combo1(ComName2)
Dim strSearchString As String
If ComName2.ListIndex > -1 Then
strSearchString = ComName2.List(ComName2.ListIndex)
rsk.MoveFirst
If Not rsk.BOF And Not rsk.EOF Then
rsk.FindFirst "Name LIKE '" & strSearchString & "'"
If Not rsk.NoMatch Then
txtFirma.Text = "" & rsk!Firma
txtEmpfänger.Text = "" & rsk!Name
txtStrasse.Text = "" & rsk!Strasse
txtLand.Text = "" & rsk!land
txtOrt.Text = "" & rsk!Ort
txtPlz.Text = "" & rsk!Plz
Else
txtFirma.Text = ""
txtEmpfänger.Text = ""
txtStrasse.Text = ""
txtLand.Text = ""
txtOrt.Text = ""
txtPlz.Text = ""
End If
End If
End If
Was muß ich machen, das jetzt Combo2 nur noch die Namen der Lieferadressen anzeigt die
zum Kunden richtigen Kunden gehören ???
Für Eure Hilfe wäre ich sehr dankbar.
Gruß
Katharina
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!