以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动填表  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=143983)

--  作者:nxqtxwz
--  发布时间:2019/12/8 11:12:00
--  自动填表

请问在同一项目中有两个表A和表B,现在在表B的姓名列填写上姓名后,立即将表A姓名列找相同姓名的AA、BB列的内容写入表B的CC、DD列,代码怎么写呢,请帮忙。谢谢。

能不能将A表的姓名列设为B表姓名列的取值列,当选定姓名后,同时把A表当前记录的AA、BB列内容写入B表的CC、DD列?

[此贴子已经被作者于2019/12/8 13:21:42编辑过]

--  作者:nxqtxwz
--  发布时间:2019/12/8 15:50:00
--  

请老师给看看,这个代码为什么不对。

 

Dim dr As DataRow = e.DataRow
Dim Filter As String
dr = DataTables("职工信息总表").Find(Filter)
If e.DataCol.name = "姓名" Then
    If e.DataRow("姓名") =""
       
        e.DataRow("现岗位_级别")= dr("岗位类别")
        e.DataRow("现岗位_晋级日期")= dr("岗位晋级_晋级日期")
        e.DataRow("资历考核_工作资历_工作时间")= dr("工作时间")
        e.DataRow("资历考核_工作资历_工作年限")= dr("工龄")
        e.DataRow("资历考核_任职资历_职称")= dr("zczczj")
        e.DataRow("资历考核_任职资历_评定时间")= dr("zcpdrq")
    End If
End If


--  作者:有点蓝
--  发布时间:2019/12/8 21:43:00
--  
表B,datacolchanged事件
If e.DataCol.name = "姓名" Then
    If e.DataRow.isnull("姓名")
        e.DataRow("现岗位_级别")= Nothing
        ……其它自己补充
    Else
        Dim dr As DataRow = DataTables("职工信息总表").Find("姓名=\'" & dr("姓名") & "\'")
        If dr IsNot Nothing
            e.DataRow("现岗位_级别")= dr("岗位类别")
            e.DataRow("现岗位_晋级日期")= dr("岗位晋级_晋级日期")
            e.DataRow("资历考核_工作资历_工作时间")= dr("工作时间")
            e.DataRow("资历考核_工作资历_工作年限")= dr("工龄")
            e.DataRow("资历考核_任职资历_职称")= dr("zczczj")
            e.DataRow("资历考核_任职资历_评定时间")= dr("zcpdrq")
        End If
    End If
End If

--  作者:nxqtxwz
--  发布时间:2019/12/9 9:21:00
--  
以下是引用有点蓝在2019/12/8 21:43:00的发言:
表B,datacolchanged事件
If e.DataCol.name = "姓名" Then
    If e.DataRow.isnull("姓名")
        e.DataRow("现岗位_级别")= Nothing
        ……其它自己补充
    Else
        Dim dr As DataRow = DataTables("职工信息总表").Find("姓名=\'" & dr("姓名") & "\'")
        If dr IsNot Nothing
            e.DataRow("现岗位_级别")= dr("岗位类别")
            e.DataRow("现岗位_晋级日期")= dr("岗位晋级_晋级日期")
            e.DataRow("资历考核_工作资历_工作时间")= dr("工作时间")
            e.DataRow("资历考核_工作资历_工作年限")= dr("工龄")
            e.DataRow("资历考核_任职资历_职称")= dr("zczczj")
            e.DataRow("资历考核_任职资历_评定时间")= dr("zcpdrq")
        End If
    End If
End If

报错是什么原因?


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/12/9 9:23:00
--  
    If e.DataRow.isnull("姓名")
        e.DataRow("现岗位_级别")= Nothing
        \'……其它自己补充
    Else

--  作者:nxqtxwz
--  发布时间:2019/12/9 10:51:00
--  

老师,不好意思,还是出报相同的错误。

\'If e.DataCol.name = "姓名" Then
If e.DataRow.isnull("姓名")
    e.DataRow("现岗位_级别")= Nothing     \' ……其它自己补充
    e.DataRow("现岗位_晋级日期")= Nothing
    e.DataRow("资历考核_工作资历_工作时间")= Nothing
    e.DataRow("资历考核_工作资历_工作年限")= Nothing
    e.DataRow("资历考核_任职资历_职称")= Nothing
    e.DataRow("资历考核_任职资历_评定时间")= Nothing
   
Else
    Dim dr As DataRow = DataTables("职工信息总表").Find("姓名=\'" & dr("姓名") & "\'")
    If dr IsNot Nothing
        e.DataRow("现岗位_级别")= dr("岗位类别")
        e.DataRow("现岗位_晋级日期")= dr("岗位晋级_晋级日期")
        e.DataRow("资历考核_工作资历_工作时间")= dr("工作时间")
        e.DataRow("资历考核_工作资历_工作年限")= dr("工龄")
        e.DataRow("资历考核_任职资历_职称")= dr("zczczj")
        e.DataRow("资历考核_任职资历_评定时间")= dr("zcpdrq")
    End If
End If
\'End If


--  作者:有点蓝
--  发布时间:2019/12/9 10:55:00
--  
第一行和最后一行必须的,不能去掉:http://www.foxtable.com/webhelp/topics/1522.htm
--  作者:nxqtxwz
--  发布时间:2019/12/9 11:07:00
--  
以下是引用有点蓝在2019/12/9 10:55:00的发言:
第一行和最后一行必须的,不能去掉:http://www.foxtable.com/webhelp/topics/1522.htm

不去掉也是一样的,总提示错误。不知什么原因呢。


--  作者:有点蓝
--  发布时间:2019/12/9 11:10:00
--  
Dim dr As DataRow = DataTables("职工信息总表").Find("姓名=\'" & e.DataRow("姓名") & "\'")
--  作者:朱不二
--  发布时间:2019/12/9 11:41:00
--  
老师  老师  怎么将生成的图表插入到报表中呢,又怎么保存才能在下次打开继续存在呢