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

报销教程学习之技巧总结1:姓名文本框输入字符数自动检测

时 间:2013-02-06 15:44:30
作 者:张晓   ID:14431  城市:舟山
摘 要:取得当前数据库表格中某字段的长度
正 文:

   报销教程中,新增窗体的制作中,有自动检测姓名是否存在的语句。但在实际操作过程中,还缺少自动检测文本框内字符长度的语句。教程(2010版)中的【4.3 新增窗体的制作】的最后部分也提到,截图如下:

为了处理这个errhandle,我们可以用以下语句检测文本框内字符长度

 

If Len(Me.ygxm) > 10 Then
        MsgBox "您输入的字符过长,请重新输入!", vbCritical, "请不要超过20个字符"
        Me.ygxm.SetFocus
        Exit Sub
 End If
但是如果我们调整了表格中字段的长度,比如把tblcodeyg中字段ygxm的长度由原来的10缩短到4,就需要修改上面的判断语句


因此。我写了个取得表格中字段长度的函数——intFieldsLens,这样可以自动判断字段长度,上面的语句就可以这样写


    If Len(Me.ygxm) > IntFieldLen("tblcodeyg", "ygxm") Then '取得某表某字段的长度
        MsgBox "您输入的字符过长,请重新输入!", vbCritical, "请不要超过20个字符"
        Me.ygxm.SetFocus
        Exit Sub
    End If


 

函数intFieldsLens的代码如下:

Public Function IntFieldLen(ByVal sTableName As String, ByVal sFieldName As String) As Integer
'检测表中字段长度
'使用示例: IsExistField("订单表","订单日期") 测订单表字段长度
    Dim fld As Field
    Dim rs As DAO.Recordset
    IntFieldLen = 0
    Set rs = CurrentDb.OpenRecordset(sTableName)
    For Each fld In rs.Fields
        If fld.Name = sFieldName Then
            IntFieldLen = fld.Size
            Exit For
        End If
    Next
    rs.Close
    Set rs = Nothing
    Set fld = Nothing
    
ExitHere:
    Set rs = Nothing
    Set fld = Nothing
    Exit Function
    
ErrorHandler:
    MsgBox Err.Description, vbInformation, "提示"
    Resume ExitHere
End Function


附上我们的新增窗口窗体文件,里面有全部代码

点击下载此附件



Access快速开发平台QQ群 (群号:321554481)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

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