Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730

Вставка текущей даты при создании записи?

24.03.2017, 17:00. Показов 5042. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Используется
access 2016
MySq -5,7-x64

Используются внешние таблицы.


Вопрос.
1. Как сделать чтобы при создании записи автоматически проставлялась текущая дата в поле "data_sozd"?
2. Как сделать чтобы при смене статуса автоматически проставлялась текущая дата в поле "data_status"?
Миниатюры
Вставка текущей даты при создании записи?  
Вложения
Тип файла: zip izm_date_00_00.zip (87.0 Кб, 9 просмотров)
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.03.2017, 17:00
Ответы с готовыми решениями:

Не стабильно работает запрос на обновление( вставка текущей даты в запись)
Форумчане,доброго времени суток! Прошу помощи в следующем вопросе: Открываем форму "frmRabota_Robotov" Заполняем...

Автоматическая вставка текущей даты в ячейку при заполнении данными другой ячейки
Здравствуйте! Помогите пожалуйста! Имеется 2 столбца, например A и B. Необходимо сделать так, чтобы при заполнении любыми данными...

Вставка текущей даты
Добрый день. Хотела бы уточнить, может у кого-нить есть макрос,который позволяет вставлять текущую дату с учетом ширины столбца (автободпор...

19
Эксперт MS Access
 Аватар для Eugene-LS
13182 / 5880 / 1506
Регистрация: 05.10.2016
Сообщений: 16,506
24.03.2017, 17:31
В подчинённой:
Visual Basic
1
2
3
Private Sub Form_BeforeInsert(Cancel As Integer)
    Me!data_sozd = Date
End Sub
В Основной:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub status_sps_AfterUpdate()
'Изменение статуса:
        With Me![02_подчиненная форма tst_004_car].Form.Recordset
        Do Until .EOF = True 'Цикл до конца
            .Edit
            !data_status = Date
            .Update
            .MoveNext
        Loop
    End With
 
End Sub
1
Эксперт MS Access
 Аватар для Eugene-LS
13182 / 5880 / 1506
Регистрация: 05.10.2016
Сообщений: 16,506
24.03.2017, 17:32
Лучший ответ Сообщение было отмечено zakaz_77 как решение

Решение

Фаил:
Вложения
Тип файла: zip izm_date_00_01 (Eugene-LS).zip (30.7 Кб, 10 просмотров)
1
Эксперт MS Access
 Аватар для Eugene-LS
13182 / 5880 / 1506
Регистрация: 05.10.2016
Сообщений: 16,506
24.03.2017, 17:49
Цитата Сообщение от zakaz_77 Посмотреть сообщение
Используются внешние таблицы
На грамотно поставленный вопрос с правильным примером и отвечать приятно!
И времени израсходовано: минуты!
1
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
24.03.2017, 17:52
Насколько я знаю, дата содержится в MySQL в виде YYYYMMDD. Это подтверждается сайтом http://www.mysql.ru/docs/man/DATETIME.html. Соответственно в коде дату надо писать форматом
Visual Basic
1
!data_status = Format(Date, "YYYYMMDD")
Следуя вышеописанной ссылке, можно употреблять разделительные символы, например дефис или слэш
Visual Basic
1
2
!data_status = Format(Date, "YYYY-MM-DD")
!data_status = Format(Date, "YYYY/MM/DD")
2
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
24.03.2017, 18:18  [ТС]
Eugene-LS,
А как сделать, что бы дата была в формате "yyyy-dd-mm\ hh:nn:ss".
Через "Формат поля" не работает..
Значит в коде нужно менять?
0
Эксперт MS Access
 Аватар для Eugene-LS
13182 / 5880 / 1506
Регистрация: 05.10.2016
Сообщений: 16,506
24.03.2017, 18:25
Цитата Сообщение от mobile Посмотреть сообщение
Насколько я знаю, дата содержится в MySQL в виде YYYYMMDD.
Очень верное замечание!
Но проверил специально и ODBC (v5.3.x) прекрасно всё сам преобразует туда и обратно.
И именно из Date() в "yyyy-dd-mm" и обратно.
Но тут лучше "перебдеть" чем "недобдеть" ...

Добавлено через 1 минуту
Цитата Сообщение от zakaz_77 Посмотреть сообщение
Значит в коде нужно менять?
См пост выше - если в таблице на стороне MySQL всё нормально - то ничего не нужно.
1
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
24.03.2017, 18:46
Цитата Сообщение от zakaz_77 Посмотреть сообщение
как сделать, что бы дата была в формате "yyyy-dd-mm\ hh:nn:ss"
В свойстве Формат поля записать
Visual Basic
1
yyyy-mm-dd" \ "hh:nn:ss
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
24.03.2017, 18:59  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Но проверил специально и ODBC (v5.3.x) прекрасно всё сам преобразует туда и обратно.
И именно из Date() в "yyyy-dd-mm" и обратно.
Что-то у меня руки не там растут...
Ошибки.. и ошибки..

Не могли бы вы сбросить свой вариант..

И если не трудно не знаете как "прицепить". Чтобы выбранный статус отображался в нужном поле. (см. скрин)?
Миниатюры
Вставка текущей даты при создании записи?  
0
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
24.03.2017, 19:25  [ТС]
mobile,
не работает
Не могли бы вы ответить на #9
уже перепробовал всё...
то полуработает, то не работает
0
Эксперт MS Access
 Аватар для Eugene-LS
13182 / 5880 / 1506
Регистрация: 05.10.2016
Сообщений: 16,506
24.03.2017, 19:30
Цитата Сообщение от zakaz_77 Посмотреть сообщение
Чтобы выбранный статус отображался в нужном поле
Вот замена (теперь всегда работает):
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub status_sps_AfterUpdate()
'Изменение статуса:
Dim v As Variant
Dim lRC As Long
    v = Me!status_sps
    MsgBox " - " & v
    
    With Me![02_подчиненная форма tst_004_car].Form.Recordset
        lRC = .RecordCount 'кол-во записей в подчинённой
        If lRC > 0 Then
            .MoveFirst ' в начало записей!
            Do Until .EOF = True 'Цикл до конца
                .Edit
                !data_status = Date
                !status_pl_car = v
                .Update
                .MoveNext
            Loop
        End If
    End With
 
End Sub
Вложения
Тип файла: zip izm_date_00_02 (Eugene-LS).zip (38.7 Кб, 6 просмотров)
1
Эксперт MS Access
 Аватар для Eugene-LS
13182 / 5880 / 1506
Регистрация: 05.10.2016
Сообщений: 16,506
24.03.2017, 19:31
И еще в главную можно поместить:
Visual Basic
1
2
3
4
Private Sub Form_Current()
'Возвращаем значение статуса - если был
    Me!status_sps = Me![02_подчиненная форма tst_004_car].Form!status_pl_car
End Sub
1
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
24.03.2017, 19:38
Цитата Сообщение от zakaz_77 Посмотреть сообщение
ответить на #9
уже перепробовал всё...
то полуработает, то не работает
А зачем надо устанавливать статус на главной форме? Почему бы не сделать поле подформы полем со списком и не зависеть от главной формы? Откройте форму в конструкторе, выделите поле статуса на подформе, нажмите правую кнопку мыши и выберите "Преобразовать элемент в". В открывшемся списке выберите поле со списком. Затем в свойствах=>Данные выберите Источник строк, Тип источника строк, Присоединенный столбец (обычно 1), а в Макете Число столбцов, Ширина столбцов. И не нужно будет никакого кода передачи данных
1
Эксперт MS Access
 Аватар для Eugene-LS
13182 / 5880 / 1506
Регистрация: 05.10.2016
Сообщений: 16,506
24.03.2017, 19:49
Цитата Сообщение от mobile Посмотреть сообщение
И не нужно будет никакого кода передачи данных
Там фишка в чём - вмена статуса в главной меняет статус ВСЕХ записей подчинённой.
Видно что "Эксперименты" пока идут и формочка шириной аж в 43 см.
Нормальный ход ... идёт развитие проекта ...

Добавлено через 4 минуты
Кстати zakaz_77, Вопрос:
При добавлении новой записи в подчинённую в её статус пишем чего нибудь - нет?
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
24.03.2017, 20:31  [ТС]
Eugene-LS,
Что-то я совсем забуксовал...

Уточнение к ТС.

Необходимый формат дат для отображения в таблице - ГГГГ-ММ-ДД ЧЧ:ММ:СС
Поле "status_pl_car" заполняется по принципу:
- находимся на записи 1 (Авто 1)
- меняем статус на значение из выпадающего списка.
- статус обновляется (или создаётся, если там ранее было пустое значение) только для записи 1 (Авто 1).
Я пробую это реализовать, но у меня статус меняется по всему полю для всех записей сразу, а не только для той на которой находится курсор (или "фокус"... путаюсь в терминологии)

Выпадающий список - либо согласно вашего способа или как предложил mobile.
Я склоняюсь к mobile.

Цитата Сообщение от Eugene-LS Посмотреть сообщение
При добавлении новой записи в подчинённую в её статус пишем чего нибудь - нет?
Значение по умолчанию для поля "status_pl_car" - пусто.

Если вам не сложно, не могли бы вы ещё раз внести корректировки.
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
24.03.2017, 20:47
Цитата Сообщение от zakaz_77 Посмотреть сообщение
Выпадающий список - либо согласно вашего способа или как предложил mobile.
Посмотрите вариант с полем со списком в подформе
Вложения
Тип файла: rar izm_date_00_00.rar (24.1 Кб, 10 просмотров)
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
24.03.2017, 21:13  [ТС]
mobile,
Со статусом, именно это и хотел...

По приложенному вами варианту:
1. Всё таки дату статуса можно привести к формату ГГГГ-ММ-ДД ЧЧ:ММ:СС?
Необходимость такого формата вызвана, чтобы корректно прописывалось в MySql..

2. При создании новой записи не формируется дата в поле "data_sozd"
как сделать, что бы автоматически формировалась дата для новой записи в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС?
Миниатюры
Вставка текущей даты при создании записи?  
0
Эксперт MS Access
 Аватар для Eugene-LS
13182 / 5880 / 1506
Регистрация: 05.10.2016
Сообщений: 16,506
24.03.2017, 21:14
Цитата Сообщение от zakaz_77 Посмотреть сообщение
Если вам не сложно, не могли бы вы ещё раз внести корректировки.
Легко!

И за одной не правильно понятой картинки - столько переполоху
Тогда поле статуса в главной не нужно .
Вложения
Тип файла: zip izm_date_00_03 (Eugene-LS).zip (37.9 Кб, 2 просмотров)
1
Эксперт MS Access
 Аватар для Eugene-LS
13182 / 5880 / 1506
Регистрация: 05.10.2016
Сообщений: 16,506
24.03.2017, 21:16
Цитата Сообщение от zakaz_77 Посмотреть сообщение
в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС?
Зачем ?
Access хранит дату-время в дабле - Целая часть = дата, а дробная = время.
А формат отображения тут роли не играет ...
1
Эксперт MS Access
 Аватар для Eugene-LS
13182 / 5880 / 1506
Регистрация: 05.10.2016
Сообщений: 16,506
24.03.2017, 21:33
Лучший ответ Сообщение было отмечено zakaz_77 как решение

Решение

Хотя в свосво формат поля впишите : yyyy-mm-dd\ hh:nn:ss
И всё будет!

Последняя версия с исправлениями:
Вложения
Тип файла: zip izm_date_00_04 (Eugene-LS).zip (56.2 Кб, 15 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2017, 21:33
Помогаю со студенческими работами здесь

Вставка текущей даты в строку xml файла
Здравствуйте. Требуется в создаваемый xml файл прописывать текущую дату в тег <BindDate></BindDate> в формате ГГГГ-ММ-ДД: ...

Добавление текущей даты к имени файла при нестандартном формате вывода даты
Приветствую ! Давно и успешно используется код, который мне когда-то подсказали тут на форуме set count=1 set...

Подстановка текущей даты при нажатии на картинку
Добрый день уважаемые форумчане, есть задача, с которой не могу справится в силу своей некомпетентности. Имеется форма с картинками...

Занесение текущей даты в таблицу при нажатии на CheckBox
Как сделать так чтобы при нажатии на CheckBox "Готовность", заносилась текущая дата нажатия в таблицу?

Сравнить даты в поле с текущей датой, и выполнить при совпадении перерасчет
Здравствуйте.В БД имеется текстовое поле, в котором, через запятую перечислены даты. Необходимо сравнить даты в поле с текущей датой, и...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru