str_update1 = "UPDATE [资料] SET [学校]=str_school WHERE [学校]='' "
DoCmd.RunSQL str_update1
str_update2 = "UPDATE [资料] SET [班级]=str_class WHERE [班级]='' "
DoCmd.RunSQL str_update2
复制代码
发现这段代码有两大问题
1.两段DEBUG.PRINT显示的内容是一样的,是不是函数在设置的时候应该用BYREF比较正确呢?
2.在两段UPDATE里面无法发现str_school和str_class的值,这是怎么回事?作者: roych 时间: 2011-10-23 23:48
1、可以用ADO来读取Excel数据来改进。
2、未打开Excel应该用CreateObject。有些书上说,打开Excel后,可以用GetObject,不过之前我的测试貌似出错。
3、代码部分应为:
UPDATE 资料 SET 资料.学校=str_school WHERE 资料.学校 IS NULL
跟ByVal和ByRef没关系,我一般连这个前缀都不写的。直接用
Function Test( A As String, B As String) As String
…………………………
End Function 作者: williamwangc 时间: 2011-10-24 11:19 本帖最后由 williamwangc 于 2011-10-24 11:26 编辑