Access vba设置有记录级的效性规则

2019-01-24 15:58:00
tmtony8
原创
663

在Access中,我们录入数据需要判断数据是否符合规则。所以在表设计时,可以设置有效性规则来限制数据的录入。

前面的文章中有讲解如何在表中设置有效性规则《Access限制表字段中录入不规则的数据


这里我们讲下如何用vba创建有效性规则

使用 SetTableValidation 函数来设置记录级的有效性规则,以确保“离职日期”字段中的值比“工作开始日期”字段中的值要晚。

    Dim strTblName As String
    Dim strValidText As String
    Dim strValidRule As String
    Dim intX As Integer
    
    strTblName = "工作"
    strValidRule = "离职日期 > 工作日期"
    strValidText = "录入的离职日期必须必工作日期要晚!"
    intX = SetTableValidation(strTblName, strValidRule, strValidText)
    
    

Function SetTableValidation(strTblName As String, strValidRule As String, strValidText As String) As Integer
    
    Dim dbs As DAO.Database, tdf As TableDef
    
    Set dbs = CurrentDb
    Set tdf = dbs.TableDefs(strTblName)
    tdf.ValidationRule = strValidRule
    tdf.ValidationText = strValidText
End Function



如果“离职日期”比“离职日期”工作日期早。会提示错误。



如果“离职日期”比“工作日期”要晚,正常填写数据



    分享