以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 双击取值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129627)

--  作者:sanny
--  发布时间:2019/1/2 21:11:00
--  [求助] 双击取值

版主,

 

订单明细表中有一列 客户,双击该列后出现客户明细表,双击其中的一个客户后,取该值到订单明细表的该列客户中,如何实现,谢谢。


--  作者:有点甜
--  发布时间:2019/1/2 21:20:00
--  

参考

 

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

 

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

 


--  作者:sanny
--  发布时间:2019/1/3 0:11:00
--  

版主

 

主表cellbuttonclick中增加:

If e.Col.Name = "customer"  Then
     e.Cancel = True
     Forms("customer").Open()
 End If

 

客户基本资料表中doubleclick 增加:

Dim tbl  As  Table =  Tables("customer")
 If tbl.Current IsNot  Nothing  Then
     Tables("shipment").Current("customer") = tbl.Current("customer")
 End If
 Forms("customer").Close()

 

列表项目中

 

设定 |...

 

 

第一次双击 ...能选择所需客户,第二次回去选择其它客户后双击,也没有问题。可是第三次再选择第一次所选的客户,主表回到以前有这个客户的记录了。不知道哪儿错了?

 


--  作者:有点甜
--  发布时间:2019/1/3 9:08:00
--  

那你尝试改成


Tables("shipment").Current("customer") = e.row("customer")
Forms("customer").Close()

 

如果还有问题,实例发上来测试


--  作者:sanny
--  发布时间:2019/1/3 17:25:00
--  

版主, 还是不对。

 

请用 Manufacturing 登入,密码 1

 

双击 船运号 20191003  第20行, 选择 “开票到客户”这一列,先选 第一个客户GSSAG双击,再重新选第二个客户双击,再回去选GSSAG双击,记录就跳转了。

 

以上,麻烦了。谢谢。


--  作者:sanny
--  发布时间:2019/1/3 17:26:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.rar


--  作者:有点甜
--  发布时间:2019/1/3 18:00:00
--  

你尝试把currentChanged事件代码删除,如

 

If e.Table.Current Is Nothing Then Return


Dim wz As Integer = Tables("Shipment").FindRow("ShippingNo=\'" & e.Table.Current("ShippingNo") &"\'")
If wz >=0 Then
    Tables("Shipment").Position = wz
End If


--  作者:sanny
--  发布时间:2019/1/3 18:25:00
--  

版主,这一段还是要的,要不双击shippingno后它就找不对应的这个号了?


--  作者:有点甜
--  发布时间:2019/1/3 20:49:00
--  

 

你可以加上表名判断,msgbox(e.table.name)看看你哪个表需要切换。

 


--  作者:sanny
--  发布时间:2019/1/3 21:20:00
--  

版主

 

我加在以下,出现的都是customer. 不知道为什么第三次双击第一次的客户后会跳转。

 


Tables("shipment").Current("customer") = e.Row("customer")
msgbox(e.Table.name)
Forms("customer").Close()
msgbox(e.Table.name)