Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

“同步两个表部分记录”函数(同步SysLocalParameters与Sys_ServerParameters以简便使用GetParamete)

时 间:2021-12-11 13:49:51
作 者:ligy118   ID:81743  城市:洛阳
摘 要:自定义个同步两个表部分记录的函数:如同步SysLocalParameters与Sys_ServerParameters一致,使得在控件来源中使用盟威平台的GetParamete()函数取得date数据库中Sys_ServerParameters表中的记录。
正 文:

      在用盟威Access快速开发平台的GetParamete()函数时遇到了个问题


GetParameter 函数

简介

从客户端或服务端的参数表中取得参数。

语法

GetParameter (ParameterName[, DataType][, DefaultValue][, LowerLimit][, UpperLimit][, OnServer])

输入参数

参数名称 必需/可选 数据类型 说明
ParameterName 必需 String 参数名称。
DataType 可选 DataTypeEnum 数据类型。缺省时默认为 dbText。只能是 dbBoolean、dbByte、dbInteger、dbLong、dbSingle、dbDouble、dbDecimal、dbCurrency、dbDate、dbText、dbMemo中的一个,其它值无效。
DefaultValue 可选 Variant 取不到参数时返回的默认值。缺省时默认为空字符串("")。
LowerLimit 可选 Variant 如果参数的数据类型是数字,限制其最小下限。缺省时默认不予限制。
UpperLimit 可选 Variant 如果参数的数据类型是数字,限制其最大上限。缺省时默认不予限制。
OnServer 可选 Boolean 为 True 表示从服务端参数表中取,为 False 表示从客户端参数表取,缺省时默认为 False。

返回值


如果取不到或发生错误时返回 DefaultValue 指定的默认值,否则返回取到的根据不同 DataType 返回的不同的 Variant 子类型的参数值。


OnServer缺省时默认为FALSE,相从date取数需要GetParameter (ParameterName, , , , , TRUE]) 这样用,但在控件来源中连续参数缺省会报错,如下图:

点击图片查看大图


      为了能在控件来源中使用GetParameter得到date中的数据,取了个巧,main中的SysLocalParameters 表我也创建了一样的记录,当需要从main中取数时,先同步到main中,在用GetParameter (ParameterName)。

为了减轻同步到main时的工作量,写了两个函数。


示   例:

点击下载此附件


同步一条记录:

Function updateOneUMParameter(tempParameterName As String) As Boolean
On Error GoTo ErrorHandler
    Dim tempValue As String
    tempValue = DLookup("Value", "Sys_ServerParameters", "ParameterName = '" & tempParameterName & "'")
    DoCmd.SetWarnings False
    DoCmd.RunSQL "Update SysLocalParameters  SET SysLocalParameters.[Value] = '" & tempValue & "' Where [SysLocalParameters].[ParameterName] = '" & tempParameterName & "'"
    'Debug.Print ("Update SysLocalParameters  SET SysLocalParameters.[Value] = '" & tempValue & "' Where [SysLocalParameters].[ParameterName] = '" & tempParameterName & "'")
    DoCmd.SetWarnings True
    updateOneUMParameter = True
    Exit Function
 
ErrorHandler:
    updateOneUMParameter = False
    Exit Function

End Function
点击图片查看大图



同步多条记录:

Function updateAllUMParameter() As Boolean
On Error GoTo ErrorHandler
    Dim ParameterNamen() As String
    ParameterNamen() = Split("aFouceDate,aLastDate,aLastInprocessDate,aLastReserveDate", ",")
    
    Dim n As Long
    Dim ParameterNamenCount As Long
    ParameterNamenCount = UBound(ParameterNamen) - LBound(ParameterNamen)
    For n = 0 To ParameterNamenCount
        Dim tempParameterName As String
        tempParameterName = ParameterNamen(n)
        Dim tempValue As String
        tempValue = DLookup("Value", "Sys_ServerParameters", "ParameterName = '" & tempParameterName & "'")
        DoCmd.SetWarnings False
        DoCmd.RunSQL "Update SysLocalParameters  SET SysLocalParameters.[Value] = '" & tempValue & "' Where [SysLocalParameters].[ParameterName] = '" & tempParameterName & "'"
        'Debug.Print ("Update SysLocalParameters  SET SysLocalParameters.[Value] = '" & tempValue & "' Where [SysLocalParameters].[ParameterName] = '" & tempParameterName & "'")
        DoCmd.SetWarnings True
    Next n
    updateAllUMParameter = True
    Exit Function
 
ErrorHandler:
    updateAllUMParameter = False
    Exit Function

End Function

点击图片查看大图


同步单条记录用法:

call updateAllUMParameter(要同步的记录)


同步多条记录用法:

ParameterNamen() = Split("aFouceDate,aLastDate,aLastInprocessDate,aLastReserveDate", ",")


在以上语句中定义要同步的记录

call updateAllUMParameter()


使用举例:

点击图片查看大图

点击图片查看大图



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助