一、窗体:校车管理窗体
1、
插入表:校车基本信息之驾驶员
绑定表:网络校车基本信息表
作为副本:true
筛选:Tables("校车管理窗体_校车基本信息之驾驶员").Filter = " 统计项目 = '驾驶人员' "
单位名称 统计项目 驾驶员_姓名 驾驶员_身份证号 驾驶员_状态
单位01 驾驶人员 驾驶员1 321671197610108191 在岗
单位02 驾驶人员 驾驶员2 321671197610108192 在岗
单位03 驾驶人员 驾驶员3 321671197610108193 离岗
2、
插入表:校车基本信息之线路
绑定表:网络校车基本信息表
作为副本:true
筛选:Tables("校车管理窗体_校车基本信息之线路").Filter = " 统计项目 = '线路配置' "
单位名称 线路 统计项目 驾驶员_姓名 驾驶员_身份证号 车牌号 乘管员
单位01 1 线路配置 驾驶员1 321671197610108191
单位02 2 线路配置 驾驶员2 321671197610108192
单位03 3 线路配置 驾驶员3 321671197610108193
3、
【设置下拉菜单】按钮代码:
'--设置下拉菜单'
Dim dmp1 As New TableDataMap
dmp1.DataTable = "网络校车基本信息表" '指定数据来源表
dmp1.ValueCol = "驾驶员_身份证号" '指定取值列
dmp1.DisplayCol = "驾驶员_身份证号" '指定显示列
dmp1.ListCols = "驾驶员_姓名,驾驶员_身份证号" '指定下拉列表时显示哪些列的数据
dmp1.Sort = "驾驶员_姓名" '指定排序方式
Tables("校车管理窗体_校车基本信息之线路").Cols("驾驶员_身份证号").DataMap = dmp1.CreateDataMap()
二、表事件 【网络校车基本信息表】的表事件DataColChanged:
If Tables("网络校车基本信息表").Rows.count > 0 Then '求行数
Dim frm As WinForm.Form
frm = Forms.ActiveForm
If frm IsNot Nothing Then
If frm.Name = "校车管理窗体" Then
If CurrentTable.DataTable.Name = "网络校车基本信息表" Then
If e.DataCol.Name = "驾驶员_身份证号" And e.DataRow("统计项目") = "驾驶人员" Then
For Each dr5 As DataRow In DataTables("网络校车基本信息表").Select(" 统计项目 <> '驾驶人员' ","")
If dr5("驾驶员_身份证号") = e.oldvalue Then
dr5("驾驶员_身份证号") = e.newvalue
End If
Next
End If
'-- 在驾驶员从【在岗】改为【离岗】后,【统计项目】符合线路配置各行中,该驾驶员的身份证号全部清空
If e.DataCol.Name = "车辆_状态" And e.DataRow("统计项目") = "驾驶人员" Then
If e.NewValue <> "运行" Then
Dim 身份证号 As String = e.DataRow("驾驶员_身份证号")
Dim dr5 As DataRow = DataTables("网络校车基本信息表").Find(" 统计项目 <> '驾驶人员' and 驾驶员_身份证号 = '"& 身份证号 &"'")
dr5("驾驶员_身份证号") = ""
End If
End If
Dim 设置下拉菜单 As WinForm.Button = Forms("校车管理窗体").Controls("设置下拉菜单")
设置下拉菜单.PerformClick()
End If
End If
End If
End If
黄色的部分代码在执行时,没有起作用,请老师指点一二
[此贴子已经被作者于2018/7/28 16:56:22编辑过]