powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Error on OpenRecordset line! HELP!!!
21 сообщений из 21, страница 1 из 1
Error on OpenRecordset line! HELP!!!
    #32476533
Фотография Moorka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

У меня вопросик не большой, поэтому кто знает тот сразу сообразит.

Строка:
Set t_abonents = db.OpenRecordset("Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS" & "WHERE CODE=Text1.value")

Выкидывает ERROR: run-time error: syntax error in FROM clause!!!

Я пробовала и по другому написать:
Set t_abonents = db.OpenRecordset("Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS" & "WHERE CODE=' "Text1.value" ' ")

но мне сам VBA не дает. Просит чтобы я ненужные кавычки и т.п. стерла...

Посоветуйте, что делать!!!
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476536
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Естественно, потому что там получается слитно ABONENTSWHERE.
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476537
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кстати, "Text1.value" в селекте тоже работать не будет.
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476538
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
/topic/36767&pg=8#588197
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476542
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если Техт1.Value имеет значение стринг:

db.OpenRecordset("Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS" & _
"WHERE CODE=' " & Text1.value & " ' ")

а если значение числовое то:

db.OpenRecordset("Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS" & _
"WHERE CODE=" & Text1.value & " ")
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476549
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извиняюсь, проглядел, после ABONENTS один пробел идет.

2 ВС, Text1.Value в SELECT работает.
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476552
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
EDUDK01Text1.Value в SELECT работает.
Селект знает только поля таблиц и запросов, которые включены в него. Text1.Value - это свойство контрола на форме.
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476561
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санычь, так ведь если из формы процедура запускается то Me!Text1.Value будет работать, или мы о разном? :)
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476562
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интегрально если CODE текстовое поле то примерно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim MyDb As Database
Dim MyRst As Recordset
Dim MyStr As String
Set MyDb = CurrentDb
MyStr =  "select * from ABONENTS where CODE = "  & Chr( 34 ) & Me![P_1] & Chr( 34 )
Set MyRst = MyDb.OpenRecordset(MyStr)
If MyRst.RecordCount <>  0  Then MsgBox (MyRst![CODE])
MyRst.Close
Set MyDb = Nothing


Саныч
Селект знает только поля таблиц и запросов, которые включены в него. Text1.Value - это свойство контрола на форме

это не так
создай на форме поле залезь в построитель запросов
условие отбора-построить-формы-загруженные формы- твое поле

Jet несомненно позволяет использовать в запросах уйму ссылок

твое рассуждение относится к запросам на SQL сервере !
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476563
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 EDUDK01:

Я о селекте. Если написать в селекте Me или Text1 или Me!Text1.Value, то работать не будет. А если вместо этого подставить в селект значение контрола, то будет.

Три варианта:

Если написать
"Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS WHERE CODE=Text1.value"
то получится
Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS WHERE CODE=Text1.value
т.е. Text1.value прямо в селекте - работать не будет.

Если написать
"Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS WHERE CODE='" & Text1.value & "'"
то получится
Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS WHERE CODE='абв'
- работать будет, но Text1.value в селекте отсутствует .

И кстати: если написать (см. сегодня, 18:35 )
"Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS WHERE CODE=' " & Text1.value & " ' "
то получится
Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS WHERE CODE=' абв '
- и тоже работать не будет (из-за лишних пробелов).
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476565
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Shuhard:

Но для этого надо писать либо Forms!имяформы! и т.д., либо (если селект является свойством чего-нибудь на самой форме) Form! и т.д.
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476567
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санычь, понял что ты имеешь ввиду :)
кстати, в сообщении от 18:35 выражение выглядит так:

'(нет пробела)"(пробел) & (пробел) Text1.value (пробел) & (пробел) "(нет пробела) ' (нет пробела)"

проверял, работает.
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476568
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Копирую из 18:35.

"WHERE CODE=' " & Text1.value & " ' ")
"WHERE CODE='_" & Text1.value & "_'_")

То, что я заменил на красное подчеркивание, - это были пробелы.
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476571
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санычь ну вы в израиле конечно далеко пошли решив соеденить азбуку морзе с SQL :)
На самом деле если из сообщения копируешь эти строки в акцесс то пробелы сами вставляются. Придется описывать процедуру явно: есть пробел, нет пробела. :)
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476575
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть две похожие ситуации с построением Sql строки
- для OpenRecordSet нужны chr(34) и работает нотация Me![P_1]
- для RowSource нужна полная форма Forms![имя_формы]![P_1]
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476578
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
EDUDK01На самом деле если из сообщения копируешь эти строки в акцесс то пробелы сами вставляются.
А в слове Саныч сам вставляется мягкий знак.
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476579
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Shuhard:

Ну не будет Me работать в селекте. См. сегодня, 19:26. Не надо путать сам селект и программу, которая его составляет.
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476618
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я свои примеры стараюсь проверять у меня mdb Acc97
будучи размещен под кнопочкой работает
если взглянуть на строчку то естественно в Where сидит значение("123") а не ссылка(Me![P_1])
но имено это для RecordSeta и надо
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476623
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Shuhardесли взглянуть на строчку то естественно в Where сидит значение("123") а не ссылка(Me![P_1])
Ёлы-моталы. Так я же это и говорю. Вот EDUDK01 понял это еще в 19:47.
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476850
Фотография Moorka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUDK01:
если Техт1.Value имеет значение стринг:

db.OpenRecordset("Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS" & _
"WHERE CODE=' " & Text1.value & " ' ")

не работает, уже пробовала.
выделяет линию "пробела" в месте & _ и спокойненько пишет что еррор видишь-ли и что ему символ пробела НЕ ИЗВЕСТЕН!!! е-мое.
...
Рейтинг: 0 / 0
Error on OpenRecordset line! HELP!!!
    #32476852
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А дальше прочитать?

db.OpenRecordset("Select ID,NAME,SURENAME,TEL,MP_ID FROM ABONENTS WHERE CODE='" & Text1.value & "'")
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Error on OpenRecordset line! HELP!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]