理解MS-Access中的udf

理解MS-Access中的udf,ms-access,vba,ms-access-2007,ms-access-2010,Ms 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.VATAm

导言

我在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行数据,例如-这就是is的外观:

PostingID      CompanyID       NetAmt      VATAmt
    1           ABC123          100          20
    2           BCD123          200          20
第二行没有增值税-但是,因为我在第一行中将p.VATamt指定为20,所以在第二次过帐时,它将变量保持为20

我甚至有一个重置变量函数,它在每次循环之前将所有内容设置为零。 因此,我不明白为什么我仍然要执行变量

关于如何最好地使用UDF并重置它们所持有的变量,有什么建议吗?

解决了这个问题:

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

我将Dim p posting传递到清除所有内容的函数中,该函数正常工作


注:这不是我创建的自定义项。

我在一个函数中这样做,该函数将所有内容赋值为0或null等,但我不明白它为什么不起作用……是不是只有我一个人的问题?你做了自定义项而不是自定义项吗?只是注意到你是对的