powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
25 сообщений из 34, страница 1 из 2
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240201
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть:
1. Форма на основе главной таблицы.
2. Нужно по нажатию кнопки вставить две даты из полей этой формы (свободные поля, краткий формат даты, заполняются предварительно) в таблицу, связанную с главной таблицей, но только в те поля, которые в поле "Выбор" имеют значение ИСТИНА.

Т. е. сначала делаю запрос на добавление с условием выборки "Выбор" имеет значение Истина, но вставить в связанную таблицу значения дат из формы не получается.

Знаю, что можно решать разными способами, но пробую с помощью составления SQL запроса из модуля формы. Помогите правильно составить SQL запрос.

Пока получается так:
Код: vbnet
1.
2.
3.
4.
5.
6.
Dim dtREG, dtSROK As Date 'Объявляю переменные
'Задаю значения из свободных полей с кратким форматом данных этой формы
dtREG = Me!ПолеdtREG
dtSROK = Me!ПолеdtSROK

DoCmd.RunSQL "INSERT INTO Прибытие ([Дата регистрации УФМС], [Срок окончания регистрации УФМС]) SELECT Прибытие.[Дата регистрации УФМС], Прибытие.[Срок окончания регистрации УФМС] FROM Работники INNER JOIN Прибытие ON Работники.[Код работник] = Прибытие.[Код работник] WHERE (((Работники.Выбор)=Yes));"



Но нужно куда-то вставить значения VALUES (dtREG, dtSROK).

Помогите правильно написать код.
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240216
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
allextrim,
а может, проще сделать запросом на обновление? С одним из условий - по "Выборка"=True?
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240226
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tarasios,
Мне не нужно обновление, мне нужно именно добавление новой записи в подчиненной таблице с двумя значениями дат. Предыдущие записи в этой подчиненной таблице используются. Эта подчиненная таблица содержит даты регистрации и связана с основной таблицей по Код Работника. У каждого работника основной таблицы может быть много таких записей с датой регистрации и датой окончания регистрации в подчиненной таблице.
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240236
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tarasios,
Смысл в том, чтобы в отделе кадров открыли форму с работниками, поставили флажки в поле "Выбор" для тех сотрудников, которых зарегистрировали сегодня (у них эти даты одинаковые) и в подчиненную таблицу для каждого выбранного флажком работника были занесены новые записи со значениями этих заданных дат.
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240238
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
allextrim
Код: vbnet
1.
Dim dtREG, dtSROK As Date 'Объявляю переменные

Вы объявили таким образом тип только для dtSROK, а dtREG осталось Variant.
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240243
allextrim,

когда все улыбаются, решение идет существенно легче. И безболезненней :) Всевышний свидетель - не я ьебя за язык тянул :)

allextrimНо нужно куда-то вставить значения VALUES (dtREG, dtSROK).

Шашкой пОстолу:
- Молчать, господа гусары!


Впрочем, это я лишь себе :(

--------------
Вот как я вижу твой пост.

Удобно мне это читать? Понимать, осмысливать?..

А по теме:
allextrimDim dtREG, dtSROK As Date 'Объявляю переменные

Так не пишется. Пишется так:
Dim dtREG As Date, dtSROK As Date

Для начала и этого хватит. Что уж влезло на экран... Скузи...
.
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240252
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tarasios,
По сути, надо сделать выборку всех, у кого поле "Выбор" равно ИСТИНА, а затем для каждого из этого выбора в подчиненную таблицу добавить запись с двумя датами.
Т. е. может как-то можно этот процесс разделить на два этапа — сначала сделать запрос на выбор, а затем запрос на добавление, примененный к записям первого запроса (запроса на выборку).
Но мне кажется для опытного программиста всё это решается на раз-два.
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240253
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, Да, спасибо.
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240264
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
капча-горы-я-не-робот,
Извините, я не профи в этом. Поэтому я здесь. Просто есть необходимость по работе. Все сделал уже, вот затык с этим добавлением.
Хотелось бы ответ по существу вопроса, а за указание на недочеты — СПАСИБО!
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240400
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь из знающих может помочь?
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240402
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
allextrimЕсть:
1. Форма на основе главной таблицы.
2. Нужно по нажатию кнопки вставить две даты из полей этой формы (свободные поля, краткий формат даты, заполняются предварительно) в таблицу, связанную с главной таблицей, но только в те поля, которые в поле "Выбор" имеют значение ИСТИНА.

Т. е. сначала делаю запрос на добавление с условием выборки "Выбор" имеет значение Истина, но вставить в связанную таблицу значения дат из формы не получается.

Знаю, что можно решать разными способами, но пробую с помощью составления SQL запроса из модуля формы. Помогите правильно составить SQL запрос.

Пока получается так:
Код: vbnet
1.
2.
3.
4.
5.
6.
Dim dtREG, dtSROK As Date 'Объявляю переменные
'Задаю значения из свободных полей с кратким форматом данных этой формы
dtREG = Me!ПолеdtREG
dtSROK = Me!ПолеdtSROK

DoCmd.RunSQL "INSERT INTO Прибытие ([Дата регистрации УФМС], [Срок окончания регистрации УФМС]) SELECT Прибытие.[Дата регистрации УФМС], Прибытие.[Срок окончания регистрации УФМС] FROM Работники INNER JOIN Прибытие ON Работники.[Код работник] = Прибытие.[Код работник] WHERE (((Работники.Выбор)=Yes));"



Но нужно куда-то вставить значения VALUES (dtREG, dtSROK).

Помогите правильно написать код.
Ваше утверждение "Знаю, что можно решать разными способами" пока вызывает серьезные сомнения.
Пока не продемонстрировано знания ни одного.)))

