Office中国论坛/Access中国论坛

标题: ACCESS使用SQL为后台时,能用自定义函数吗? [打印本页]

作者: wktt6833    时间: 2007-9-16 16:34
标题: ACCESS使用SQL为后台时,能用自定义函数吗?
以下是我在ACCESS中使用的自函数.
Public Sub 更新流水号(TableName As String)
    Dim Dbs As adodb.Recordset
    Dim MyRecordSet As adodb.Recordset
    Dim fld As Field
    Dim MyLookup As Date
    Set Dbs = CurrentDb
    Set MyRecordSet = Dbs.OpenRecordset("流水号记录", dbOpenDynaset)  '系统提示未定义
    Set fld = MyRecordSet.Fields("流水号名称")
    MyLookup = DLookup("最后更新日期", "流水号记录", "流水号名称=" & TableName) '取得『流水号记录』资料表中读取前一笔记录的『最后更新日期』栏位值
      
        If MyLookup = Date Then              '若今天已经加入新纪录
            MyRecordSet.FindFirst ("流水号名称=" & TableName)
            MyRecordSet.Edit
            MyRecordSet.Fields("记录值") = MyRecordSet.Fields("记录值") + 1
            MyRecordSet.Update
        
        ElseIf MyLookup < Date Then     '如果换成隔天
            MyRecordSet.FindFirst ("流水号名称=" & TableName)
            MyRecordSet.Edit           '进入编辑状态
            MyRecordSet.Fields("最后更新日期") = Date '将旧的最后更新日期改为今天
            MyRecordSet.Fields("记录值") = 1  '将『记录值』栏位指定为 1
            MyRecordSet.Update          '将资料更新
        End If
End Sub

请教高手如何修改,使上面的代码在SQL为后台数据库时可用.

[ 本帖最后由 wktt6833 于 2007-9-16 17:01 编辑 ]
作者: andymark    时间: 2007-9-16 16:41
引用DAO
作者: wktt6833    时间: 2007-9-16 17:07
已引用,但在"流水号记录"表为SQL链接表时,系统提示有误 .现上传附件.请指点.
作者: andymark    时间: 2007-9-16 17:29
你声明的是ADO
改为DAO
作者: andymark    时间: 2007-9-16 17:32
Dim Dbs As DAO.Database
Dim MyRecordSet As DAO.Recordset
作者: wktt6833    时间: 2007-9-16 17:44
已经调试好,非常感谢.




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3