Hallo Forum
Ich scheitere kläglich an folgendem Code.
In einer Datenbank habe ich die Tabellen
Länder
Bundesländer
Hauptstadt
mit den entsprechenden Datensätzen.
Beziehungen:
1:n referentielle Intergrität
Nun soll nach Auswahl der ersten Combobox(Laender) die dazugehörigen Bundesländer in der 2. Combobox zur Auswahl zur Verfügung stehen. In der 3. dann die Hauptstädte.
Nun mache ich aber irgendein Fehler beim Binden der Daten.
An dieser Stelle erhalte ich den Fehler.
Binde ich falsch, muss ich evtl das ganze anders angehen
.DataBindings.Add("SelectedValue", Combo1, "LandID") Wenn ich es rauskomentiere werden alle Datensätze der entsprechenden Tabelle angezeigt.
Was mach ich falsch?
Hier mein Code:
Imports System.Data.OleDb
Public Class Form1
Private conn As OleDbConnection = Nothing
Private daLA As OleDbDataAdapter = Nothing
Private daBL As OleDbDataAdapter = Nothing
Private daSt As OleDbDataAdapter = Nothing
Private ds As DataSet = Nothing
Private WithEvents Combo1 As ComboBox
Private WithEvents Combo2 As ComboBox
Private WithEvents Combo3 As ComboBox
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
Dim Daten As String
Daten = Application.StartupPath & "\Daten.mdb"
conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data" & _
"Source=I:\Daten.mdb") ' & DatenBank)
daLA = New OleDbDataAdapter("SELECT ID, Land FROM Laender ORDER BY" & _
"Land", conn)
daBL = New OleDbDataAdapter("SELECT ID, LandID, BL FROM Bundeslaender", _
conn)
daSt = New OleDbDataAdapter("SELECT ID, Stadt FROM Hauptstadt", conn)
ds = New DataSet
Combo1 = New ComboBox
With Combo1
.Font = New Font("Tahoma", 12)
.SetBounds(10, 10, 150, .Height)
.DropDownStyle = ComboBoxStyle.DropDownList
End With
Me.Controls.Add(Combo1)
Combo2 = New ComboBox
With Combo2
.Font = Combo1.Font
.SetBounds(10, 90, 180, .Height)
.DropDownStyle = ComboBoxStyle.DropDownList
End With
Me.Controls.Add(Combo2)
Combo3 = New ComboBox
With Combo3
.Font = Combo1.Font
.SetBounds(10, 170, 220, .Height)
.DropDownStyle = ComboBoxStyle.DropDownList
End With
Me.Controls.Add(Combo3)
Try
conn.Open()
daLA.Fill(ds, "Laender")
daBL.Fill(ds, "Bundeslaender")
daSt.Fill(ds, "Hauptstadt")
conn.Close()
With Combo1
.DataSource = ds.Tables("Laender")
.DisplayMember = "Land"
.ValueMember = "ID"
End With
With Combo2
.DataSource = ds.Tables("Bundeslaender")
.DisplayMember = "BL"
.ValueMember = "LandID"
' .DataBindings.Add("SelectedValue", Combo1, "LandID")
End With
With Combo3
.DataSource = ds.Tables("Hauptstadt")
.DisplayMember = "Stadt"
.ValueMember = "ID"
'.DataBindings.Add("SelectedValue", Combo2, "ID")
End With
Catch ex As Exception
MessageBox.Show(ex.Message, "Fehler")
End Try
End Sub
End Class für Eure Hilfe im Voraus danke
Gruß Rudi |