我有一个联合查询,包含发票编号,供应商等发票数据。创建此查询是为了提供信用票据信息。
当我想为不同货币的发票提供汇率时,我的问题出现了。如果有RON货币,我需要检查发票的货币和日期,然后从另一个表中提供价值。
我将货币及其价值存储在另一个数据库中。我想使用Dlookup函数,但它只适用于当前数据库。不知道我能做什么。这里需要VBA还是可以避免?
编辑: 语法有问题:
查询:
SELECT [Faktury].InvoiceNumber, [Faktury].InvoiceDate, [Faktury].InvoiceCountry, [Faktury].Currency, DLookUp("Value","Tabela1","Currency1 =" & [Currency]) AS Wyr1
FROM [Faktury];
Dlookup语法:
DLookUp("Value";"Tabela1";"Currency1 =" & [Currency])
查询包含发票中使用Currency
的列,Tabela1
有Currency1
和Value
。我收到错误或没有显示任何值......
答案 0 :(得分:3)
要访问其他数据库中的表格,您可以为其创建link:
转到外部数据> 访问(尽管您可以使用任何其他类型的数据源)>选择数据库文件,然后通过创建链接表选择链接到数据源。
然后单击确定并选择要链接的表(即在数据库中使用)。现在,您可以在查询中使用表(在我的示例中为 Currency ),也可以像普通表一样使用VBA。例如,在VBA中使用DLookup
:
MsgBox DLookup("EuroValue", "Currency", "ID='" & InputBox("Currency?") & "'")
或在(SQL)查询中:
SELECT EuroValue FROM [Currency] WHERE ID='USD';
或
SELECT DLookUp("EuroValue","Currency","ID='USD'");