根据记录设置窗体默认值-何勇
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


根据记录设置窗体默认值

发表时间:2008/6/9 16:49:05 评论(1) 浏览(10894)  评论 | 加入收藏 | 复制
   
摘 要:根据记录设置窗体默认值
正 文:

Public Function setFormCtlDefValue(ByVal theForm As Form, _
                                   ByVal TempTables As String, _
                                   ByVal TempFieldsCtl As String, _
                                   ByVal orderCtl As String, _
                                   Optional TempWhereSql As String = "") As Boolean


'=========================================================================================
'-函数名称: setFormCtlDefValue
'-功能描述: 根据记录设置子窗体默认值
'-输入参数: 参数1:theForm    窗体名称
' 参数2:TempTables  表名称
' 参数3:orderCtl   排序字段
' 参数4:TempWhereSql 临时的where语句
'-返回参数: True 为设置成功,False 为设置失败
'-使用示例: setFormCtlDefValue Me, "表名称","字段1,字段2,字段3", "排序字段"
'-相关调用:
'-使用注意:必须引用ADO
'-兼 容 性:
'-参考资料:
'-作 者: cuxun
'-创建日期: 2008年6月9日
'========================================================================================
    Dim Conn As ADODB.Connection
    Dim abString() As String
    '''用逗号分隔
    Dim rst As New ADODB.Recordset
    Dim strSQL As String
    Dim i As Integer
    setFormCtlDefValue = False
    '如果窗体是新记录状态就退出函数
    If Not theForm.NewRecord Then Exit Function
    Set Conn = CurrentProject.Connection
    If Right(TempFieldsCtl, 1) = "," Then TempFieldsCtl = Mid(TempFieldsCtl, 1, Len(TempFieldsCtl) - 1)
    abString() = Split(TempFieldsCtl, ",")
    If Len(TempWhereSql) > 0 Then TempWhereSql = " where " & TempWhereSql
    strSQL = "Select top 1 " & TempFieldsCtl & " FROM " & TempTables & TempWhereSql & " orDER BY " & orderCtl & " desc;"
    rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
    If Not rst.EOF Then
        For i = 0 To UBound(abString)
            theForm.Controls(abString(i)).DefaultValue = "'" & rst(i) & "'"
        Next
    Else: setFormCtlDefValue = False
        Exit Function
    End If
    setFormCtlDefValue = True
    rst.Close
    Set rst = Nothing
    Set Conn = Nothing
End Function

示例下载:http://www.accessoft.com/article-show.asp?id=2186


Access软件网交流QQ群(群号:198465573)
 
 相关文章
【access入门】Access列表框默认值显示第几条\Acces...  【麥田  2011/5/17】
【access源码示例】通过文本框设定更改表中默认值的示例  【红尘如烟  2011/8/26】
sql server中datetime默认值设置和日期函数   【赵文斌  2011/11/17】
【Access示例】为组合框设置默认值  【缪炜  2013/7/28】
常见问答
技术分类
相关资源
文章搜索
关于作者

何勇

文章分类

文章存档

友情链接