时间:2019-08-20 17:21:18 作者:Dorise 浏览量:98
The functions follow:
Function lBWIntToUint(nUint As Integer)
lBWIntToUint = nUint And &HFFFF&
End Function
Function nBWUintToInt(lBytes As Long)
Dim nTemp As Integer
If lBytes > 65535 Then
MsgBox \"You passed a value larger than 65535\"
Exit Function
End If
nTemp = lBytes And &H7FFF
nBWUintToInt = nTemp Or -(lBytes And &H8000)
End Function
注意:&HFFFF&要求“&”在16进制数的末尾。这样能保证32位的16进制数通过16位的值表示出来。
SHIFT和F2键调用过程
在Microsoft Access 中有一些以前无正式文本的特性,它们允许你指定过程,这个过程是从一个from或report的属性工作表窗中调用的。要进入最小窗口,只需要同时按下SHIFT和F2键。
如果在一个模块中一个函数的定义是以“Builderr Form”开始,同时包含一个类似于Onclose属性或事件标识符,按下SHIFT和F2键就可以调用这个过程。例如,当你在一个form的设计窗口中,而当前的光标落在属性窗口中的Onclose事件的编辑控制上,按下SHIFT和F2键将能调用BuilderFormOnclose函数。这使用于form和reports的大部分属性和所有事件。下面的代码将说明函数的格式:
Function BuilderFormOnClose (szFormName As String,
szControlName As String,szCurrentValue As String,szReserved As String)
If szCurrentValue = \"\" Then
DoCmd SelectObject A_MACRO,\"\",True
SendKeys \"%n%fs\" & \"New Macro\" & \"{Enter}\"
Forms(szFormName).OnClose = \"New Macro\"
Else
DoCmd SelectObject A_MACRO,szCurrentValue,True
SendKeys \"%d\"
End If End Function
参数szFormName,szControlName,szCurrentValue,和 szReserved必须声明,即使你从不使用它们。当你的函数被调用时,这些参数总是要被传递的。如果它们没有被声明,那么Microsoft Access将不会调用你的函数。如果有一个参数被分配到Onclose事件上,那么前面的过程将打开一个宏,如果编辑控制是空,那么代码产生一个名为“New Macro”的新宏,同时把编辑控制值设置为“New Macro”。
诚然,前面的例子并不是非常完美,但它的确说明了要产生一个完美而有效的程序所必须的条件。