|
我在Access中创建数据表时,给其中的一些字段增加了有效性规则和有效性文本。
例:在表中有一个用户工号字段进行如下设置:
有效性规则:[用户工号] Like "DH######"
有效性文本:注意:用户工号应为DH+六位数字字符组成!
必填字段:是
允行空字符串:否
在程序中操作的代码如下:
Private Sub Cmd_Ok_Click()
Dim Ado_Rs As ADODB.Recordset
Dim SQLStr As String
On Error Resume Next
SQLStr = "select * from 用户信息表"
Set Ado_Rs = ExecuteSQL(SQLStr, adOpenKeyset, adLockPessimistic)
With Ado_Rs
.AddNew
!用户工号 = Trim$(Txt_usernum.Text)
!用户姓名 = Txt_username.Text
!用户密码 = Txt_userpassword.Text
!用户类型 = Cob_userclass.Text
!权限编码 = Trim$(Cob_userpower.Text)
PhotoSaveToDB !用户相片, Cod_photopath.FileName
.Update
If Err.Number <> 0 Then
MsgBox Err.Number & ":" & Err.Description, vbOKOnly + vbCritical, "错误"
Err.Clear
End If
End With
Ado_Rs.Close
Set Ado_Rs = Nothing
End Sub
问题如下:
程序运行总是出现错误:-2147467259 :注意:用户工号应为DH+六位数字字符组成!
如果在access中将有效性规则去掉,那么就不会出现错误!
还有就是如果我不是通过程序写入表中,而是直按打开表进行手工输入(有效性规则存在)也不会出现错误!
请问各位大虾这倒底是什么原因造成的呢?!难道是ACCESS的BUG不成???
先谢谢大家了!
|
|