|
很郁闷,在刚做好新增资料时,新增资料没有任何问题,但在后面一步步完善其它代码时,反而新增这个出问题了用 MsgBox "姓名" & VarType(Me.姓名) 测试,文本框居然都变为日期类,对“姓名”等,好说,我可以用cstr涵数转换,但对日期类型就不知道怎么办好了,代码如下:
Private Sub cmsave_Click()
If Trim(Me.工号) = "" Or Trim(Me.姓名) = "" Or Trim(Me.性别) = "" Or Trim(Me.出生年月) = "" Or Trim(Me.身份证) = "" Or Trim(Me.进厂时间) = "" Then
MsgBox "内容未填写完整!工号、姓名、性别、出生年月、身份证、进厂时间为必填内容。"
Exit Sub
End If
If IsNull(Trim(Me.工号)) Or IsNull(Trim(Me.姓名)) Or IsNull(Trim(Me.性别)) Or IsNull(Trim(Me.出生年月)) Or IsNull(Trim(Me.身份证)) Or IsNull(Trim(Me.进厂时间)) Then
MsgBox "内容未填写完整!工号、姓名、性别、出生年月、身份证、进厂时间为必填内容。"
Exit Sub
End If
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "员工资料", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs.AddNew
rs("工号") = Val(Me.工号)
rs("姓名") = CStr(Trim(Me.姓名))
rs("性别") = CStr(Trim(Me.性别))
rs("出生年月") = Me.出生年月 '这个字段为必填,所以ACCESS没有报类型不匹配错误
rs("进厂时间") = Me.进厂时间 '必填字段
rs("离职日期") = Me.离职日期 '非必填字段,当保留空白时,程序在这里报“类型不匹配”错误
rs("离职原因") = CStr(Trim(Me.离职原因))
rs("联系电话") = CStr(Trim(Me.联系电话))
rs.Update
rs.Close
Set rs = Nothing
Me.员工资料查询子窗体.Requery
MsgBox "记录已成功添加!"
End If
End Sub
在报错字段处改为
If Trim(Me.姓名) <> "" And IsNull(Trim(Me.姓名)) = False Then rs("离职日期") = Me.离职日期
还是不行。这里应该怎么改? |
|