Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите правильно составить SQL запрос / 11 сообщений из 11, страница 1 из 1
15.05.2019, 13:46
    #39813523
Dikker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите правильно составить SQL запрос
Всем здравствуйте. Использую для Рекордсета такую строку:
sql = "SELECT * FROM [Расписание] WHERE [Расписание]![Маршрут] like " & Forms![Мониторинг]![Маршрут] & " AND [Расписание]![График]= " & Forms![Мониторинг]![График] & " AND [Расписание]![Смена]= " & Forms![Мониторинг]![Смена] _
& " AND [Расписание]![День]= " & Forms![Мониторинг]![День] & " AND [Расписание]![Рейс]>= " & Forms![Мониторинг]![ПервыйКруг] & " AND [Расписание]![Рейс]<= " & Forms![Мониторинг]![ПоследнийКруг]

когда Forms![Мониторинг]![Маршрут] содержит только число (например 4), то все работает нормально, но стоит там появиться строке (например 4д), то выдает ошибку.

Как правильно написать?
...
Рейтинг: 0 / 0
15.05.2019, 13:59
    #39813533
bubucha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите правильно составить SQL запрос
http://www.sql.ru/faq/faq_topic.aspx?fid=157][тут]
...
Рейтинг: 0 / 0
15.05.2019, 14:32
    #39813572
Dikker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите правильно составить SQL запрос
DoubleQuote и DoubleApostrophe выдают Sub or Function not defined. Я ж за помощью сюда пришел, как не очень спец к очень спецам...
...
Рейтинг: 0 / 0
15.05.2019, 14:34
    #39813575
Помогите правильно составить SQL запрос
...WHERE [Расписание]![Маршрут] like '" & Forms![Мониторинг]![Маршрут] & "' AND ...

Несколько замечаний...
1. Оператор like уместен, если в поле "Маршрут" используются символы шаблона (например "*"), иначе используйте "="
2. Т.к. используется одна таблица, то от [Расписание]! можно отказаться, что сделает SQL строку короче
3. Если сборка SQL выполняется в модуле формы "Мониторинг", то вместо Forms![Мониторинг]![Маршрут] (и т.п.) можно указать Me![Маршрут], что сделает SQL еще короче.
4. У вас всегда заполнены все поля формы, участвующие в WHERE? Если нет, то стратегию формирования SQL надо менять.
...
Рейтинг: 0 / 0
15.05.2019, 14:44
    #39813589
Dikker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите правильно составить SQL запрос
1. Если я использую "=", то "несоответствие типов данных"
2. Переделал - работает =)
3. Переделал - работает =)
4. Все поля обязательны к заполнению
...
Рейтинг: 0 / 0
15.05.2019, 14:46
    #39813594
Dikker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите правильно составить SQL запрос
Кривцов Анатолий,
1. Если я использую "=", то "несоответствие типов данных"
2. Переделал - работает =)
3. Переделал - работает =)
4. Все поля обязательны к заполнению
...
Рейтинг: 0 / 0
15.05.2019, 15:10
    #39813607
Dikker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите правильно составить SQL запрос
Проблему так и не решил =(
...
Рейтинг: 0 / 0
15.05.2019, 15:23
    #39813616
bubucha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите правильно составить SQL запрос
DikkerПроблему так и не решил =(
так выше уже написали... 4д - строка, значит надо использовать апострофы ,т.е ..... должно получится примерно ...Like '4д' или ...='4д'
...
Рейтинг: 0 / 0
15.05.2019, 15:27
    #39813620
Помогите правильно составить SQL запрос
DikkerЕсли я использую "=", то "несоответствие типов данных"
Проблему так и не решил =(

Еще раз (добавьте апострофы):
...WHERE [Маршрут] like '" & Me![Маршрут] & "' AND ...
или
...WHERE [Маршрут] = '" & Me![Маршрут] & "' AND ...
...
Рейтинг: 0 / 0
15.05.2019, 15:29
    #39813621
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите правильно составить SQL запрос
Код: vbnet
1.
2.
sql = "SELECT * FROM [Расписание] WHERE [Расписание]![Маршрут] like " & Forms![Мониторинг]![Маршрут] & " AND [Расписание]![График]= " & Forms![Мониторинг]![График] & " AND [Расписание]![Смена]= " & Forms![Мониторинг]![Смена] _
& " AND [Расписание]![День]= " & Forms![Мониторинг]![День] & " AND [Расписание]![Рейс]>= " & Forms![Мониторинг]![ПервыйКруг] & " AND [Расписание]![Рейс]<= " & Forms![Мониторинг]![ПоследнийКруг]

По-моему строка SQL должна выглядеть так(если все поля текстовые,которые числовые-без апострофов,если дата-применять ф-цию Format:
Код: vbnet
1.
2.
sql = "SELECT * FROM [Расписание] WHERE [Расписание]![Маршрут] like '" & Forms![Мониторинг]![Маршрут] & "*'  AND [Расписание]![График]= '" & Forms![Мониторинг]![График] & "' AND [Расписание]![Смена]= '" & Forms![Мониторинг]![Смена] _
& "' AND [Расписание]![День]=#" & format(Forms![Мониторинг]![День], "mm\/dd\/yy") & "# AND [Расписание]![Рейс]>= '" & Forms![Мониторинг]![ПервыйКруг] & "' AND [Расписание]![Рейс]<= '" & Forms![Мониторинг]![ПоследнийКруг] & "'"
...
Рейтинг: 0 / 0
16.05.2019, 05:44
    #39813804
Dikker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите правильно составить SQL запрос
Всем спасибо огромное - помогли балбесу! =)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите правильно составить SQL запрос / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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