У меня такое впечатление, что требуется не INSERT, а UPDATE.
Например, так
Код: sql
1.
2.
3.
4.
5.
6.
Dim S As String
S = "UPDATE Прибытие INNER JOIN Работники ON Работники.[Код работник] = Прибытие.[Код работник] " & _
    "SET Прибытие.[Дата регистрации УФМС] = " & Format(Me!ПолеdtREG, "\#mm\/dd\/yy\#") & _
    " Прибытие.[Срок окончания регистрации УФМС] = " & Format(Me! ПолеdtSROK, "\#mm\/dd\/yy\#") & _
    " WHERE Работники.Выбор"
CurrentDb.Execute S

А если уж и правда, вставка, тогда так
Код: sql
1.
2.
3.
4.
5.
6.
S = "INSERT INTO Прибытие ([Код работник], [Дата регистрации УФМС], [Срок окончания регистрации УФМС]) " & _
    "SELECT [Код работник], " & _
    Format(Me!ПолеdtREG, "\#mm\/dd\/yy\#" & " AS [Дата регистрации УФМС], " & _
    Format(Me! ПолеdtSROK, "\#mm\/dd\/yy\#" & " AS [Срок окончания регистрации УФМС], " & _  
    "FROM Работники " & _
    "WHERE Работники.Выбор"

Писала с планшета в транспорте.
Может, где-нибудь опечатка.

А мнения лучше все принимайте к сведению.
Иногда в непривычной форме кроется полезное содержание.
Поможет привести в порядок кашу в голове.)))
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240403
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Топик почищен
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240410
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор Может, где-нибудь опечатка.Ну, вот вижу, пробел вкрался здесь и не было закрывающей скобки
Код: vbnet
1.
Format(Me!ПолеdtSROK, "\#mm\/dd\/yy\#")

И здесь не было закрывающей скобки
Код: vbnet
1.
Format(Me!ПолеdtREG, "\#mm\/dd\/yy\#")
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240416
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Мне нужно именно добавление новой записи в подчиненной таблице со значениями дат. Эта подчиненная таблица содержит даты регистрации и связана с основной таблицей по Код Работника. У каждого работника основной таблицы может быть много таких записей с датой регистрации и датой окончания регистрации в подчиненной таблице. Если бы запись была одна, то мне не надо было бы создавать отдельную таблицу и, тогда действительно достаточно было бы просто обновить в нужных записях поля с этими датами.

Смысл в том, чтобы открыть форму на основе основной таблицы, поставить флажки в поле "Выбор" для нужных записей (это у меня иностранные работники), а затем нажатием одной кнопки запустить добавление записей уже в подчиненную таблицу с датами, которые вводятся на форме вручную (т. е. добавить каждому выбранному флажком работнику две даты, связанные с регистрацией). Тем самым не нужно будет повторять ввод этих дат вручную для каждой записи основной таблицы.
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240418
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
allextrim,

Но ведь я Вам пример вставки тоже предложила в том же сообщении ниже.
Только учтите поправки, сделанные в следующем сообщении.

Этот вариант подходит?.
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240421
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Вот что получается.
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240424
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Я вообще не пойму, ведь в запросе на добавление должна присутствовать конструкция VALUES (dtREG, dtSROK), которую нужно вставить куда-то в это:
INSERT INTO Прибытие ( [Срок окончания регистрации УФМС] )
SELECT Прибытие.[Срок окончания регистрации УФМС]
FROM Работники INNER JOIN Прибытие ON Работники.[Код работник] = Прибытие.[Код работник]
WHERE (((Работники.Выбор)=Yes));
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240426
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
allextrim__Michelle,
Вот что получается.А скобки закрывающие где?
В поправках ведь о них тоже сказано.
Поставьте.
Что получается?
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240427
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
allextrim__Michelle,
Я вообще не пойму, ведь в запросе на добавление должна присутствовать конструкция VALUES (dtREG, dtSROK), которую нужно вставить куда-то в это:
INSERT INTO Прибытие ( [Срок окончания регистрации УФМС] )
SELECT Прибытие.[Срок окончания регистрации УФМС]
FROM Работники INNER JOIN Прибытие ON Работники.[Код работник] = Прибытие.[Код работник]
WHERE (((Работники.Выбор)=Yes));Это Вам кто рассказал?
Особенно про INNER JOIN в подобном применении?
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240429
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Получается вот что:
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240430
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Но debug подсвечивает само выполнение запроса, а не синтаксис выражения sql
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240431
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, еще ошибочку вижу - запятая перед FROM вот здесь
Код: vbnet
1.
2.
3.
 .....   " AS [Срок окончания регистрации УФМС], " & _ 
"FROM Работники " & _ 
....... 

Уберите, пожалуйста.
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240433
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Это я взял из запроса на добавление, только в него нельзя вставить VALUES ()
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240434
allextrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Тот же запрос в режиме sql
...
Рейтинг: 0 / 0
Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
    #39240435
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
allextrim__Michelle,
Но debug подсвечивает само выполнение запроса, а не синтаксис выражения sqlЕстественно.
Указывает место возникновения ошибки.
Чтобы увидеть сформированный текст запроса, нужно
Код: vbnet
1.
 Debug.Print StrSQL

и в окне Immediate увидите результат.

Все, я подъезжаю.
Пока прерываюсь.)))
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите. Запрос для добавления из VBA значений 2-х дат из полей формы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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