如何在 MS Access 中选择是/否字段(我收到错误消息)

Posted

技术标签:

【中文标题】如何在 MS Access 中选择是/否字段(我收到错误消息)【英文标题】:How to select Yes/No field in MS Access (I get an error) 【发布时间】:2014-06-29 14:43:18 【问题描述】:

现在我有这个代码:

 Dim adapter As New OleDbDataAdapter("Select 1stShift as [First Shift] from &_ 
 EmployeeDesignation where EmployeeID= '" & empID & "' and &_
 DesignationDate= '" & day & "'", DBConnection)

我收到错误“查询表达式'1stShift'中的语法错误(缺少运算符)。

但是,如果我将 1stShift 更改为 EmployeeID 或 DesignationDate,它们都是“文本”字段,它就可以正常工作。

请赐教。谢谢!

【问题讨论】:

在该字段名称周围加上方括号。 1stShift 是一个表或列还是什么?那是你的实际 SQL 吗?您应该使用参数来避免 SQL 注入攻击、来自某些字符串的错误以及更具可读性的 SQL。而且您的问题似乎与标题无关 【参考方案1】:

尝试将1stShift 放在方括号中:

"Select [1stShift] . . . "

许多数据库不允许常规标识符以数字开头。如果是这样,那么它期望在可能产生错误的数字(某种)后面有一个运算符。

【讨论】:

【参考方案2】:

假设 1stShift 是一个有效的列名,这应该可以工作

 Dim adapter As New OleDbDataAdapter("Select [1stShift] as [First Shift] from " &_ 
 "EmployeeDesignation where EmployeeID= '" & empID & "' and "&_
 "DesignationDate= '" & day & "'", DBConnection)

【讨论】:

以上是关于如何在 MS Access 中选择是/否字段(我收到错误消息)的主要内容,如果未能解决你的问题,请参考以下文章

完成某些字段后,使字段在 MS Access 表单中可见

如何在 MS Access 的追加查询中将数据类型从文本转换为是/否?

根据组合框选择切换表单上其他字段的可见性 - MS Access

如何在 ms-access 中使用 ISNULL 函数

如何在 MS Access 中定义复合键?

如何检查多值字段是不是包含值 MS Access