以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  新年快乐,请教如何自动匹配填充对应内容  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130821)

--  作者:wanglei4497
--  发布时间:2019/2/2 18:19:00
--  新年快乐,请教如何自动匹配填充对应内容

新人初来乍到,之前使用excel统计人员信息,现在想转到狐表上。

初步建立数据的时候碰到了一个问题,就是科室的属性,想从另一个表里进行引用,不知道该如何操作。

之前excel是用的vlookup函数。

 


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

图片点击可在新窗口打开查看此主题相关图片如下:附件2.jpg
图片点击可在新窗口打开查看

--  作者:wanglei4497
--  发布时间:2019/2/2 18:20:00
--  
如上图,人员数据总库一个表,选中的几列的内容,想根据科室列表里红框的对应内容进行自动填充。
--  作者:njcyt
--  发布时间:2019/2/2 18:35:00
--  
跨表引用啊。http://www.foxtable.com/webhelp/index.htm?page=1453.htm
--  作者:sanny
--  发布时间:2019/2/2 18:39:00
--  

在表的属性DataColChanged中加代码:以下例子供参考

 

If  e.DataCol.Name = "Customer_PartNo" Then
     Dim nms() As String = {"NameInEnglish","CustomerPartName","Unit","NetWeight_PC","Nameinchinese","MaterialName"}
     If  e.NewValue Is Nothing Then 
         For Each nm As String In nms
             e.DataRow(nm) = Nothing 
         Next 
     Else 
         Dim dr As DataRow
         dr = DataTables("PartList").Find("[CustomerPartNo] = \'" & e.NewValue & "\'") 
         If  dr IsNot Nothing
             For Each nm As String In nms
                 e.DataRow(nm) = dr(nm)
             Next
         End If
     End If
 End If


--  作者:wanglei4497
--  发布时间:2019/2/2 18:40:00
--  

啊……不太懂,看懵了,刚才从说明书里用了表间关联,然后使用表达式列进行了匹配,不知道和跨表引用有什么区别?哪种更合适?


--  作者:wanglei4497
--  发布时间:2019/2/2 18:46:00
--  
谢谢大佬,不过以我能问出这种问题水平,可能也看不懂这个代码,还请指教这个代码从哪可以学,从入门到放弃(大雾)的那种……
--  作者:有点蓝
--  发布时间:2019/2/3 9:02:00
--  
表达式引用和代码引用二选一即可。