VB6、MS Access、DAO - 显示列名不为空的所有记录

VB6, MS Access, DAO - Display all records WHERE column-name IS NOT NULL

我需要一些帮助,所以我想做的是显示列名不为空的所有记录。我有的是:

将 rs 调暗为记录集 将 sqlStr 调暗为字符串

Set WS = DBEngine.Workspaces(0)
DbFile = (App.Path & "\mydb.mdb")

strSql = "SELECT * FROM MyDatabaseName"

Set rs = db.OpenRecordset(strSql)
rs.MoveFirst

Do While Not rs.EOF
lblResult.Caption = ("cust Name: " & rs!SurName & " cust Surname: " & rs!FirstName)
  rs.MoveNext
Loop

MsgBox ("End ")

我试过的是

strSql = "SELECT * FROM MyDatabaseName WHERE column-name IS NOT NULL"

但我收到错误 3131。感谢任何帮助。另外,如何在 ListBox 中显示结果而不是标签。

简单修复:使用特殊字符时将列名称括在方括号中,例如 - 减法运算符:

strSql = "SELECT * FROM MyDatabaseName WHERE [column-name] IS NOT NULL"

你的其他 SQL 似乎有效。

如果您想要一个以该查询的结果作为列表的列表框,只需将其行源设置为该查询,并将其行源类型设置为Table/Query。不需要任何 VBA.

如果要将所有内容都放在标签中,请使用:

Do While Not rs.EOF
  lblResult.Caption = lblResult.Caption & "cust Name: " & rs!SurName & " cust Surname: " & rs!FirstName & VbCrLf
  rs.MoveNext
Loop