【问题标题】:Displaying selected values only in VB6仅在 VB6 中显示选定的值
【发布时间】:2016-11-14 14:36:03
【问题描述】:

我正在尝试在“是”处于活动状态的数据网格中显示学生。如果学生的“否”处于活动状态,则表格必须将其隐藏并仅向学生显示“是”。 我现在收到的问题是

FROM 子句中的语法错误。

代码:

Private Sub Form_Load()
Dim sql As String

connSearch.Open connstr
Adodc1.ConnectionString = conn.connstr

sql = "select * from Table1 where Active  <>" & "'No'"

Adodc1.RecordSource = sql
Set StudentTable.DataSource = Adodc1
Adodc1.Refresh
Adodc1.Visible = False
End Sub

【问题讨论】:

  • 该表实际上命名为“Table1”吗?

标签: sql ms-access datagrid vb6 ado


【解决方案1】:

什么是Active
如果ActiveBoolean 数据类型(是/否),则可选值为TrueFalse。在这种情况下,您的查询是:

"select * from Table1 where Active <> False"

如果ActiveString数据类型; 'no''No' 是相同的值吗?你最好将全部转换为小写或大写:

"select * from Table1 where Ucase(Active) <> 'NO'"

编辑:修改后的代码

Dim sql As String

sql = "select * from Table1 where [Active] <> 'No'"
Adodc1.ConnectionString = conn.connstr
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = sql
Set StudentTable.DataSource = Adodc1
Adodc1.Refresh
Adodc1.Visible = False

【讨论】:

  • 我使用了第二种选择,它仍然给我 FROM 子句中的语法错误。 当我调试它时,它在语句 @ 中显示 false 987654333@.
  • 请检查他的表名(Table1)是否拼写正确。
  • 而且我建议还要确保Active 确实是String 类型,而不是Yes/No,换句话说,'No' 实际上是String
  • 是的,它是一个字符串类型,在数据库中你可以选择“是”或“否”。
  • 表名拼写是否正确?我还建议您在设计视图中打开表格,并在那里查看Active 的数据类型,在电子表格视图中输入并不总是一个明确的指示......
猜你喜欢
  • 1970-01-01
  • 2011-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多