设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3080|回复: 2
打印 上一主题 下一主题

[Access本身] 错误提示“表达式中数据类型不匹配”问题

[复制链接]
跳转到指定楼层
1#
发表于 2007-12-25 13:53:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2007-12-25 16:06:08 | 只看该作者
CUXUN大大,我试了一下,还是没有解决问题!
“新建、修改、删除”按钮的代码我都已经改好了,就是“保存”这个代码一直提示“类型不匹配”问题,请帮我看一下。我上传了程序!

另外,在查询“复选框”字段时,现在的输入的查询条件是“1”和“0”,有没有办法转换成文字,比如“是”或“否”呢?请教思路!祝:圣诞快乐
3#
 楼主| 发表于 2007-12-26 14:28:17 | 只看该作者
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 语法错误,我找了好久也没有找到哪里不对,再烦请版主大大在帮忙看一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-16 06:57 , Processed in 0.085816 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表