Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2010, 14:23   #1
alco84
Пользователь
 
Регистрация: 23.01.2010
Сообщений: 69
Вопрос Сохранение даты

Добрый день Евгений появился такой вопрос

CurrentDb.Execute "UPDATE D1601H SET ChangeDate=Date(), ChangeTime=Time(), Builder=" & Pg5Builder & ", BuilderContract=" & Pg5DocNum & ", PlanBD=" & Pg5PlanBD & ",PlanED=" & Pg5PlanED & ", FactBD=" & Pg5FactBD & ", FactED=" & Pg5FactED & ", PlanManDays=" & Pg5PlanManDays & ", FactManDays=" & Pg5FactManDays & " WHERE DocCode=" & ProjectsPg1!DocCode & ";"

Ругается на эти поля там находятся даты в формате дд.мм.гггг
alco84 вне форума Ответить с цитированием
Старый 04.03.2010, 18:49   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте alco84.
вариантов решения Вашей "проблемы" может быть много, один из них размещение значение даты в конструкции запроса предварительно приведя её к формату даты применяемому в SQL MS Access - #m/d/yyyy#
формирование строки может быть таким:
... & ",PlanED=#" & Month(Pg5PlanED) & "/" & day(Pg5PlanED) & "/" & year(Pg5PlanED) & "# , " & ...
Вы наверное увидели, SQL MS Access прекрасно понимает VBA функции (..ChangeDate=Date()..), создав собственную функцию возвращающую данные Date:
Код:
Function toDate(v) as date
    toDate = CDate(v)
End Function
измененный подобным образом запрос:
...PlanED=toDate(Pg5PlanED), FactBD=toDate(Pg5FactBD), FactED=toDate(Pg5FactED) ...
"скушает" все значения переменных.
Конечно для уменьшения нагрузки на ядро JET, желательно не помещать в текст SQL конструкции функции VBA,
но сегодня MS Access прекрасно справляется с такими задачами.
Евгений.
P.S. Ваше обращение не к участникам форума, если хотите обратиться к участнику форума персонально, создавайте Личное сообщение
Teslenko_EA вне форума Ответить с цитированием
Старый 05.03.2010, 09:15   #3
alco84
Пользователь
 
Регистрация: 23.01.2010
Сообщений: 69
По умолчанию

Огромное спасибо Евгений за подробный ответ я это все провернул через рекордсет но теперь знаю как сделать и таким образом.
P.S. Хорошо
alco84 вне форума Ответить с цитированием
Старый 09.03.2010, 17:52   #4
Master_Fatum
Новичок
Джуниор
 
Регистрация: 09.03.2010
Сообщений: 1
По умолчанию

Доброго времени суток ув. программисты! У меня проблема такого характера и прошу у вас помощи! Кусок кода:

Private Sub Form_Load()
Dim segodn As Date
segodn = Date
If segodn > 1 / 1 / 2012 Then
MsgBox "***. "
End If
End Sub
Но у меня выскакивает сообщение MsgBox при любом системном времени и дате! Что у меня не так? За ранее благодарен!
Master_Fatum вне форума Ответить с цитированием
Старый 09.03.2010, 18:28   #5
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

Цитата:
Сообщение от Master_Fatum Посмотреть сообщение
Что у меня не так?
В кавычки указанную дату заключите..
Abrakadabra вне форума Ответить с цитированием
Старый 09.03.2010, 19:26   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Master_Fatum.
Ваше посещение форума первое, Вы разместили свой вопрос на "чужой ветке", очевидно Вы не знали потому информирую - для нового вопроса необходимо создавать новую, собственную(!) тему.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматизация заполнения даты и зависимость ячейки времени к ячейке даты. Каравай Microsoft Office Excel 14 11.03.2010 18:11
Даты Sparky БД в Delphi 6 02.10.2009 09:48
Сохранение даты Girl Общие вопросы Delphi 3 07.07.2009 20:25
Автоматическое сохранение даты Nomiko БД в Delphi 3 21.05.2009 18:21
Даты не даты Nasya Microsoft Office Excel 3 22.08.2007 20:18