Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Дата на английском Access / 9 сообщений из 9, страница 1 из 1
13.04.2016, 00:34
    #39214173
Igor Rad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата на английском Access
Нуждаюсь в помощи. Нужно в отчет добавлять дату в формате Mar.12.2016. У меня получилось сделать что бы в таблицу данные вносились на русском то есть Мар.12.2016 а вот как перейти к формату на английском не знаю. Помогите советом и делом.
...
Рейтинг: 0 / 0
13.04.2016, 01:38
    #39214184
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата на английском Access
Igor Rad,
поменять региональные установки в настройках Windows, либо с помощью самописной функции , например
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Public Function ddd(d As Date) As String
s = Format(d, "\.dd\.yyyy")
m = Choose(Month(d), _
    "Jan", "Feb", "Mar", "Apr", "May", "Jun", _
    "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
ddd = m & s
End Function


?ddd(date())
Apr.13.2016
...
Рейтинг: 0 / 0
13.04.2016, 06:11
    #39214206
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата на английском Access
Igor Rad, немного API...
Код: 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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
Private Type SYSTEMTIME
    wYear           As Integer
    wMonth          As Integer
    wDayOfWeek      As Integer
    wDay            As Integer
    wHour           As Integer
    wMinute         As Integer
    wSecond         As Integer
    wMilliseconds   As Integer
End Type

Private Declare Function GetDateFormat Lib "kernel32" Alias "GetDateFormatA" _
                (ByVal Locale As Long, ByVal dwFlags As Long, lpSystemTime As SYSTEMTIME, _
                 ByVal lpFormat As String, ByVal lpDateStr As String, _
                 ByVal cchDate As Long) As Long
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
Private Declare Function VariantTimeToSystemTime Lib "oleaut32" (ByVal vTime As Date, lpSystemTime As SYSTEMTIME) As Long
'https://msdn.microsoft.com/ru-ru/library/windows/desktop/dd318693(v=vs.85).aspx
Public Const LANG_DEFAULT = &H400
Public Const LANG_ENGLISH_US = &H409
Public Const LANG_RUSSIAN = &H419

Public Function DateFormatEx(dtExpression As Date, sFormat As String, Optional ByVal lLocale As Long = 0) As String
Dim st As SYSTEMTIME
Dim lngRetVal As Long, lngBufSize As Long
On Error Resume Next
    If lLocale = 0 Then lLocale = GetUserDefaultLCID
    If VariantTimeToSystemTime(dtExpression, st) = 1 Then
        lngBufSize = GetDateFormat(lLocale, 0&, st, sFormat, 0&, 0&)
            If lngBufSize > 0 Then
                DateFormatEx = Space$(lngBufSize - 1)
                GetDateFormat lLocale, 0&, st, sFormat, DateFormatEx, lngBufSize
            End If
    End If
End Function

Private Sub Test()
    Debug.Print DateFormatEx(Date, "dd.MMM.yyyy", LANG_ENGLISH_US)
    Debug.Print DateFormatEx(Date, "dd.MMM.yyyy")
    Debug.Print DateFormatEx(Date, "MMM.dd.yyyy", LANG_ENGLISH_US)
    Debug.Print DateFormatEx(Date, "ddd dd.MM.yyyy")
    Debug.Print DateFormatEx(Date, "ddd dd.MM.yyyy", LANG_ENGLISH_US)
End Sub

'13.Apr.2016
'13.апр.2016
'Apr.13.2016
'Ср 13.04.2016
'Wed 13.04.2016

...
Рейтинг: 0 / 0
13.04.2016, 06:16
    #39214207
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата на английском Access
\\\\, upd...
В структуре SYSTEMTIME Integer можно заменить на Long
...
Рейтинг: 0 / 0
13.04.2016, 11:01
    #39214399
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата на английском Access
Igor RadНуждаюсь в помощи. Нужно в отчет добавлять дату в формате Mar.12.2016. У меня получилось сделать что бы в таблицу данные вносились на русском то есть Мар.12.2016 а вот как перейти к формату на английском не знаю. Помогите советом и делом.
В таблицу данные должны вноситься не текстом в таком-то формате, а датой. Поле должно быть типа дата. Тогда в отчете можно будет для этой даты задать любой формат.
...
Рейтинг: 0 / 0
18.04.2016, 00:38
    #39217690
Igor Rad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата на английском Access
guest_rusimport,
Что попробовал и что получилось. Изменил региональные установки в настройках Windows все начало отображаться корректно в формате March 18, 2016. Поставил корректный формат поля. Но перенос с базы в шаблон ворда происходит в формате 3/18/2016. я понимаю что я настроил отображении даты а в базе перенос происходит числового значения и сохраняется в ней также числами. пробовал редактировать шаблон что бы он отображал мне так как надо но нет каждый раз числовые даты.
Функции пытался использовать но если честно то я даже не знаю куда их вписывать.
...
Рейтинг: 0 / 0
18.04.2016, 12:07
    #39217986
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата на английском Access
не бейся головой в стену, проверял на себе - не эффективно

Владимир СанычВ таблицу данные должны вноситься не текстом в таком-то формате, а датой.

Это главное.

А на вывод через функцию от guest_rusimport
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Public Function ddd(d As Date) As String
s = Format(d, "\.dd\.yyyy")
m = Choose(Month(d), _
    "Jan", "Feb", "Mar", "Apr", "May", "Jun", _
    "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
ddd = m & s
End Function



Это должно решить и проблему экспорта - значение стрингом будет
...
Рейтинг: 0 / 0
18.04.2016, 12:28
    #39218028
Дата на английском Access
Igor Rad, что из себя представляет "перенос с базы в шаблон ворда"?
...
Рейтинг: 0 / 0
18.04.2016, 14:11
    #39218149
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата на английском Access
Igor RadНо перенос с базы в шаблон ворда происходит в формате 3/18/2016. я

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


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