Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
1 / 0 / 0
Регистрация: 07.10.2018
Сообщений: 46
1

Ошибка синтаксиса vba access

24.05.2020, 01:02. Показов 2770. Ответов 5

Author24 — интернет-сервис помощи студентам
Visual Basic
1
2
3
4
Dim rst3 As DAO.Recordset
sql = "SELECT * FROM [ПОЕЗДА] WHERE [номер]='" & Me.номер.value & "' AND [дата_отправления]= " & Me.дата_отправления.value & " AND [время_отправления]= " & Me.время_отправления.value & ""
    
Set rst3 = CurrentDb.OpenRecordset(sql, dbOpenDynaset)
Выдает ошибку синтаксиса. В форме форматы данных те же, что и в таблице. Подскажите, в чем причина?
Миниатюры
Ошибка синтаксиса vba access   Ошибка синтаксиса vba access  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2020, 01:02
Ответы с готовыми решениями:

Ошибка синтаксиса в инструкции UPDATE - VB and Access
Доброго времени суток, уважаемый форум! Возникла такая проблема: в форме CandidateM i...

Как заполнить базу данных Access с помощью vba в том же access и считать из нее инфу?
Прошу помочь в азах. Как заполнить базу данных Access с помощью vba в том же access и считать из...

Можно ли в VBA скопировать в вставить запрос или таблицу из одного файла Access в другой файл Access
Вопрос такой можно ли скопировать и вставить запрос, таблицу или другой объект базы данных Access в...

Ошибка "object variable or With block variable not set" при попытке обращения к форме. VBA Access 7.0.
Добрый день. Данный код Dim frm As Form Set frm = Form_frmAdd_EditWareList ...

5
Модератор
Эксперт MS Access
12059 / 4921 / 789
Регистрация: 07.08.2010
Сообщений: 14,399
Записей в блоге: 4
24.05.2020, 09:14 2
Цитата Сообщение от Mari_mar Посмотреть сообщение
sql = "SELECT * FROM [ПОЕЗДА] WHERE
lдобавьте строку после этой
debug.print sql
и увидите нечто похожее на
.......дата=24.05.2020 and время=12:00
вот вам и нарушение синтаксиса
0
1 / 0 / 0
Регистрация: 07.10.2018
Сообщений: 46
24.05.2020, 12:49  [ТС] 3
И как мне это исправить?
0
-8 / 4 / 0
Регистрация: 10.09.2016
Сообщений: 378
24.05.2020, 13:39 4
Используйте правильный формат для времени и даты
1
Модератор
Эксперт MS Access
12059 / 4921 / 789
Регистрация: 07.08.2010
Сообщений: 14,399
Записей в блоге: 4
24.05.2020, 13:45 5
Лучший ответ Сообщение было отмечено Mari_mar как решение

Решение

Mari_mar,
должно быть
.....дата=#05/24/2020#
или
.....format(дата,"dd\/mm\/yyyyhh")="05/24/2020"

над временем не думала, но возможно
and format(время,"hh:nn")="12:00"
1
1 / 0 / 0
Регистрация: 07.10.2018
Сообщений: 46
24.05.2020, 15:25  [ТС] 6
Visual Basic
1
2
3
4
5
6
7
sql = "SELECT * FROM ПОЕЗДА WHERE [номер]= '" & Me.номер.value & "' AND ((([дата_отправления])= #" & Format(Me.дата_отправления.value, "mm\/dd\/yyyy") & "#)) AND ((([время_отправления])=#" & Format(Me.время_отправления.value, "hh\:nn\:ss") & "#));"
    
Set rst3 = CurrentDb.OpenRecordset(sql, dbOpenDynaset)
    If rst3.EOF Then
    MsgBox "Такой поезд на указанную дату и время уже существует!"
    Exit Sub
    End If
Все хорошо, теперь ошибки нет. Но оно находит такой поезд (хотя его нет и добавление происходит после выполнения этой части). Может я не правильно использую функции?

Добавлено через 39 минут
If Not rst.EOF, не заметила сразу
0
24.05.2020, 15:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2020, 15:25
Помогаю со студенческими работами здесь

VBA с базой от Access и ошибка "runtime error "3709" ключ поиска не найден ни в одной записи"
написал базу данных на Access 2007. в главной таблице есть поля подстановки (значения из...

Ошибка синтаксиса в ACCESS
Уважаемые форумчане, помогите. Есть код для открытия формы с информацией по клиенту. Двойное...

бд access не понятная ошибка синтаксиса
Здравствуйте, я тут создаю бд для экзамена и у меня на ''Главной форме " -> вкладка "просмотр" не...

База данных ACCESS приложение на C# ошибка синтаксиса
Добрый вечер! в чем ошибка данного запроса? cmd.CommandText = "INSERT INTO Cubs (name, age,...

Ошибка синтаксиса Insert into при добавлении записи в БД Access
Я работаю на C#. Мне нужно создать в access таблицу Avtobuss. Она не создается OleDbConnection...

Делаю response.form('date') и пробую вставить в Access 97 поле тип дата/время. Пишет ошибка синтаксиса.
Такая штука: Есть форма, которая передаёт дату (скорее всего в виде строки <input type=text...>)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru