Команда выбора полей дает ошибку - PullRequest
0 голосов
/ 05 мая 2018

Я хочу отсортировать несколько полей в базе данных доступа, но, будучи новичком, я взял ссылку из программы 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. Любой указатель в правильном направлении должен быть высоко оценен.

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Сначала вы должны установить sql в переменную - это значительно упростит поиск и устранение неисправностей - вы сможете увидеть, что вы пропустили некоторые пробелы между ключевыми словами и таблицей

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

Должно быть (с добавленными скобками для таблицы, как предложено @skkakkar)

   Set rst = dbs.OpenRecordset("SELECT ACT_CD, " _
        & "SNO FROM [Banks_Trnx_2018-2019] " _
        & "ORDER BY SNO DESC;")
0 голосов
/ 05 мая 2018

У вас есть - в названии вашей таблицы. Я даже не думал, что это разрешено, либо заключите квадратные скобки вокруг имени таблицы, либо измените имя таблицы.

"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;"

и изменить имя таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...