Office中国论坛/Access中国论坛
标题:
错误提示“表达式中数据类型不匹配”问题
[打印本页]
作者:
REORX
时间:
2007-12-25 13:53
标题:
错误提示“表达式中数据类型不匹配”问题
Private Sub 保存记录_Click()
On Error GoTo Err_保存记录_Click
Dim i As Integer
Dim STemp As String
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
'为打开数据表“查询语句”字符变量赋值
STemp = "Select * From 团组接待表"
'打开“团组接待表”数据表
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'判断“文件编号”等文本框是否为空
If IsNull(Me![文件编号]) = True Then
'弹出提示“文件编号”文本框不可以为空信息
MsgBox "请输入“文件编号”,它不可以为空值!", vbOKOnly, "输入“文件编号”"
'把光标置于“职员ID”文本框内
Me![文件编号].SetFocus
'退出子过程
Exit Sub
ElseIf IsNull(Me![团组名称]) = True Then
MsgBox "请输入“团组名称”,它不可以为空值!", vbOKOnly, "输入“团组名称”"
Me![团组名称].SetFocus
Exit Sub
Else
'循环判断该文件编号是否存在
If Rs.RecordCount > 0 Then
Rs.MoveFirst
For i = 1 To Rs.RecordCount
'如果存在,弹出信息并退出子过程
If Rs("文件编号") = Me![文件编号] Then
MsgBox "该文件编号已经存在,请核实后重新输入!", vbCritical, "记录已经存在"
Exit Sub
Else
Rs.MoveNext
End If
Next i
End If
End If
'为保存团组接待表“查询语句”字符变量赋值
STemp = "INSERT INTO 团组接待表 "
STemp = STemp & "( 团组编号,文件编号,团组名称,所属国家地区,团组人数,来访时间,停留日期,"
STemp = STemp & "目的地,下榻宾馆,是否是商务团,联系人及联系方式,备注)"
STemp = STemp & "VALUES ('" & Me![团组编号] & "','" & Me![文件编号] & "',"
STemp = STemp & "'" & Me![团组名称] & "','" & Me![所属国家地区] & "',"
STemp = STemp & "'" & Me![团组人数] & "','" & Me![来访时间] & "',"
STemp = STemp & "'" & Me![停留日期] & "','" & Me![目的地] & "',"
STemp = STemp & "'" & Me![下榻宾馆] & "','" & Me![是否是商务团] & "',"
STemp = STemp & "'" & Me![联系人及联系方式] & "','" & Me![备注] & "')"
'使用DoCmd对象的RunSQL方法执行查询
DoCmd.RunSQL STemp
'刷新“团组接待表子窗体”子窗体
Me![团组接待表子窗体].Requery
'弹出“保存完成”的提示信息
MsgBox "团组接待表已经保存完成!", vbOKOnly, "保存完成"
'释放系统为Rs数据集分配的空间
Set Rs = Nothing
Exit_保存记录_Click:
'释放系统为Rs数据集分配的空间
Set Rs = Nothing
Exit Sub
Err_保存记录_Click:
MsgBox Err.Description
Resume Exit_保存记录_Click
End Sub
请老师朋友们帮我看看这段程序,这是一个录入数据存储按钮代码,在执行时总显示“
表达式中数据类型不匹配
”。
这段程序是引用其它老师的程序改过来的,在源泉程序中,输入字段全部是文字。而我的字段中“是否是商务团”字段是“复选框”字段,是不是因为这个原因导致程序不能被执行,如果是,我应该怎样来设置这个“复选框”呢?特此请教!
[
本帖最后由 REORX 于 2007-12-26 10:17 编辑
]
作者:
REORX
时间:
2007-12-25 16:06
CUXUN大大,我试了一下,还是没有解决问题!
“新建、修改、删除”按钮的代码我都已经改好了,就是“保存”这个代码一直提示“类型不匹配”问题,请帮我看一下。我上传了程序!
另外,在查询“复选框”字段时,现在的输入的查询条件是“1”和“0”,有没有办法转换成文字,比如“是”或“否”呢?请教思路!祝:圣诞快乐
作者:
REORX
时间:
2007-12-26 14:28
STemp = "INSERT INTO 团组接待表 "
STemp = STemp & "( 团组编号,文件编号,团组名称,所属国家地区,团组人数,来访时间,停留日期,"
STemp = STemp & "目的地,下榻宾馆,是否是商务团,联系人及联系方式,备注)"
STemp = STemp & "VALUES ('" & Me![团组编号] & "','" & Me![文件编号] & "',"
STemp = STemp & "'" & Me![团组名称] & "','" & Me![所属国家地区] & "',"
STemp = STemp & "" & Me![团组人数] & ",#" & Me![来访时间] & "#,"
STemp = STemp & "#" & Me![停留日期] & "#,'" & Me![目的地] & "',"
STemp = STemp & "'" & Me![下榻宾馆] & "','" & Me![是否是商务团] & "',"
STemp = STemp & "'" & Me![联系人及联系方式] & "','" & Me![备注] & "')"
团组编号是"自动编号"
团组人数是"数字型"
来访时间和停留日期都是"日期型"
我已经按CUXUN版主的提示做了修改,现在情况是不弹出类型不匹配的对话框,但提示INSERT INTO 语法错误,我找了好久也没有找到哪里不对,再烦请版主大大在帮忙看一下!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3