Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Форматирование поля с датой в проекте ADP / 8 сообщений из 8, страница 1 из 1
09.04.2020, 07:10
    #39945156
andrey_andrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форматирование поля с датой в проекте ADP
Здравствуйте, дамы и господа!

Например, есть таблица в MS SQL Server 2008 с именем — Test и
полями – Id, Наименование, ДатаПост. Поле ДатаПост имеет тип – date.
Есть БД Access 2003 (проект adp). В этой БД присутствует форма — Frm у которой в качестве источника записей используется таблица — Test.
Соответственно на форме есть поля — Наимен. и Дата_пост.
В поле — Дата_пост дата выводится в формате: yyyy-mm-dd. И следовательно дату в этом поле можно редактировать.
Если, например, я создаю представление на основе таблицы — Test и с помощью CAST делаю преобразование,
чтобы получить дату в виде: dd.mm.yyyy, то на форме в поле - Дата_пост я вижу дату в нужном мне формате (dd.mm.yyyy),
но редактировать данные в поле уже не могу.
Пробовал задать формат поля - Дата_пост у элемента на форме, но тоже ничего не помогло.

Как сделать так, чтобы на форме в поле - Дата_пост дата выводилась в формате: dd.mm.yyyy и данные в этом поле можно было бы редактировать?

В Google и Яндекс искал, но не нашел информации. Может подскажете, что делать или точную ссылку скинете, где описывается решение этой проблемы.

Помогите, пожалуйста! Заранее благодарен.
...
Рейтинг: 0 / 0
09.04.2020, 08:34
    #39945165
Geizer1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форматирование поля с датой в проекте ADP
andrey_andrey
Здравствуйте, дамы и господа!
Как сделать так, чтобы на форме в поле - Дата_пост дата выводилась в формате: dd.mm.yyyy и данные в этом поле можно было бы редактировать?
Помогите, пожалуйста! Заранее благодарен.


В таблице на сервере используйте формат даты - smalldatetime. Он полностью согласуется с форматом - Краткий формат даты в Access.
...
Рейтинг: 0 / 0
09.04.2020, 12:22
    #39945236
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форматирование поля с датой в проекте ADP
Сори, что вмешался.
А кто как хранит и отображает дату на клиенте, беря с сервера (MS SQL)
Я, вполне, по не знанию, отгребаю случаи перемешивания значения даты и месяца
что то зависит от локации сервера, что то от локации рабочего компа.
так до сих пор как то и не выработал стойкое решение для себя....
...
Рейтинг: 0 / 0
09.04.2020, 13:29
    #39945272
andrey_andrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форматирование поля с датой в проекте ADP
Geizer1, большое спасибо!
Поменял в таблице тип данных и все стало так как надо!
...
Рейтинг: 0 / 0
09.04.2020, 13:37
    #39945284
alecko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форматирование поля с датой в проекте ADP
Игортан,
думаю лучшее в этом смысле это timestamp - число прошедших миллисекунд с определенной даты (1 января) -либо по мс с 1900 либо по линукс с 1970 года.
...
Рейтинг: 0 / 0
09.04.2020, 14:35
    #39945335
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форматирование поля с датой в проекте ADP
alecko,

На сколько я помню(проверю) timestamp - автоматически генерируемое значение.
Я про проблему:
сервер = 2020-03-04
на клиенте может быть один раз = 04.03 .2020, другой раз = 03.04 .2020
вот эту проблему я и не могу решить, прям раз и на всегда...
...
Рейтинг: 0 / 0
09.04.2020, 15:52
    #39945427
alecko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форматирование поля с датой в проекте ADP
Игортан,
timestamp - обычное обозначение при получение даты по api (обычно в глобальном времени), на своем серваке можно наверное в каком-то другом. формат имеет Long, у линукса называется UTC.
при работе с криптобиржами вот такую функцию сделал для перевода в дату/таймстэмп.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Public Const PostTime& = 86400000, UTCDays& = 25569
Public Const W0RJ As Boolean = False ' if debugging then W0RJ=true
Function dateTOstamp(d As Date) As Long
' make timestamp
On Error GoTo handle1
dateTOstamp = PostTime * (CDbl(d) - UTCDays)
Exit Function
handle1:
If W0RJ Then
Stop
Resume
End If
MsgBox "Mistake in dateTOstamp"
End Function
Function DateFromStamp(ByVal Stamp$) As Date
' translate timestamp to date
On Error GoTo handle1
Dim prov, d1 As Date
prov = CDbl(Stamp) / PostTime
d1 = CDate(prov) + CDate(UTCDays)
ex1:
DateFromStamp = d1
'Debug.Print d1
Exit Function
handle1:
If W0RJ Then
    Stop
    Resume
Else
    d1 = Now
    Resume ex1
End If
End Function

...
Рейтинг: 0 / 0
09.04.2020, 16:07
    #39945433
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форматирование поля с датой в проекте ADP
alecko
при работе с криптобиржами вот такую функцию сделал для перевода в дату/таймстэмп.

спасибо за пример!

зуб не дам
но должен быть более легкий способ....
я пробовал играться на сервере ранее с форматом вывода, но это мне никак не помогло
Access упорно приводит к своему формату.А результат, как писал ранее.
хотя.. это уже другая история
лучше наверное, в той ветке и спрашивать..
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Форматирование поля с датой в проекте ADP / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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