powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access VBA SQL запрос
25 сообщений из 30, страница 1 из 2
Access VBA SQL запрос
    #39703665
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток форумчане.
Помогите всю голову уже пеплом обсыпал.

есть запрос уже готовый (datasel) надо выбрать записи где есть дата с формы записанная в переменную (L1) и вернуть мне сообщения найдено или нет. Но увы запись он не может обнаружить. Добавил для проверки MsgBox l1 да выдает нужную дату ,Set Me.lstBox.Recordset = rst да выводит запрос если грохнуть условие отбора WHERE отправлено= " & L1 &. Помогите.

Private Sub Кнопка126_Click()

Dim db As Database
Dim rst As DAO.Recordset
Dim L1, L2 As String

L1= (Forms![MENUDataPicker]![dd35])

Set rst = CurrentDb.OpenRecordset("SELECT * FROM datasel WHERE отправлено= " & L1 &)
Set Me.lstBox.Recordset = rst

MsgBox l1

If rst.BOF Or rst.EOF Then
MsgBox " пусто"
Else
MsgBox "Что то есть"
End If

If Not rst.EOF Then
MsgBox "Что то есть"
Else
MsgBox "пусто"
End If
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703677
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dion-2009Доброго времени суток форумчане.
Помогите всю голову уже пеплом обсыпал.

есть запрос уже готовый (datasel) надо выбрать записи где есть дата с формы записанная в переменную (L1) и вернуть мне сообщения найдено или нет. Но увы запись он не может обнаружить. Добавил для проверки MsgBox l1 да выдает нужную дату ,Set Me.lstBox.Recordset = rst да выводит запрос если грохнуть условие отбора WHERE отправлено= " & L1 &. Помогите.

Private Sub Кнопка126_Click()

Dim db As Database
Dim rst As DAO.Recordset
Dim L1, L2 As String

L1= (Forms![MENUDataPicker]![dd35])

Set rst = CurrentDb.OpenRecordset("SELECT * FROM datasel WHERE отправлено= " & L1 &)
Set Me.lstBox.Recordset = rst

MsgBox l1

If rst.BOF Or rst.EOF Then
MsgBox " пусто"
Else
MsgBox "Что то есть"
End If

If Not rst.EOF Then
MsgBox "Что то есть"
Else
MsgBox "пусто"


Суть в том что если руками передать в запрос дату я получу нужные строки ,если из запроса выкинуть WHERE запрос выполнится и вернет все строки. Надо чтобы запрос брал дату из переменной и находил записи если записи есть то вернул ВСЕ ОК!
End If
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703682
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703708
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините не понимаю что там написано.
ROI,
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703717
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Set rst = CurrentDb.OpenRecordset("SELECT * FROM datasel WHERE отпралено =# " & Format(L1, "mm\/dd\/yy hh\:mm\:ss") & "#)

так?
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703720
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читайте раздел "3. Использование дат".

А чтобы понимать, что делаете, составьте сперва запрос в переменной:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim strSQL as string

strSQL = "SELECT * FROM datasel WHERE отправлено= " & ...
'
' Открыть Immediate Window и просмотреть текст полученного запроса
'
' Debug.Pring strSQL
' Stop
'
Set rst = CurrentDb.OpenRecordset(strSQL)
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703729
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Сори это что такое? Immediate Window
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703744
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все Immediate Window разобрался.
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703745
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703751
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Ого спасибо за инструкцию ,можете объяснить зачем мне запрос в переменную втыкать !?
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703752
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dion-2009Akina,

Ого спасибо за инструкцию ,можете объяснить зачем мне запрос в переменную втыкать !?не запрос, а текст запроса
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703753
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прогер_самоучка,

Ага я так и понял. strSQL = "SELECT * FROM datasel where отправлено = что тут писать надо ???













PS помогите ,расстреляете потом.
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703758
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dion-2009зачем мне запрос в переменную втыкать !?Затем, чтобы увидеть в окне Immediate получившееся в этой переменной значение - текст запроса. И проверить его правильность с точки зрения синтаксиса.
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703762
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Dim strSQL As String

strSQL = "SELECT * FROM datasel "
Set rst = CurrentDb.OpenRecordset(strSQL)
Debug.Print rst.RecordCount


Ооо оперный театр оно работает :))
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703764
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите дописать условие
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703772
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
strSQL = "SELECT * FROM datasel where отправлено=" & Format(l1, "mm\/dd\/yy hh\:mm\:ss")
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703773
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что ему надо?
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703787
Аллюр Д.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dion-2009что ему надо?
Правильно составленный запрос

В запросе написано, что идёт отбор по дате из поля "отправлено", но...
1. в сообщении ругается на поле "ОтправленоНазначено". Как на самом деле называется это поле?
2. это поле действительно содержит даты?
3. вы принципиально не стали читать ссылку на FAQ, где написано как записывать условия отбора по дате?
4. вы по-прежнему не хотите пользоваться окном отладки и сделать Debug.Print strSQL ?
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703808
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аллюр Д.,


1 На самом деле поле в запросе называется ОтправленоНазначено
2 Поле действительно после выполнения запроса будет содержать даты
3 Я прочитал статью о использовании дат в таблице , но вот такая конструкция
Код: sql
1.
WHERE (((Table.TimeOpen)=#" & Format(q, "mm\/dd\/yy hh\:mm\:ss") & "#));


мне выдает синтаксическую ошибку
4 Окно отладки я использую спасибо именно там я и увидел что запрос без условия отрабатывает и возвращает 1 там все супер.
5 У меня в поле где записана дата для отбора уже записана как требует SQL 21-09-2018
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703809
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
WHERE (((Table.TimeOpen)=#" & Format(q, "mm\/dd\/yy hh\:mm\:ss") & "#));



У меня запрос а не таблица что мне писать тут Table.TimeOpen
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703945
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dion-2009что ему надо?Ему надо, чтобы кто-то наконец прочитал ФАК и привёл строку запроса к тому виду, который в этом ФАКе описан. Причём тебе даже указывают конкретное место, где косяк, и показывают, как именно ты сформировал текст запроса.
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703974
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Set rst = CurrentDb.OpenRecordset("SELECT * FROM datasel WHERE Отправленоназначено= # " & Format(l1, "dd\/mm\/yy") & "# ")

Вот получилось но все равно не может сравнить.
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703975
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если писать руками все отлично срабатывает.
Set rst = CurrentDb.OpenRecordset("SELECT * FROM datasel WHERE ÎòïðàâëåíîÍàçíà÷åíî = # "21/09/2018"# ")
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39703981
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все задача решена !
Set rst = CurrentDb.OpenRecordset("SELECT * FROM datasel WHERE Отправленоназначено = # " & Format(Me.dd35, "dd\/mm\/yyyy")
& "# ")

Проблема была в неправильном указании года п переменной было 4 знака года а сравнивалось всего два знака.
Все кто пинал большое спасибо.
...
Рейтинг: 0 / 0
Access VBA SQL запрос
    #39704712
dion-2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как результат запроса вывести в консоль.
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access VBA SQL запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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