以文本方式查看主题

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

--  作者:雅痞123456
--  发布时间:2018/1/16 13:42:00
--  自动填写

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

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
  我想实现这个功能  要参考那部分帮助呢


--  作者:有点甜
--  发布时间:2018/1/16 14:43:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/1453.htm

 


--  作者:雅痞123456
--  发布时间:2018/1/17 10:54:00
--  
这个跨表引用  不是相同列数进行引用吗?  如果一列要从多列进行引用怎么办呢?像列子那样月工时表中的工种只有一列,但他要从员工名单表中的多列中筛选出其中的列  又如何实现呢
--  作者:有点甜
--  发布时间:2018/1/17 11:20:00
--  

这样写查询代码

 

Dim fdr As DataRow = DataTables("员工名单").find("姓名 = \'" & e.datarow("员工姓名") & "\'")

msgbox(fdr("工种_车工"))

msgbox(fdr("工时定额"))

If fdr IsNot Nothing AndAlso DataTables("员工名单").DataCols.Contains("工种_" & e.datarow("工种")) Then

    msgbox(fdr("工种_" & e.datarow("工种")))

End If


--  作者:雅痞123456
--  发布时间:2018/1/17 13:17:00
--  
我是想输入员工姓名和工种后自动引用并填写上员工名单中的 工时和级别    并不是去查询啊
 
是我理解的有问题吗

--  作者:有点蓝
--  发布时间:2018/1/17 14:18:00
--  
要先查询,才能获取需要引用的那一行数据,然后通过列名取得这行对应的级别
--  作者:有点甜
--  发布时间:2018/1/17 15:05:00
--  
以下是引用雅痞123456在2018/1/17 13:17:00的发言:
我是想输入员工姓名和工种后自动引用并填写上员工名单中的 工时和级别    并不是去查询啊
 
是我理解的有问题吗

 

看懂4楼代码,查找数据,然后复制即可。


--  作者:雅痞123456
--  发布时间:2018/1/17 16:11:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
有点甜老师您好  我试着写了一段代码,但是调试过程中还是有点问题  就是录入车工时正常录入   但是其他的工种还是不行  不知道为什么 能否帮忙改一下
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

Select Case e.DataCol.Name
    Case "员工姓名","工种","级别" ,"工时"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("员工姓名") OrElse dr.IsNull("工种")  Then
            dr("级别") = Nothing
            dr("工时") = Nothing
        Else
            Dim fdr As DataRow = DataTables("员工名单").find("姓名 = \'" & e.DataRow("员工姓名") & "\'")
            If fdr IsNot Nothing AndAlso DataTables("员工名单").DataCols.Contains("工种_" & e.DataRow("工种")) Then
                dr("级别") = fdr("工种_" & e.DataRow("工种"))
                dr("工时") = fdr("工时定额")
            End If
        End If
End Select

--  作者:有点甜
--  发布时间:2018/1/17 16:19:00
--  

代码没问题,看弹出什么。

 

Select Case e.DataCol.Name
    Case "员工姓名","工种","级别" ,"工时"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("员工姓名") OrElse dr.IsNull("工种")  Then
            dr("级别") = Nothing
            dr("工时") = Nothing
        Else
msgbox(1)
            Dim fdr As DataRow = DataTables("员工名单").find("姓名 = \'" & e.DataRow("员工姓名") & "\'")
msgbox("工种_" & e.DataRow("工种"))
msgbox(DataTables("员工名单").DataCols.Contains("工种_" & e.DataRow("工种")))
            If fdr IsNot Nothing AndAlso DataTables("员工名单").DataCols.Contains("工种_" & e.DataRow("工种")) Then
msgbox(2)
                dr("级别") = fdr("工种_" & e.DataRow("工种"))
                dr("工时") = fdr("工时定额")
            End If
        End If
End Select

--  作者:雅痞123456
--  发布时间:2018/1/17 16:53:00
--  
Select Case e.DataCol.Name
    Case "员工姓名","工种","级别" ,"工时"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("员工姓名") OrElse dr.IsNull("工种")  Then
            dr("级别") = Nothing
            dr("工时") = Nothing
        Else
msgbox(1)能够运行
            Dim fdr As DataRow = DataTables("员工名单").find("姓名 = \'" & e.DataRow("员工姓名") & "\'")
msgbox("工种_" & e.DataRow("工种"))这个不太清楚
msgbox(DataTables("员工名单").DataCols.Contains("工种_" & e.DataRow("工种")))这个不太清楚
            If fdr IsNot Nothing AndAlso DataTables("员工名单").DataCols.Contains("工种_" & e.DataRow("工种")) Then
msgbox(2)能够运行
                dr("级别") = fdr("工种_" & e.DataRow("工种"))
                dr("工时") = fdr("工时定额")
            End If
        End If
End Select

我把1和2删除了 再试着运行提示两个true   测试后还是工种是车床正常使用其他的不好使呢