You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

253 lines
8.6 KiB

Public Class clsStammdaten_Bez
Dim spalten As New Tabellenspalte
Dim m_connectionstring As String
Property Connectionstring As String
Get
Return m_connectionstring
End Get
Set(value As String)
m_connectionstring = value
End Set
End Property
Dim m_tablename_left As String
Property Tablename_left As String
Get
Return m_tablename_left
End Get
Set(value As String)
m_tablename_left = value
get_data_left()
Me.GroupBox1.Text = value
End Set
End Property
Dim m_tablename_right As String
Property Tablename_right As String
Get
Return m_tablename_right
End Get
Set(value As String)
m_tablename_right = value
get_data_right()
Me.GroupBox2.Text = value
If value = "Tarif" Or value = "Dentotar" Then
Me.ToolStrip2.Visible = True
If value = "Tarif" Then KeyField_right = "nrtarif"
If value = "Dentotar" Then KeyField_right = "LeistungNrNeu"
Else
Me.ToolStrip2.Visible = False
End If
End Set
End Property
Dim m_tablename_bottom As String
Property Tablename_bottom As String
Get
Return m_tablename_bottom
End Get
Set(value As String)
m_tablename_bottom = value
get_data_bottom()
Me.GroupBox3.Text = value
Refresh_Bottom()
End Set
End Property
Dim m_keyfield_left As String
Property KeyField_left As String
Get
Return m_keyfield_left
End Get
Set(value As String)
m_keyfield_left = value
End Set
End Property
Dim m_keyfieldbez_left As String
Property Keyfieldbez_left As String
Get
Return m_keyfieldbez_left
End Get
Set(value As String)
m_keyfieldbez_left = value
End Set
End Property
Dim m_keyfield_right As String
Property KeyField_right As String
Get
Return m_keyfield_right
End Get
Set(value As String)
m_keyfield_right = value
End Set
End Property
Dim m_keyfieldbez_right As String
Property Keyfieldbez_right As String
Get
Return m_keyfieldbez_right
End Get
Set(value As String)
m_keyfieldbez_right = value
End Set
End Property
Dim db_left As New clsDB
Dim db_right As New clsDB
Dim db_bottom As New clsDB
Dim Focus_Left As Boolean = True
Private Sub get_data_left()
Try
db_left.dsDaten.Tables.Clear()
db_left.Get_Tabledata(Me.Tablename_left)
Me.c1Datenleft.DataSource = db_left.dsDaten.Tables(0)
spalten.Spaltentitel_aktualisieren(Me.c1Datenleft, Me.Tablename_left, db_left.dsDaten.Tables(0))
Catch
End Try
End Sub
Private Sub get_data_right()
Try
db_right.dsDaten.Tables.Clear()
db_right.Get_Tabledata(Me.Tablename_right)
Me.c1DatenRight.DataSource = db_right.dsDaten.Tables(0)
spalten.Spaltentitel_aktualisieren(Me.c1DatenRight, Me.Tablename_right, db_right.dsDaten.Tables(0))
Catch
End Try
End Sub
Private Sub get_data_bottom(Optional wherestatement As String = "")
Try
db_bottom.dsDaten.Tables.Clear()
db_bottom.Get_Tabledata(Me.Tablename_bottom, wherestatement)
Me.c1DatenBottom.DataSource = db_bottom.dsDaten.Tables(0)
spalten.Spaltentitel_aktualisieren(Me.c1DatenBottom, Me.Tablename_bottom, db_bottom.dsDaten.Tables(0))
Me.C1DropDownLeft.DataSource = db_left.dsDaten.Tables(0)
Me.C1DropDownLeft.DisplayMember = Me.Keyfieldbez_left
Me.C1DropDownLeft.ValueMember = Me.KeyField_left
Me.c1DatenBottom.Columns(Me.KeyField_left).DropDown = Me.C1DropDownLeft
Me.C1DropDownLeft.ValueTranslate = True
Me.C1DropDownLeft.DisplayColumns(0).Width = 0
Me.c1DatenBottom.Columns(Me.KeyField_left).ValueItems.Translate = True
Me.C1DropDownRight.DataSource = db_right.dsDaten.Tables(0)
Me.C1DropDownRight.DisplayMember = Me.Keyfieldbez_right
Me.C1DropDownRight.ValueMember = Me.KeyField_right
Me.c1DatenBottom.Columns(Me.KeyField_right).DropDown = Me.C1DropDownRight
Me.C1DropDownRight.ValueTranslate = True
Me.C1DropDownRight.DisplayColumns(0).Width = 0
Me.c1DatenBottom.Columns(Me.KeyField_right).ValueItems.Translate = True
Catch ex As Exception
End Try
End Sub
Private Sub clsStammdaten_Bez_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.BtnFocusRight.Left = Me.Panel1.Width - 10 - Me.BtnFocusRight.Width
Me.BtnVerbinden.Left = Me.SplitContainer2.SplitterDistance - (Me.BtnVerbinden.Width / 2)
clsStammdaten_Bez_Resize(sender, e)
End Sub
Private Sub clsStammdaten_Bez_Resize(sender As Object, e As EventArgs) Handles Me.Resize
Me.BtnFocusRight.Left = Me.Panel1.Width - 10 - Me.BtnFocusRight.Width
Me.BtnVerbinden.Left = Me.SplitContainer2.SplitterDistance - (Me.BtnVerbinden.Width / 2)
End Sub
Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked
End Sub
Private Sub BtnFocusLeft_Click(sender As Object, e As EventArgs) Handles BtnFocusLeft.Click
Me.Focus_Left = True
refresh_bottom()
End Sub
Private Sub BtnFocusRight_Click(sender As Object, e As EventArgs) Handles BtnFocusRight.Click
Me.Focus_Left = False
Refresh_Bottom()
End Sub
Sub Refresh_Bottom()
Try
Dim s As String
If Me.Focus_Left Then
s = " where " + Me.KeyField_left + "=" + Me.c1Datenleft.Columns(KeyField_left).Value.ToString
Else
s = " where " + Me.KeyField_right + "=" + Me.c1DatenRight.Columns(KeyField_right).Value.ToString
End If
Me.get_data_bottom(s)
Catch
End Try
End Sub
Private Sub c1Datenleft_RowColChange(sender As Object, e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles c1Datenleft.RowColChange, c1DatenRight.RowColChange
If db_bottom.dsDaten.HasChanges Then
If MsgBox("Daten wurden verändert. Wollen Sie diese speichern?", MsgBoxStyle.YesNo + vbQuestion) = MsgBoxResult.Yes Then
db_bottom.Update_Data()
End If
End If
Refresh_Bottom()
End Sub
Private Sub C1DatenBottom_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles c1DatenBottom.AfterColUpdate
Dim i As Integer
For i = 0 To Me.C1DatenBottom.Columns.Count - 1
If LCase(Me.C1DatenBottom.Columns(i).DataField) = "mutiert_am" Then Me.C1DatenBottom.Columns(i).Value = Now
If LCase(Me.c1DatenBottom.Columns(i).DataField) = "mutierer" Then Me.c1DatenBottom.Columns(i).Value = Globals.ActUser
Next
End Sub
Private Sub BtnVerbinden_Click(sender As Object, e As EventArgs) Handles BtnVerbinden.Click
Dim s As String
If Me.GroupBox2.Text = "Dentotar" Then
s = Me.c1DatenRight.Columns(KeyField_right).Value
s = s.Replace(".", "")
If Len(s) < 5 Then
MsgBox("Bitte wählen Sie eine Tarifpostionen mit einer 5-stelligen Nummer")
Exit Sub
End If
End If
Dim r As DataRow
r = db_bottom.dsDaten.Tables(0).NewRow
If Me.GroupBox2.Text = "Dentotar" Then
r("Dentotar") = True
r("nrtarif") = s
Else
r("Dentotar") = False
r(KeyField_right) = Me.c1DatenRight.Columns(KeyField_right).Value
End If
r(KeyField_left) = Me.c1Datenleft.Columns(KeyField_left).Value
r("erstellt_am") = Now
r("mutiert_am") = Now
r("mutierer") = Globals.actuser
r("aktiv") = True
db_bottom.dsDaten.Tables(0).Rows.Add(r)
db_bottom.Update_Data()
Refresh_Bottom()
End Sub
Private Sub ToolStripButton5_Click(sender As Object, e As EventArgs) Handles ToolStripButton5.Click
db_bottom.Update_Data()
End Sub
Private Sub btnStandard_Click(sender As Object, e As EventArgs) Handles btnStandard.Click
Me.Tablename_right = "Tarif"
End Sub
Private Sub btnDentotar_Click(sender As Object, e As EventArgs) Handles btnDentotar.Click
Me.Tablename_right = "Dentotar"
End Sub
End Class