📄 frmddform.vb
字号:
Call SetReadOnly(False)
Me.Button4.Enabled = True
End Sub
Public Function ClearCS()
If IndexOfTabSelected = 0 Then
Me.TextBox1.Text = "" : Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
Me.TextBox4.Text = "" : Me.CheckBox1.Checked = False
ElseIf IndexOfTabSelected = 1 Then
Me.TextBox3.Text = "" : Me.TextBox4.Text = ""
Me.TextBox5.Text = "" : Me.TextBox6.Text = ""
Me.TextBox7.Text = "" : Me.TextBox8.Text = ""
End If
'
End Function
Public Function AddNewCS()
Dim NDR As DataRow
NDR = DS.Tables.Item(0).NewRow
NDR.Item(0) = Me.TextBox1.Text
NDR.Item(1) = Me.TextBox2.Text
NDR.Item(2) = Me.TextBox3.Text
NDR.Item(3) = Me.TextBox4.Text
NDR.Item(4) = Me.CheckBox1.Checked
DS.Tables.Item(0).Rows.Add(NDR)
Dim dr As DataRow
Dim TFDoor As Integer = 0
For Each dr In DS.Tables.Item(0).Rows
If dr.Item(4) = True Then
TFDoor += 1
Else
TFDoor = TFDoor
End If
If TFDoor >= 2 Then
MessageBox.Show("不能同时设置两个收费站为当地收费站。", _
"添加失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
DS.Tables.Item(0).Rows.Remove(NDR)
Exit Function
End If
Next
Call UpdateDB(DS)
MessageBox.Show("已经成功添加了一个新的收费站。", "添加成功", _
MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Function
Public Function AddNewStd()
Dim myStdDR As DataRow
Dim NewSTD As CSStd
Try
NewSTD.VhCode = Me.TextBox5.Text
NewSTD.VhName = Me.TextBox6.Text
NewSTD.ChMoney = CSng(Me.TextBox7.Text)
NewSTD.Explain = Me.TextBox8.Text
NewSTD.SDate = Me.DateTimePicker1.Value
NewSTD.EDate = Me.DateTimePicker2.Value
myStdDR = StdDS.Tables.Item(0).NewRow
myStdDR.Item(0) = NewSTD.VhCode
myStdDR.Item(1) = NewSTD.VhName
myStdDR.Item(2) = NewSTD.ChMoney
myStdDR.Item(3) = NewSTD.Explain
myStdDR.Item(4) = NewSTD.SDate
myStdDR.Item(5) = NewSTD.EDate
StdDS.Tables.Item(0).Rows.Add(myStdDR)
Dim cmdb As OleDbCommandBuilder
Dim StdSQLstr As String
Try
cmdb = New OleDbCommandBuilder(MyDB)
StdSQLstr = "INSERT INTO CSStd([VhlCode],VhlName,ChgMoney,Explain,SDate,EDate) " & _
"VALUES('" & NewSTD.VhCode & "','" & NewSTD.VhName & "','" & NewSTD.ChMoney & "'," & _
"'" & NewSTD.Explain & "','" & NewSTD.SDate & "','" & NewSTD.EDate & "')"
Call SaveToTable(StdSQLstr)
Catch
MessageBox.Show(Err.Description)
End Try
MessageBox.Show("已经成功添加了一个新的收费标准。", "添加成功", _
MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Catch
MessageBox.Show(Err.Description)
End Try
End Function
Public Function DeleteCSDR()
Dim CSDR As DataRow
Dim key(1) As DataColumn
Dim CSCode As String = Me.TextBox1.Text
key(0) = DS.Tables.Item(0).Columns("CSCode")
DS.Tables.Item(0).PrimaryKey = key
CSDR = DS.Tables.Item(0).Rows.Find(CSCode)
CSDR.Delete()
Dim CSSQLstr As String
CSSQLstr = "DELETE FROM CSInfo WHERE (CSCode = '" & CSCode & "')"
'定义并设置删除当前行的SQL语句,并保存到数据库中
Call SaveToTable(CSSQLstr)
End Function
Public Function DeleteSTD()
Dim STDDR As DataRow
Dim key(1) As DataColumn
Dim myStd As String = Me.TextBox5.Text
key(0) = StdDS.Tables.Item(0).Columns("VhlCode")
StdDS.Tables.Item(0).PrimaryKey = key
STDDR = StdDS.Tables.Item(0).Rows.Find(myStd)
STDDR.Delete()
Dim STDSQLstr As String
STDSQLstr = "DELETE FROM CSStd WHERE (VhlCode = '" & myStd & "')"
'定义并设置删除当前行的SQL语句,并保存到数据库中
Call SaveToTable(STDSQLstr)
End Function
Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms. _
ToolBarButtonClickEventArgs) _
Handles ToolBar1.ButtonClick
Select Case Me.ToolBar1.Buttons.IndexOf(e.Button)
Case 0
CSCount.Index = 0
StdCount.Index = 0
If IndexOfTabSelected = 0 Then
Call ShowCSInfo(CSCount.Index)
ElseIf IndexOfTabSelected = 1 Then
Call ShowCSStd(StdCount.Index)
End If
'如果是第一个,则显示第一项记录
Case 1
If IndexOfTabSelected = 0 Then
CSCount.Index -= 1
If CSCount.Index < 0 Then
MessageBox.Show("已经到了第一项记录了。", "提示信息", _
MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
CSCount.Index = 0
End If
Call ShowCSInfo(CSCount.Index)
ElseIf IndexOfTabSelected = 1 Then
StdCount.Index -= 1
If StdCount.Index < 0 Then
MessageBox.Show("已经到了第一项记录了。", "提示信息", _
MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
StdCount.Index = 0
End If
Call ShowCSStd(StdCount.Index)
End If
'显示前一项记录,并判断是否已经到了第一项纪录
Case 2
If IndexOfTabSelected = 0 Then
CSCount.Index += 1
If CSCount.Index > CSCount.Count Then
MessageBox.Show("已经到了最后一项记录了。", "提示信息", _
MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
CSCount.Index = CSCount.Count
End If
Call ShowCSInfo(CSCount.Index)
ElseIf IndexOfTabSelected = 1 Then
StdCount.Index += 1
If StdCount.Index > StdCount.Count Then
MessageBox.Show("已经到了最后一项记录了。", "提示信息", _
MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
StdCount.Index = StdCount.Count
End If
Call ShowCSStd(StdCount.Index)
End If
'显示后一项记录,并判断是否已经到了最后一项纪录
Case 3
CSCount.Index = CSCount.Count
StdCount.Index = StdCount.Count
If IndexOfTabSelected = 0 Then
Call ShowCSInfo(CSCount.Index)
ElseIf IndexOfTabSelected = 1 Then
Call ShowCSStd(StdCount.Index)
End If
'显示最后一条记录信息
Case 5
Me.Close()
End Select
End Sub
Private Sub frmDDForm_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles MyBase.Load
Call GetStationInfo()
Call ShowCSInfo(0)
Call GetStandardInfo()
Call ShowCSStd(0)
Call SetReadOnly(True)
End Sub
Private Sub TabControl1_SelectedIndexChanged(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles TabControl1.SelectedIndexChanged
Me.TabPage1.TabIndex = 0
Me.TabPage2.TabIndex = 1
IndexOfTabSelected = Me.TabControl1.SelectedIndex
End Sub
Public Function SetReadOnly(ByVal IsReadOnly As Boolean)
If IndexOfTabSelected = 0 Then
Me.TextBox1.ReadOnly = IsReadOnly : Me.TextBox2.ReadOnly = IsReadOnly
Me.TextBox3.ReadOnly = IsReadOnly
Me.TextBox4.ReadOnly = IsReadOnly : Me.GroupBox3.Enabled = Not IsReadOnly
ElseIf IndexOfTabSelected = 1 Then
Me.TextBox3.ReadOnly = IsReadOnly
Me.TextBox5.ReadOnly = IsReadOnly : Me.TextBox6.ReadOnly = IsReadOnly
Me.TextBox7.ReadOnly = IsReadOnly : Me.TextBox8.ReadOnly = IsReadOnly
Me.DateTimePicker1.Enabled = Not IsReadOnly
Me.DateTimePicker2.Enabled = Not IsReadOnly
End If
End Function
Private Sub Button4_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button4.Click
If IndexOfTabSelected = 0 Then
Call AddNewCS()
Call SetReadOnly(True)
Call GetStationInfo()
ElseIf IndexOfTabSelected = 1 Then
Call AddNewStd()
Call SetReadOnly(True)
Call GetStandardInfo()
End If
Me.Button4.Enabled = False
'添加一行新记录
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button2.Click
If IndexOfTabSelected = 0 Then
Call ModifyCS()
ElseIf IndexOfTabSelected = 1 Then
Call ModifySTD()
End If
Me.CheckBox2.Checked = True
'修改当前记录
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button3.Click
If IndexOfTabSelected = 0 Then
Call DeleteCSDR()
Call SetReadOnly(True)
Call GetStationInfo()
Call ShowCSInfo(CSCount.Count)
ElseIf IndexOfTabSelected = 1 Then
Call DeleteSTD()
Call SetReadOnly(True)
Call GetStandardInfo()
Call ShowCSStd(StdCount.Count)
End If
'删除记录
End Sub
Public Function ModifySTD()
Dim MSTDSQLstr As String
Dim STDDR As DataRow
Dim STDKey(1) As DataColumn
Dim STDCode As CSStd
STDCode.VhCode = Me.TextBox5.Text
STDCode.VhName = Me.TextBox6.Text
STDCode.ChMoney = CSng(Me.TextBox7.Text)
STDCode.Explain = Me.TextBox8.Text
STDCode.SDate = Me.DateTimePicker1.Value
STDCode.EDate = Me.DateTimePicker2.Value
STDKey(0) = StdDS.Tables.Item(0).Columns("VhlCode")
StdDS.Tables.Item(0).PrimaryKey = STDKey
STDDR = StdDS.Tables.Item(0).Rows.Find(STDCode.VhCode)
MSTDSQLstr = "UPDATE CSStd SET VhlName = '" & STDCode.VhName & "', " & _
"ChgMoney = '" & STDCode.ChMoney & " ',Explain = '" & STDCode.Explain & "', " & _
"SDate= '" & STDCode.SDate & " ',EDate = '" & STDCode.EDate & "' " & _
"WHERE (VhlCode = '" & STDCode.VhCode & "')"
Call SaveToTable(MSTDSQLstr)
MessageBox.Show("已经成功的修改了该条记录。", _
"修改成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Function
Public Function ModifyCS()
Dim MCSSQLstr As String
Dim CSDR As DataRow
Dim CSKey(1) As DataColumn
Dim CSCode As CSInfo
Dim local As Integer
'定义变量
CSCode.Code = Me.TextBox1.Text
CSKey(0) = DS.Tables.Item(0).Columns("CSCode")
DS.Tables.Item(0).PrimaryKey = CSKey
CSDR = DS.Tables.Item(0).Rows.Find(CSCode.Code)
'设置主键
CSCode.Name = Me.TextBox2.Text
CSCode.No = Me.TextBox3.Text
CSCode.Distance = Me.TextBox4.Text
CSCode.IsLocal = Me.CheckBox1.Checked
If CSCode.IsLocal = True Then
local = 1
Else
local = 0
End If
MCSSQLstr = "UPDATE CSInfo SET CSName = '" & CSCode.Name & "', " & _
"CSNo = '" & CSCode.No & " ',Distance= '" & CSCode.Distance & "', " & _
"IsLocal= '" & local & " ' WHERE (CSCode = '" & CSCode.Code & "')"
'设置修改的SQL语句
Call SaveToTable(MCSSQLstr)
'保存修改
MessageBox.Show("已经成功的修改了该条记录。", _
"修改成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Function
Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles CheckBox2.CheckedChanged
Call SetReadOnly(Me.CheckBox2.Checked)
'设置是否只读
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button5.Click
Me.Close()
'退出设置
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -