了解MS Access中的UDF

时间:2015-02-02 16:05:30

标签: ms-access access-vba ms-access-2007 ms-access-2010

简介

我在Access中的模块中创建了 UDF ,如下所示:

Public Type Postings

PostingID As Long
CompanyID As Variant
NetAmt    As Double
VATAmt    As Double

End Type

这就是我使用它的方式:

Dim P as Postings
'set variables 
P.PostingID = 1
P.CompanyID = ABC123
P.NetAmt    = 100
P.VATAmt    = 20
.
.
'Do Save proc

问题

当我必须保存上述的多个条目时,变量不会重置为"没有"即使我运行重置功能再将它们设置为空。

因此,如果我输入2行数据 - 这就是看起来像:

PostingID      CompanyID       NetAmt      VATAmt
    1           ABC123          100          20
    2           BCD123          200          20

第二行是没有增值税 - 但是由于我在第一行中指定 P.VATamt 20 ,因此它将变量保持为20为第二次发布。

我甚至有一个重置变量函数,它在每次循环之前都做任何事情之前将一切设置为空。 所以我不明白为什么我仍然得到变量。

有关如何最好地使用UDF并重置它们所拥有的变量的任何建议吗?

1 个答案:

答案 0 :(得分:0)

解决了这个问题:

在我的功能中,我对主程序使用了单独的Dim。因此它没有链接。

我将Dim P帖子传递给清除所有内容的功能,并且可以正常运行。

PS。它的UDT不是我创建的UDF。