Hallo liebe Forumsmitglieder,
ich versuche, eine Access DB auf einer Windows Form darzustellen. Die meisten Felder sind nur durch Option Buttons darzustellen (immer 5 Buttons pro Gruppe)
Es handelt sich um einen Fragebogen, der 6 Seiten umfasst. Ich würde gerne ein TabControl und darin eine TabPage pro Seite nehmen, damit das alles übersichtlich bleibt. Jetzt mein Problem: ich krieg's nicht gebacken, beim TabPage-Wechsel die OptionButtons wieder richtig zu befüllen!!! Ich verwende eine parametrisierte Abfrage und im Form_Load definiere ich die Ereignisprozedur, die die OptionButtons füllt.Sub Form_Load
......
AddHandler Me.BindingContext(dv).PositionChanged, AddressOf Datensatz_Ändern
Me.Datensatz_Ändern(dv, New System.EventArgs)
End Sub
Private Sub Datensatz_Ändern(ByVal sender As Object, ByVal e As _
System.EventArgs)
'aktuellen DS ermitteln...
'Dim dblPos As Double = Me.BindingContext(dv).Position
dblPos = Me.BindingContext(dv).Position
'und in der Navigationsliste anzeigen
Me.lblPos.Text = (dblPos + 1).ToString & " von " & dv.Count
'Steuerelemente an Tabellenfelder binden
'RadioButtons befüllen
With Me
.rbtGeschlecht1.Checked = (dv.Item(dblPos).Item("PE1") = 1)
.rbtGeschlecht2.Checked = (dv.Item(dblPos).Item("PE1") = 2)
.rbtWahl1.Checked = (dv.Item(dblPos).Item("PE2") = 1)
.rbtWahl2.Checked = (dv.Item(dblPos).Item("PE2") = 2)
.rbtWahl3.Checked = (dv.Item(dblPos).Item("PE2") = 3)
.rbtWahl4.Checked = (dv.Item(dblPos).Item("PE2") = 4)
.rbtWahl5.Checked = (dv.Item(dblPos).Item("PE2") = 5)
.rbtWahl6.Checked = (dv.Item(dblPos).Item("PE2") = 6)
End With
'Funktionsaufruf für alle GroupBoxes mit 5 RadioButtons
'Übergabeparameter GroupBox, DB-Feld
RadioButton_Aktivieren(grpML1, "ML1")
RadioButton_Aktivieren(grpML2, "ML2")
RadioButton_Aktivieren(grpML3, "ML3")
RadioButton_Aktivieren(grpML4, "ML4")
RadioButton_Aktivieren(grpML5, "ML5")
RadioButton_Aktivieren(grpML6, "ML6")
RadioButton_Aktivieren(grpML7, "ML7")
RadioButton_Aktivieren(grpML8, "ML8")
RadioButton_Aktivieren(grpML9, "ML9")
RadioButton_Aktivieren(grpML10, "ML10")
RadioButton_Aktivieren(grpML11, "ML11")
RadioButton_Aktivieren(grpML12, "ML12")
......
End Sub
Function RadioButton_Aktivieren(ByVal ctl As GroupBox, ByVal strFeld As String)
Dim i As Integer
Dim dblPos As Double
Dim rad As RadioButton
i = 5
For Each rad In ctl.Controls
rad.Checked = (dv.Item(dblPos).Item(strFeld) = i)
i = i - 1
Next
End Function Wenn ich auf der ersten TabPage navigiere, werden die OptionButtons richtig befüllt.
Wechsle ich auf die zweite TabPage, werden sie aber nicht mehr angepasst, sondern bleiben wie im 1. DS.
BIN ICH VÖLLIG AUF DEM FALSCHEN DAMPFER??!!
Für ein paar Tipps wäre ich euch wirklich dankbar.
Viele Grüsse
Christina |