?? frmbufpara.frm
字號:
Unload Me
End Sub
Private Sub cmdEnter_Click()
Call getdata '將數(shù)據(jù)寫入全局變量中
If Not dataCheck() Then '數(shù)據(jù)檢查,若數(shù)據(jù)檢查不通過
MsgBox ("請檢查數(shù)據(jù)") '則彈出提示對話框,退出目前運行的
Exit Sub '程序
End If
'根據(jù)處警form上的caption判斷action
Select Case Me.Caption
Case "刪除處警"
If MsgBox("是否確實要刪除該條處警參數(shù)", vbYesNo, "詢問") = vbYes Then
'將全局變量從listview中和數(shù)據(jù)庫中刪除
Call deleteBf
End If
Case "添加處警"
'將全局變量添加到listview和數(shù)據(jù)庫中
Call AddNew
Case "修改處警"
'將全局變量修改到listview和數(shù)據(jù)庫中
Call editBf
End Select
Unload Me
End Sub
Private Sub Form_Load()
Me.Top = (Screen.Height - Me.Height) / 2
Me.Left = (Screen.Width - Me.Width) / 2
Call Init '初始化
End Sub
'從form中的text等控件得到處警參數(shù)
Private Sub getdata()
gcjna = Trim$(Text1.Text) '處警名字
gcjnu = Trim$(Text2.Text) '處警編號
gcjic = Trim$(Text3.Text) '信息碼
gcjca = Trim$(Text4.Text) '撥號碼
If Option1.Value Then '端口性質
gcjpt = "串口"
Else
gcjpt = "并口"
End If
If Option3.Value Then '處警動作
gcjta = "發(fā)碼"
gcjca = "-"
Else
gcjta = "撥號"
gcjic = "-"
End If
End Sub
'參數(shù)初始化
Private Sub Init()
If chkLine = 0 Then Exit Sub
gcjna = frmSetpara2.lvwPara.ListItems(chkLine).Text
gcjpt = frmSetpara2.lvwPara.ListItems(chkLine).SubItems(1)
gcjnu = frmSetpara2.lvwPara.ListItems(chkLine).SubItems(2)
gcjta = frmSetpara2.lvwPara.ListItems(chkLine).SubItems(3)
gcjic = frmSetpara2.lvwPara.ListItems(chkLine).SubItems(4)
gcjca = frmSetpara2.lvwPara.ListItems(chkLine).SubItems(5)
Select Case gcjta
Case "發(fā)碼"
Option3.Value = True
Call Option3_Click
Case "撥號"
Option4.Value = True
Call Option4_Click
End Select
Text1.Text = gcjna
Text2.Text = gcjnu
If gcjpt = "串口" Then
Option1.Value = True
Option2.Value = False
Else
Option2.Value = True
Option1.Value = False
End If
End Sub
'新加一條記錄
Private Sub AddNew()
On Error GoTo x
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "select * from chujingset;", cn, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!cjname = gcjna
rs!porperty = gcjpt
rs!Number = gcjnu
rs!typeact = gcjta
rs!infocode = gcjic
rs!telnumber = gcjca
rs.Update
rs.Close
'將list更新
Dim mitem As ListItem
Set mitem = frmSetpara2.lvwPara.ListItems.Add(Text:=gcjna)
mitem.SubItems(1) = gcjpt
mitem.SubItems(2) = gcjnu
mitem.SubItems(3) = gcjta
mitem.SubItems(4) = gcjic
mitem.SubItems(5) = gcjca
Exit Sub
x:
MsgBox ("請再次檢查數(shù)據(jù)")
End Sub
'刪除一條記錄
Private Sub deleteBf()
On Error GoTo x
Dim rs As ADODB.Recordset
Dim str As String
Set rs = New ADODB.Recordset
str = "select * from chujingset where cjname = '" & gcjna & _
"'and porperty ='" & gcjpt & "'and number ='" & gcjnu & _
"'and typeact ='" & gcjta & "'and infocode='" & gcjic & _
"' and telnumber='" & gcjca & "';"
rs.Open str, cn, adOpenDynamic, adLockOptimistic
If rs.EOF Or rs.BOF Then
MsgBox ("數(shù)據(jù)庫中沒有這條記錄")
Exit Sub
Else
rs.Delete
End If
rs.Close
frmSetpara2.lvwPara.ListItems.Remove chkLine
Exit Sub
x:
MsgBox ("Error # " & CStr(Err.Number) & " was generated by " _
& Err.Source & Chr(13) & Err.Description)
End Sub
'編輯一條紀錄
Private Sub editBf()
On Error GoTo errordo
Dim rs As ADODB.Recordset
Dim str As String
Dim tempbfname As String
Set rs = New ADODB.Recordset
tempbfname = frmSetpara2.lvwPara.ListItems(chkLine)
str = "select * from chujingSet where cjname = '" & tempbfname & "';"
rs.Open str, cn, adOpenDynamic, adLockOptimistic
rs!cjname = gcjna
rs!porperty = gcjpt
rs!Number = gcjnu
rs!typeact = gcjta
rs!infocode = gcjic
rs!telnumber = gcjca
rs.Update
rs.Close
Dim mitem As ListItem
Set mitem = frmSetpara2.lvwPara.ListItems(chkLine)
mitem.Text = gcjna
mitem.SubItems(1) = gcjpt
mitem.SubItems(2) = gcjnu
mitem.SubItems(3) = gcjta
mitem.SubItems(4) = gcjic
mitem.SubItems(5) = gcjca
Exit Sub
errordo:
MsgBox ("Error # " & CStr(Err.Number) & " was generated by " _
& Err.Source & Chr(13) & Err.Description)
End Sub
Private Sub Option3_Click()
Text3.Text = gcjic
Text3.Enabled = True
Text3.BackColor = vbWhite
Text4.Text = ""
Text4.Enabled = False
Text4.BackColor = vbScrollBars
End Sub
Private Sub Option4_Click()
Text4.Text = gcjca
Text4.Enabled = True
Text4.BackColor = vbWhite
Text3.Enabled = False
Text3.Text = ""
Text3.BackColor = vbScrollBars
End Sub
'數(shù)據(jù)檢查規(guī)則:判斷form上是否有text未填入
Private Function dataCheck() As Boolean
If (gcjna <> "") And (gcjpt <> "") And (gcjnu <> "") And (gcjta <> "") _
And ((gcjic <> "") Or (gcjca <> "")) Then
dataCheck = True
Else
dataCheck = False
End If
End Function
Private Sub Text2_Change()
' '判斷端口編號是否為數(shù)字
' If Not IsNumeric(Text2.Text) Then
' If Text2.Text <= 0 Then
' Dim n As Integer
' n = MsgBox("端口編號應該為十進制數(shù)", , 重要提示)
' Text2.Text = "0"
' End If
' End If
' '如果端口編號是數(shù)字的話
' '再分別按照端口類型判斷
' 'option1:串行端口
' If Option1.Enabled And Option1.Value Then
' If CLng(Text2.Text) > 16 Then
' MsgBox ("串口編號范圍在0-16之間")
' Text2.Text = "0"
' End If
' End If
' 'option2:并行端口
' If Option1.Enabled And Option2.Value Then
' If CLng(Text2.Text) > 65536 Then
' MsgBox ("并口編號范圍在0-65536之間")
' Text2.Text = "0"
' End If
' End If
End Sub
Private Sub Text2_Validate(Cancel As Boolean)
'判斷端口編號是否為數(shù)字
If Not IsNumeric(Text2.Text) Then
If Text2.Text <= 0 Then
Dim n As Integer
n = MsgBox("端口編號應該為十進制數(shù)", , 重要提示)
Text2.Text = "0"
End If
End If
'如果端口編號是數(shù)字的話
'再分別按照端口類型判斷
'option1:串行端口
If Option1.Value Then
If CLng(Text2.Text) > 16 Then
MsgBox ("串口編號范圍在0-16之間")
Text2.Text = "0"
End If
End If
'option2:并行端口
If Option2.Value Then
If CLng(Text2.Text) > 65536 Then
MsgBox ("并口編號范圍在0-65536之間")
Text2.Text = "0"
End If
End If
Cancel = True
End Sub
Private Sub Text3_Validate(Cancel As Boolean)
'如果是發(fā)碼
If Option3.Value Then
If Not IsNumeric(Text3.Text) Then
Dim n As Integer
n = MsgBox("信號碼應該為十進制數(shù)", , 重要提示)
Text3.Text = "0"
End If
End If
Cancel = True
End Sub
Private Sub Text4_Validate(Cancel As Boolean)
'如果是撥號
If Option4.Value Then
If Not IsNumeric(Text4.Text) Then
Dim n As Integer
n = MsgBox("電話號碼應該為數(shù)字", , 重要提示)
Text4.Text = "0"
End If
End If
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -