powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Команда RunSQL. Где ошибка?
25 сообщений из 39, страница 1 из 2
Команда RunSQL. Где ошибка?
    #34687074
digit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В коде VBA пишу команду:
DoCmd.RunSQL ("SELECT * FROM [Спецификации] " & sqL & ";")

предварительно строковой переменной sqL задается значение:
sqL = "WHERE Диаметр = diam AND Тип Is Not Null AND Толщина Is Not Null"

Ошибка: "Для команды ЗапускЗапросаSQL требуется аргумент, состоящий из инструкции SQL".

Где я накосячил?)
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687106
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что такое diam ? Судя по sql это поле в таблице в [Спецификации], но в той же таблице есть еще и поле Диаметр... странно это как то.
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687748
Фотография IguMEN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После Where должно идти имя таблиццы!
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687749
Фотография IguMEN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, перепутал Все ))))
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687750
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И точка с запятой лишняя.
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687752
Фотография IguMEN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй вместо is not поставить <>
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687762
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пробуй.
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687799
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyНе пробуй.
))
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687818
digit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
короче, парни, не до смеха мне)

команда такая:
DoCmd.RunSQL ("SELECT * FROM [Спецификации] WHERE Диаметр = diam AND Тип Is Not Null AND Толщина Is Not Null")

здесь:
спецификации - это таблица
диаметр, тип и толщина - это поля в ней
diam - переменная с заданным значением (скажем 100)

Нужно:
WHERE [Спецификации].[Диаметр] = diam и т.д.??? Синтаксис какой?
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687828
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
digitкороче, парни, не до смеха мне)

команда такая:
DoCmd.RunSQL ("SELECT * FROM [Спецификации] WHERE Диаметр = diam AND Тип Is Not Null AND Толщина Is Not Null")

здесь:
спецификации - это таблица
диаметр, тип и толщина - это поля в ней
diam - переменная с заданным значением (скажем 100)

Нужно:
WHERE [Спецификации].[Диаметр] = diam и т.д.??? Синтаксис какой?

Dim diam as Long
diam =100
"WHERE Диаметр =" & diam & " AND Тип Is Not Null AND Толщина Is Not Null"
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687893
digit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKO
Изменения внес. Если заменить переменные их значениями, то выходит так:

DoCmd.RunSQL ("SELECT * FROM [Спецификации на товары] WHERE Диаметр = 100 AND Тип Is Not Null AND Толщина Is Not Nul;")

ошибка та же..
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687907
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
digit TIKO
Изменения внес. Если заменить переменные их значениями, то выходит так:

DoCmd.RunSQL ("SELECT * FROM [Спецификации на товары] WHERE Диаметр = 100 AND Тип Is Not Null AND Толщина Is Not Nul;")

ошибка та же..

Толщина Is Not Null;") еще одно l добавь
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687924
digit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKO
Толщина Is Not Null;") еще одно l добавь

Да не, эт я здесь опечаталсо, в коде все норм)
Ошибка такая: "Для команды ЗапускЗапросаSQL требуется аргумент, состоящий из инструкции SQL". Выходит то, что у меня идет после DoCmd.RunSQL написано неверно, походу синтаксис другой..
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687934
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
digit TIKO
Толщина Is Not Null;") еще одно l добавь

Да не, эт я здесь опечаталсо, в коде все норм)
Ошибка такая: "Для команды ЗапускЗапросаSQL требуется аргумент, состоящий из инструкции SQL". Выходит то, что у меня идет после DoCmd.RunSQL написано неверно, походу синтаксис другой..
не знаю поможет или нет но можно так попробовать поставить NOT

Диаметр = diam AND NOT Тип Is Null AND NOT Толщина Is Null
и еще какой типа данных у столбцов
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687937
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убери точку с запятой.
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687960
digit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вощем, провел эксперимент

простейшее выражение
DoCmd.RunSQL ("SELECT * FROM [Спецификации на товары] WHERE Диаметр = 100")

выдает ошибку (какую - см. выше).
Прошу заметить, ни точки с запятой, ни вариаций на тему Null/Not Null тут нету.
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687980
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тогда еще такой вариант
SELECT * FROM `Спецификации на товары` WHERE Диаметр = 100
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34687992
digit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKOтогда еще такой вариант
SELECT * FROM `Спецификации на товары` WHERE Диаметр = 100

выдает: "синтаксическая ошибка в запросе" =(
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34688030
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тип какой у колонки Диаметр ?
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34688044
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
просто запусти без условия что б проверить где ошибка в названии таблицы или в условии
DoCmd.RunSQL ("SELECT * FROM [Спецификации на товары] ")
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34688056
digit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKOтип какой у колонки Диаметр ?
числовой, целое
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34688057
digit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKOпросто запусти без условия что б проверить где ошибка в названии таблицы или в условии
DoCmd.RunSQL ("SELECT * FROM [Спецификации на товары] ")

та же ошибка..
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34688073
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
digit TIKOпросто запусти без условия что б проверить где ошибка в названии таблицы или в условии
DoCmd.RunSQL ("SELECT * FROM [Спецификации на товары] ")

та же ошибка..
сделай запрос в режиме скуля по этой таблице и посмотри как скул вводит название этой таблицы в тексте запроса
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34688118
dmitry_do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
digitВ коде VBA пишу команду:
DoCmd.RunSQL ("SELECT * FROM [Спецификации] " & sqL & ";")

предварительно строковой переменной sqL задается значение:
sqL = "WHERE Диаметр = diam AND Тип Is Not Null AND Толщина Is Not Null"

Ошибка: "Для команды ЗапускЗапросаSQL требуется аргумент, состоящий из инструкции SQL".

Где я накосячил?)

Для начала строку покажи, которую ты используешь как аргумент для команды runsql. Т.е. такую, какая у тебя сформировалась после всех подстановок. А вообще, по моему она не должна быть в скобках, я по крайней мере их никогда не использую.
...
Рейтинг: 0 / 0
Команда RunSQL. Где ошибка?
    #34688119
digit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKOсделай запрос в режиме скуля по этой таблице и посмотри как скул вводит название этой таблицы в тексте запроса

мастер запросов делает такой запрос:

SELECT *
FROM [Спецификации на товары]
WHERE [Спецификации на товары].Диаметр = 76;

пашет идеально)
сую то же самое в VBA - не пашет.. может низя в одну строчку, нужно абзацы указать?
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Команда RunSQL. Где ошибка?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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