在AfterSelchange 事件中我写了这样的代码,如果把当前列选定为身份证号,下面代码就不会执行了
Dim c As Col = e.Table.Cols(e.NewRange.ColSel) 'C 为当前列
Dim dr As Row
dr = e.Table.Rows(e.NewRange.rowSel) 'dr 为当前行
If C.Name <> "姓名" And C.Name <> "身份证号" Then '如果正在编辑的是[..]列
With DataTables("教职工历月信息")
.DataRows.Clear()
End With
'()---调数据库中的当月数据
Dim mg As New Merger
mg.SourcePath = ProjectPath &"\Data\数据库.mdb" '指定数据文件
mg.SourceTableName = "职工信息"
mg.DataTableName = "职工历月信息"
mg.Filter = " 身份证号 = '"& dr("身份证号") &"' "
mg.FieldMaps.Add("台帐年月","台帐年月")
mg.FieldMaps.Add("身份证号","身份证号")
mg.FieldMaps.Add("姓名","姓名")
mg.FieldMaps.Add( C.Name ,"信息列")
mg.Merge()
'-- 改列标题
With DataTables("职工历月信息")
.DataCols("信息列").Caption = C.Name
.BuildHeader
End With
End If