Dim dr_硬件新增或变动记录 As DataRow
Dim dr_电脑终端管理表 As DataRow
Dim dr_其它终端管理表 As DataRow
Dim dr_判断新SN是否为空值 As DataRow
'取服务器时间
Dim cmd As New SQLCommand
Dim dt As Date
cmd.C
cmd.CommandText = "Select GetDate()"
dt = cmd.ExecuteScalar()
dt = dt.Date
'下面这几行代码,是为了在电脑表或其它表新增记录时,把 SN 录在 新_SN 处,这样更符合用户习惯.
'如果在变动表中 新_SN 条件找得到(根据当前行选中的SN),
dr_判断新SN是否为空值=DataTables("硬件新增或变动记录").SQLFind("新_SN='" & CurrentTable.Current("SN") & "' and 变动原因='新增' and 变动时间>'" & dt & "' and 变动时间<'" & dt.AddDays(1) & "'")
msgbox("新_SN='" & CurrentTable.Current("SN") & "' and 变动原因='新增' and 变动时间>'" & dt & "' and 变动时间<'" & dt.AddDays(1) & "'") 'OK
If dr_判断新SN是否为空值 IsNot Nothing Then '则取新_SN字段
msgbox(1) 'OK
dr_硬件新增或变动记录= DataTables("硬件新增或变动记录").SQLFind("新_SN='" & CurrentTable.Current("SN") & "' and 变动原因='新增' and 变动时间>'" & dt & "' and 变动时间<'" & dt.AddDays(1) & "'")
msgbox("新_SN='" & CurrentTable.Current("SN") & "' and 变动原因='新增' and 变动时间>'" & dt & "' and 变动时间<'" & dt.AddDays(1) & "'")
Else '则取旧_SN字段
msgbox(2) '不OK
dr_硬件新增或变动记录= DataTables("硬件新增或变动记录").SQLFind("旧_SN='" & CurrentTable.Current("SN") & "' and 变动原因='新增' and 变动时间>'" & dt & "' and 变动时间<'" & dt.AddDays(1) & "'")
End If
'dr_硬件新增或变动记录= DataTables("硬件新增或变动记录").SQLFind("旧_SN='" & CurrentTable.Current("SN") & "'")
'dr_硬件新增或变动记录= DataTables("硬件新增或变动记录").SQLFind("旧_SN='" & CurrentTable.Current("SN") & "' and (变动时间>'" & dt & "' and 变动时间<'" & dt.AddDays(1) & "')")
If dr_硬件新增或变动记录 IsNot Nothing Then '如果在 硬件更新或变动记录表中能找到这条记录
msgbox(3) 'OK
Dim Result As DialogResult
Result = MessageBox.Show("查询到硬件新增或变动记录中有今天的变动信息,是否自动填入?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
msgbox("选择后")
msgbox(Result) ‘为什么这里的值是6 ,进不了下面的 If Result = DialogResult.Yes Then 循环 ???
If Result = DialogResult.Yes Then
msgbox("不行")
If dr_硬件新增或变动记录("来源表")="其它终端管理表" Then '如果来源表是电脑终端管理表
'dr_电脑终端管理表=DataTables("电脑终端管理表").SQLFind("SN='" & CurrentTable.Current("SN") & "'")
msgbox("开刷")
'不管是什么网,都要更新所在楼,所在科室,所在房间 ,
If dr_硬件新增或变动记录.IsNull("新_所在楼")=False Then
msgbox("开刷第一单")
CurrentTable.Current("所在楼")=dr_硬件新增或变动记录("新_所在楼")
End If
If dr_硬件新增或变动记录.IsNull("新_所在科室")=False Then
CurrentTable.Current("所在科室")=dr_硬件新增或变动记录("新_所在科室")
End If
If dr_硬件新增或变动记录.IsNull("新_所在房间")=False Then
CurrentTable.Current("所在房间")=dr_硬件新增或变动记录("新_所在房间")
End If
'Select Case dr_硬件新增或变动记录("旧_网络类型")
Select Case IIf(dr_硬件新增或变动记录.IsNull("新_网络类型")=False,dr_硬件新增或变动记录("新_网络类型"),dr_硬件新增或变动记录("旧_网络类型")) '如果新_网络类型 字段不为空,则取新_网格类型,否则取 旧_网络类型 字段
Case "内网"
'如果各字段有新值就取新值,没有新值就不取即不更新,维持老值不变,所在楼,所在科室,所在房间字段已提前在select case 之前统一更新了
If dr_硬件新增或变动记录.IsNull("新_IP")=False Then
'msgbox(1)
CurrentTable.Current("内网_IP")=dr_硬件新增或变动记录("新_IP")
End If
If dr_硬件新增或变动记录.IsNull("新_MAC")=False Then
'msgbox(2)
CurrentTable.Current("内网_MAC")=dr_硬件新增或变动记录("新_MAC")
End If
If dr_硬件新增或变动记录.IsNull("新_SN")=False Then
CurrentTable.Current("SN")=dr_硬件新增或变动记录("新_SN")
End If
Case "外网"
'如果各字段有新值就取新值,没有新值就不取即不更新,维持老值不变,所在楼,所在科室,所在房间字段已提前在select case 之前统一更新了
If dr_硬件新增或变动记录.IsNull("新_IP")=False Then
CurrentTable.Current("外网_IP")=dr_硬件新增或变动记录("新_IP")
End If
If dr_硬件新增或变动记录.IsNull("新_MAC")=False Then
CurrentTable.Current("外网_MAC")=dr_硬件新增或变动记录("新_MAC")
End If
If dr_硬件新增或变动记录.IsNull("新_SN")=False Then
CurrentTable.Current("SN")=dr_硬件新增或变动记录("新_SN")
End If
Case "设备网"
'如果各字段有新值就取新值,没有新值就不取即不更新,维持老值不变,所在楼,所在科室,所在房间字段已提前在select case 之前统一更新了
If dr_硬件新增或变动记录.IsNull("新_IP")=False Then
CurrentTable.Current("设备网_IP")=dr_硬件新增或变动记录("新_IP")
End If
If dr_硬件新增或变动记录.IsNull("新_MAC")=False Then
CurrentTable.Current("设备网_MAC")=dr_硬件新增或变动记录("新_MAC")
End If
If dr_硬件新增或变动记录.IsNull("新_SN")=False Then
CurrentTable.Current("SN")=dr_硬件新增或变动记录("新_SN")
End If
Case "VPDN"
'如果各字段有新值就取新值,没有新值就不取即不更新,维持老值不变,所在楼,所在科室,所在房间字段已提前在select case 之前统一更新了
If dr_硬件新增或变动记录.IsNull("新_IP")=False Then
CurrentTable.Current("VPDN_IP")=dr_硬件新增或变动记录("新_IP")
End If
' If dr_硬件新增或变动记录("新_MAC") IsNot Nothing Then
' CurrentTable.Current("VPDN_帐号")=dr_硬件新增或变动记录("新_MAC")
' End If
If dr_硬件新增或变动记录.IsNull("新_SN")=False Then
CurrentTable.Current("SN")=dr_硬件新增或变动记录("新_SN")
End If
Case Else
'msgbox("else")
'如果各字段有新值就取新值,没有新值就不取即不更新,维持老值不变,所在楼,所在科室,所在房间字段已提前在select case 之前统一更新了
If dr_硬件新增或变动记录.IsNull("新_SN")=False Then
CurrentTable.Current("SN")=dr_硬件新增或变动记录("新_SN")
End If
End Select
End If ''如果来源表是电脑终端管理表 结束
Else
'在选择是否自动填入"硬件新增或变动信息表"中已录入信息的 对话框中,如果用户点击了否,则不做任何操作
msgbox("对话框中选了否")
End If
msgbox("如果在更新表中找到 的结束")
Else '如果没能在硬件更新或变动记录表中能找到这条记录
msgbox("没有在硬件新增或变动记录表中查询到有今天的变动信息,请核查!")
End If