选择字段命令出错

Selecting fields command gives error

我想对访问数据库中的多个字段进行排序,但作为新手,我参考了 MSDN 程序并首先尝试对单个字段进行排序。我在以下几行收到语法错误的错误。

Set rst = dbs.OpenRecordset("SELECT ACT_CD, " _
& "SNO FROM Banks_Trnx_2018-2019" _
& "ORDER BY SNO DESC;")

完整程序如下

 Option Compare Database

Sub OrderByX()

    Dim dbs As Database, rst As Recordset

    ' Modify this line to include the path to Northwind
    ' on your computer.
    Set dbs = OpenDatabase("E:\FY_2018-2019\Banks\Banks_Trnx_2018-2019.accdb")

    ' Select the last name and first name values from
    ' the Employees table, and sort them in descending
    ' order.
   Set rst = dbs.OpenRecordset("SELECT ACT_CD, " _
        & "SNO FROM Banks_Trnx_2018-2019" _
        & "ORDER BY SNO DESC;")
    ' Populate the Recordset.
    rst.MoveLast

    ' Call EnumFields to print recordset contents.
   ' EnumFields rst, 12

    dbs.Close

End Sub

我一无所知。请帮忙。如前所述,我想对包含文本和数字字段的三个字段(多个字段)进行排序,目前我可以通过按正确顺序设置列并在排序时一起选择它们来轻松完成。由于这是一个重复的操作,我正在尝试为此开发 VBA 程序。任何指向正确方向的指针都将受到高度赞赏。

您的 table 名字中有一个 -。我什至不认为这是允许的,要么在你的 table 名称周围加上括号,要么更改 table 名称。

"SELECT ACT_CD, " _
& "SNO FROM [Banks_Trnx_2018-2019]" _
& "ORDER BY SNO DESC;"

"SELECT ACT_CD, " _
& "SNO FROM [Banks_Trnx_2018_2019] " _
& "ORDER BY SNO DESC;"

并更改 table 名称。

您应该先将 sql 设置为一个变量 - 这样更容易进行故障排除 - 您将能够看到您在关键字和 table[ 之间遗漏了一些空格=12=]

   Set rst = dbs.OpenRecordset("SELECT ACT_CD, " _
        & "SNO FROM [Banks_Trnx_2018-2019]" _
        & "ORDER BY SNO DESC;")

应该是(根据@skkakkar 的建议为 table 添加括号)

   Set rst = dbs.OpenRecordset("SELECT ACT_CD, " _
        & "SNO FROM [Banks_Trnx_2018-2019] " _
        & "ORDER BY SNO DESC;")