Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

运行时错误'-2147217900(80040e14)'列名'True'无效

时 间:2015-04-18 11:43:41
作 者:竹笛   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:在用ADO访问SQL SERVER数据库时的一个错误解决方案。
正 文:

一、问题描述:
     在用ADO方式访问SQL SERVER数据库时,出现如下图所示的错误:

     


所用的VBA代码为:
  Dim rst As Object
    Dim strSQL As String

    Me.sfrReport.SourceObject = "frmUMV_blank"
    '获取要统计的人员清单
    '先清空数据
    DoCmd.SetWarnings False
    DoCmd.RunSQL "Delete * FROM UMVtblTemp_Number;"
    '获取人员清单
    strSQL = "select NickName, I_UserID from tblUsers where Enabled = True"
    Set rst = OpenADORecordset(strSQL, adLockReadOnly)
    rst.movefirst
    Do Until rst.EOF
        DoCmd.RunSQL "Insert INTO UMVtblTemp_Number ( Item_Name, I_UserID ) " _
 & "Select '" & rst!NickName & "' AS A, " & rst!I_UserID & " AS B"
        rst.movenext
    Loop
    rst.Close
    Set rst = Nothing

二、解决方案:
    将strSQL的代码改为:
    strSQL = "select NickName, I_UserID from tblUsers where Enabled = 1"


三、原理:

      表中Enabled是一个bit字段,其值显示为True或False,但实际是1和0,即1代表True,0代表False。



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助