以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 货币转换自动填入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127494)

--  作者:sanny
--  发布时间:2018/11/15 12:30:00
--  [求助] 货币转换自动填入
 请版主指导。 如何将当前shippingno的货币转换成欧元根据当月的汇率表并填入相应的栏位。如图。谢谢。
图片点击可在新窗口打开查看此主题相关图片如下:捕获1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:捕获2.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1.table


--  作者:有点甜
--  发布时间:2018/11/15 15:01:00
--  

参考代码

 

Dim t1 As Table = Tables("Shipment")
Dim t2 As Table = Tables("Shipment.GSSInvoice")
Dim dt As DataTable = DataTables("ExchangeRate")
Dim fdr As DataRow = dt.Find("m")
If fdr IsNot Nothing Then
    For Each r As Row In t2.Rows
        r("ExchangeRate") = r("TotalPrice") * fdr("EUR")
    Next
Else
    msgbox("没找到汇率")
End If


--  作者:sanny
--  发布时间:2018/11/15 19:00:00
--  
老师测试下来出错了,能帮忙试一下吗? 麻烦了。
--  作者:有点甜
--  发布时间:2018/11/15 20:35:00
--  

1、代码我测试没问题。

 

2、你测试的时候报什么错?你看懂代码的意思了没有?执行代码有什么问题?


--  作者:sanny
--  发布时间:2018/11/15 21:00:00
--  
老师,提示未找到列[m]
--  作者:sanny
--  发布时间:2018/11/15 21:00:00
--  

能把你的测试版发我吗?


--  作者:有点甜
--  发布时间:2018/11/15 21:06:00
--  

改成

 

Dim t1 As Table = Tables("Shipment")
Dim t2 As Table = Tables("Shipment.GSSInvoice")
Dim dt As DataTable = DataTables("ExchangeRate")
Dim fdr As DataRow = dt.Find("month = \'" & t1.current("date") & "\'")
If fdr IsNot Nothing Then
    For Each r As Row In t2.Rows
        r("ExchangeRate") = r("TotalPrice") * fdr("EUR")
    Next
Else
    msgbox("没找到汇率")
End If


--  作者:sanny
--  发布时间:2018/11/15 21:56:00
--  

老师,提示没有找到汇率,我把日期改成今天 2018-11-15也出现这个,能帮忙调整成找月吗? 201811 这种形式,另外这个到当前的shippingno号中,不是所有的都加。

再次帮忙老师。


--  作者:有点甜
--  发布时间:2018/11/15 22:36:00
--  

如果提示找不到汇率,就是对应表没有数据。

 

比如你 2018年10月的汇率没有,自然就提示找不到。

 

如果你date日期是2018年11月的话,就能找到和计算的。

 

计算逻辑又可能不是你需要的,你要看懂代码,改成你自己的逻辑。或者说明你需要做到的最后的效果是什么。


--  作者:sanny
--  发布时间:2018/11/15 22:41:00
--  
老师,我知道,你的日期是取自shipment的date. 我想要exchangerate中Month 当月的,以月来分组。