-- 作者:wky10652008
-- 发布时间:2017/9/22 21:29:00
-- 老师代码最终改为以下代码实现了我需要的功能,但不知道是为什么?请指教,谢谢!
\'多表数据同步增加,修改 If e.DataCol.Name="身份证号码" Then \'判断发生变化的是不是 "身份证号码 "列,如果是,则: If e.OldValue Is Nothing And e.NewValue IsNot Nothing Then \'如果"身份证号码"列旧值为空,新值不为空,则: DataTables("基本信息管理").Save \'先保存 基本信息表,得到一个永久的序号 For Each dt As DataTable In DataTables \'定义一个"DataTable"类型,并进行循环 Select Case dt.Name Case "证书管理","职称管理","岗位管理","学历管理","人员状态管理","合同管理" \'判断表名 Dim dr As DataRow=DataTables(dt.name).AddNew() \'给"DataTables(dt.name)"增加一行 dr("序号")=e.DataRow("序号") \'给"DataTables(dt.name)"中增加的行的"序号"列赋值 dr("单位名称")=e.DataRow("单位名称") \'给"DataTables(dt.name)"中增加的行的"单位名称"列赋值 dr("姓名")=e.DataRow("姓名") \'给"DataTables(dt.name)"中增加的行的"序号"列赋值 dr("身份证号码")=e.DataRow("身份证号码") \'给"DataTables(dt.name)"中增加的行的"身份证号码"列赋值 DataTables(dt.name).Save \'保存表 End Select Next ElseIf e.OldValue IsNot Nothing And e.NewValue IsNot Nothing Then \'如果"身份证号码"列旧值不为空,新值不为空,则: For Each dt1 As DataTable In DataTables \'定义一个"DataTable"类型,并进行循环 Select Case dt1.Name Case "证书管理","职称管理","学历管理","人员状态管理","合同管理" Dim dr As DataRow=DataTables(dt1.name).find("身份证号码=\'" & e.OldValue &"\'") \'在"DataTables(dt.name)"中进行查找 If dr IsNot Nothing Then \'如果找到 dr("序号")=e.DataRow("序号") \'修改"DataTables(dt.name)"中"序号"的值 dr("单位名称")=e.DataRow("单位名称") \'修改"DataTables(dt.name)"中"单位名称"的值 dr("姓名")=e.DataRow("姓名") \'修改"DataTables(dt.name)"中"姓名"的值 dr("身份证号码")=e.DataRow("身份证号码") \'修改"DataTables(dt.name)"中"身份证号码"的值 DataTables(dt1.name).Save \'保存表 End If End Select Next End If End If
\'单独修改 "岗位管理" 表的数据 If e.DataCol.Name="身份证号码" Then \'判断发生变化的是不是 "身份证号码 "列,如果是,则 If e.OldValue IsNot Nothing And e.NewValue IsNot Nothing Then \'如果"身份证号码"列旧值不为空,新值不为空,则: Dim dr As DataRow=DataTables("岗位管理").find("身份证号码=\'" & e.NewValue &"\'") \'在"DataTables(dt.name)"中进行查找 If dr IsNot Nothing Then \'如果找到 dr("序号")=e.DataRow("序号") \'修改"DataTables(dt.name)"中"序号"的值 dr("单位名称")=e.DataRow("单位名称") \'修改"DataTables(dt.name)"中"单位名称"的值 dr("姓名")=e.DataRow("姓名") \'修改"DataTables(dt.name)"中"姓名"的值 dr("身份证号码")=e.DataRow("身份证号码") \'修改"DataTables(dt.name)"中"身份证号码"的值 End If End If End If
\'============================================================================以上代码还需要完善
[此贴子已经被作者于2017/9/23 10:25:26编辑过]
|