powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / региональные настройки
8 сообщений из 8, страница 1 из 1
региональные настройки
    #32112456
wowa_ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как добрать до региональных настроет через VBA

требуется программо заменить в региональных настройках чисел запятую на точку.
...
Рейтинг: 0 / 0
региональные настройки
    #32112504
sergat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще неизвестно как это выльется и где
если есть настройки на Россию, пускай будет

проще написать функцию заменяющую запятую на точку. Например такую:

Function TCH_USA(ddd)
ddd = Format(ddd, "#.00")
TCH_USA = Left(ddd, Len(ddd) - 3) & "." & Right(ddd, 2)
End Function
...
Рейтинг: 0 / 0
региональные настройки
    #32112536
Фотография Savik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это точно.
...
Рейтинг: 0 / 0
региональные настройки
    #32112557
Suslik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Удобнее сделать это преобразование так:

TCH_USA = Replace(ddd,",",".")

А насчёт "быстрее" - фиг знает, может и есть там микроскопическая разница, но ведь такие преобразования, похоже, не в цикле и не в запросе делаются...
...
Рейтинг: 0 / 0
региональные настройки
    #32112641
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Public Const LOCALE_ILANGUAGE = &H1 ' ID ÿçûêà
Public Const LOCALE_SLANGUAGE = &H2 ' ëîêàëèçîâàííîå íàçâàíèå ÿçûêà
Public Const LOCALE_SENGLANGUAGE = &H1001 ' àíãëèéñêîå íàçâàíèå ÿçûêà
Public Const LOCALE_SABBREVLANGNAME = &H3 ' àááðåâèàòóðà ÿçûêà
Public Const LOCALE_SNATIVELANGNAME = &H4 ' ðîäíîå íàçâàíèå ÿçûêà
Public Const LOCALE_ICOUNTRY = &H5 ' êîä ñòðàíû
Public Const LOCALE_SCOUNTRY = &H6 ' ëîêàëèçîâàííîå íàçâàíèå ñòðàíû
Public Const LOCALE_SENGCOUNTRY = &H1002 ' àíãëèéñêîå íàçâàíèå ñòðàíû
Public Const LOCALE_SABBREVCTRYNAME = &H7 ' àááðåâèàòóðà íàçâàíèÿ ñòðàíû
Public Const LOCALE_SNATIVECTRYNAME = &H8 ' ðîäíîå íàçâàíèå ñòðàíû
Public Const LOCALE_IDEFAULTLANGUAGE = &H9 ' ID ÿçûêà ïî óìîë÷àíèþ
Public Const LOCALE_IDEFAULTCOUNTRY = &HA ' Êîä ñòðàíû ïî óìîë÷àíèþ
Public Const LOCALE_IDEFAULTCODEPAGE = &HB ' Êîäîâàÿ ñòðàíèöà ïî óìîë÷àíèþ
Public Const LOCALE_SLIST = &HC ' list item separator
Public Const LOCALE_IMEASURE = &HD ' 0 = metric, 1 = US
Public Const LOCALE_SDECIMAL = &HE ' Ðàçäåëèòåëü äåñÿòè÷íûõ ðàçðÿäîâ
Public Const LOCALE_STHOUSAND = &HF ' Ðàçäåëèòåëü òûñÿ÷
Public Const LOCALE_SGROUPING = &H10 ' digit grouping
Public Const LOCALE_IDIGITS = &H11 ' number of fractional digits
Public Const LOCALE_ILZERO = &H12 ' leading zeros for decimal
Public Const LOCALE_SNATIVEDIGITS = &H13 ' native ascii 0-9
Public Const LOCALE_SCURRENCY = &H14 ' local monetary symbol
Public Const LOCALE_SINTLSYMBOL = &H15 ' intl monetary symbol
Public Const LOCALE_SMONDECIMALSEP = &H16 ' monetary decimal separator
Public Const LOCALE_SMONTHOUSANDSEP = &H17 ' monetary thousand separator
Public Const LOCALE_SMONGROUPING = &H18 ' monetary grouping
Public Const LOCALE_ICURRDIGITS = &H19 ' # local monetary digits
Public Const LOCALE_IINTLCURRDIGITS = &H1A ' # intl monetary digits
Public Const LOCALE_ICURRENCY = &H1B ' positive currency mode
Public Const LOCALE_INEGCURR = &H1C ' negative currency mode
Public Const LOCALE_SDATE = &H1D ' date separator
Public Const LOCALE_STIME = &H1E ' time separator
Public Const LOCALE_SSHORTDATE = &H1F ' short date format string
Public Const LOCALE_SLONGDATE = &H20 ' long date format string
Public Const LOCALE_STIMEFORMAT = &H1003 ' time format string
Public Const LOCALE_IDATE = &H21 ' short date format ordering
Public Const LOCALE_ILDATE = &H22 ' long date format ordering
Public Const LOCALE_ITIME = &H23 ' time format specifier
Public Const LOCALE_ICENTURY = &H24 ' century format specifier
Public Const LOCALE_ITLZERO = &H25 ' leading zeros in time field
Public Const LOCALE_IDAYLZERO = &H26 ' leading zeros in day field
Public Const LOCALE_IMONLZERO = &H27 ' leading zeros in month field
Public Const LOCALE_S1159 = &H28 ' AM designator
Public Const LOCALE_S2359 = &H29 ' PM designator
Public Const LOCALE_SDAYNAME1 = &H2A ' long name for Monday
Public Const LOCALE_SDAYNAME2 = &H2B ' long name for Tuesday
Public Const LOCALE_SDAYNAME3 = &H2C ' long name for Wednesday
Public Const LOCALE_SDAYNAME4 = &H2D ' long name for Thursday
Public Const LOCALE_SDAYNAME5 = &H2E ' long name for Friday
Public Const LOCALE_SDAYNAME6 = &H2F ' long name for Saturday
Public Const LOCALE_SDAYNAME7 = &H30 ' long name for Sunday
Public Const LOCALE_SABBREVDAYNAME1 = &H31 ' abbreviated name for Monday
Public Const LOCALE_SABBREVDAYNAME2 = &H32 ' abbreviated name for Tuesday
Public Const LOCALE_SABBREVDAYNAME3 = &H33 ' abbreviated name for Wednesday
Public Const LOCALE_SABBREVDAYNAME4 = &H34 ' abbreviated name for Thursday
Public Const LOCALE_SABBREVDAYNAME5 = &H35 ' abbreviated name for Friday
Public Const LOCALE_SABBREVDAYNAME6 = &H36 ' abbreviated name for Saturday
Public Const LOCALE_SABBREVDAYNAME7 = &H37 ' abbreviated name for Sunday
Public Const LOCALE_SMONTHNAME1 = &H38 ' long name for January
Public Const LOCALE_SMONTHNAME2 = &H39 ' long name for February
Public Const LOCALE_SMONTHNAME3 = &H3A ' long name for March
Public Const LOCALE_SMONTHNAME4 = &H3B ' long name for April
Public Const LOCALE_SMONTHNAME5 = &H3C ' long name for May
Public Const LOCALE_SMONTHNAME6 = &H3D ' long name for June
Public Const LOCALE_SMONTHNAME7 = &H3E ' long name for July
Public Const LOCALE_SMONTHNAME8 = &H3F ' long name for August
Public Const LOCALE_SMONTHNAME9 = &H40 ' long name for September
Public Const LOCALE_SMONTHNAME10 = &H41 ' long name for October
Public Const LOCALE_SMONTHNAME11 = &H42 ' long name for November
Public Const LOCALE_SMONTHNAME12 = &H43 ' long name for December
Public Const LOCALE_SABBREVMONTHNAME1 = &H44 ' abbreviated name for January
Public Const LOCALE_SABBREVMONTHNAME2 = &H45 ' abbreviated name for February
Public Const LOCALE_SABBREVMONTHNAME3 = &H46 ' abbreviated name for March
Public Const LOCALE_SABBREVMONTHNAME4 = &H47 ' abbreviated name for April
Public Const LOCALE_SABBREVMONTHNAME5 = &H48 ' abbreviated name for May
Public Const LOCALE_SABBREVMONTHNAME6 = &H49 ' abbreviated name for June
Public Const LOCALE_SABBREVMONTHNAME7 = &H4A ' abbreviated name for July
Public Const LOCALE_SABBREVMONTHNAME8 = &H4B ' abbreviated name for August
Public Const LOCALE_SABBREVMONTHNAME9 = &H4C ' abbreviated name for September
Public Const LOCALE_SABBREVMONTHNAME10 = &H4D ' abbreviated name for October
Public Const LOCALE_SABBREVMONTHNAME11 = &H4E ' abbreviated name for November
Public Const LOCALE_SABBREVMONTHNAME12 = &H4F ' abbreviated name for December
Public Const LOCALE_SABBREVMONTHNAME13 = &H100F

Public Const LOCALE_SYSTEM_DEFAULT& = &H800
Public Const LOCALE_USER_DEFAULT& = &H400

Const cMAXLEN = 255
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long

Private Function LocaleInfo(ByVal locale As Long, ByVal lc_type As Long) As String
Dim length As Long
Dim buf As String * 1024

length = GetLocaleInfo(locale, lc_type, buf, Len(buf))
LocaleInfo = left$(buf, length - 1)

End Function

Sub test()
Dim locale_id As Long
Dim Sep As String

locale_id = GetUserDefaultLCID()
Sep = LocaleInfo(locale_id, LOCALE_SDECIMAL)
MsgBox Sep
End Sub
...
Рейтинг: 0 / 0
региональные настройки
    #32112642
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, хотел еще добавить, что программу надо писать универсально, под разные региональные настройки..
...
Рейтинг: 0 / 0
региональные настройки
    #32112902
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Public Function DecPoint(ByVal Number As Double) As String

''''''''''''''''''''''''''''''''''''''''''
'Переделывает число в строку с раздетителем точка "."
DecPoint = Replace(Number, Mid(Format(1.1, "0.0"), 2, 1), ".")
'mid вырезает символ разделитель из строки формата от константы
'Таким образом будет заменен на точку символ разделитель из нац настроек а не просто ","

End Function
...
Рейтинг: 0 / 0
региональные настройки
    #32113637
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Преобразование не всегда проходит, легче использовать стандартные средства.. Для работы с запросами QueryDefs или ADODB.Command, эти компоненты сами все преобразуют, что изобретать велосипед -))
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / региональные настройки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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