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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2010, 21:34   #1
a.tryanov
 
Регистрация: 20.09.2010
Сообщений: 4
По умолчанию Денежный формат

Здравствуйте!
Хотел поинтересоваться, есть ли возможность связать значение в одном поле с денежным форматом другого.
Цель: при выборе валюты в первом поле, получать соответствующий формат второго, для ведения единого журнала операций с разными валютами.
a.tryanov вне форума Ответить с цитированием
Старый 21.09.2010, 05:50   #2
D.Shibanov
Пользователь
 
Регистрация: 01.09.2010
Сообщений: 28
По умолчанию

Здравствуйте!
Ваш вопрос требует пояснения.
Что Вы подразумеваете под "денежным форматом"?
Просто указание некого признака - типа символа или наименования валюты? Здесь достаточно в основной таблице иметь поле-идентификатор, через которое привязана дополнительная таблица - справочник валют. А в справочник уже заносите сколько Вам требуется атрибутов (символы валюты, наименования и пр.)
Или Вам действительно нужно изменить формат поля (Long/Single/Double/..., количество знаков целой/дробной части, вид десятичного разделителя и т.п.)? В этом случае без использования функций не обойтись.

Для лучшего понимания нужен пример.
Пришлите файл, это поможет решению Вашего вопроса.

Последний раз редактировалось D.Shibanov; 21.09.2010 в 06:04.
D.Shibanov вне форума Ответить с цитированием
Старый 21.09.2010, 10:47   #3
a.tryanov
 
Регистрация: 20.09.2010
Сообщений: 4
По умолчанию

Хотел из эстетических соображений динамично изменять формат поля, при выборе RUB-EUR-USD соответственно задавался формат для следующего поля: #,###.##р - #,###.##€ - #,###.##$. Выбор RUB-EUR-USD осуществлен через подстановку из дополнительной таблицы.
Возможно я что-то делаю криво или чего-то не знаю, прошу меня поправить в этом случае.
a.tryanov вне форума Ответить с цитированием
Старый 21.09.2010, 11:31   #4
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

Тут уточнение нужно: изменить формат для поля таблицы либо формы?
Abrakadabra вне форума Ответить с цитированием
Старый 21.09.2010, 11:42   #5
a.tryanov
 
Регистрация: 20.09.2010
Сообщений: 4
По умолчанию

Достаточно будет осуществить для формы, как хранить не принципиально.
a.tryanov вне форума Ответить с цитированием
Старый 21.09.2010, 13:18   #6
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

Цитата:
Сообщение от a.tryanov Посмотреть сообщение
как хранить не принципиально.
Тогда для ввода достаточно подставлять маску в зависимости от выбота валюты (на событие AfterUpdate, например для 2 масок..):

Код:
Private Sub ТипВалюты_AfterUpdate()
    If Me.ТипВалюты = "RUB" Then
        Me.ПолеВалюты.InputMask = "здесь маска"
    Else
        Me.ПолеВалюты.InputMask = "здесь соответствующая маска"
    End If
End Sub
Abrakadabra вне форума Ответить с цитированием
Старый 21.09.2010, 16:23   #7
a.tryanov
 
Регистрация: 20.09.2010
Сообщений: 4
По умолчанию

Поскольку маска мне не очень подходила изменил код следующим образом:

Private Sub Валюта_AfterUpdate()
If Me.Результат = "3" Then
Me.Результат.Format = "#,###.##р"
Else
If Me.Валюта = "1" Then
Me.Результат.Format = "#,###.##€"
Else
Me.Результат.Format = "#,###.##$"
End If
End If

End Sub

Все хорошо, но есть одно но, формат он меняет для всего столбца, есть ли какой-нибудь способ закреплять формат для конкретных полей? Маска конечно здорово, но все же остается несколько неудобной, к тому же при переходах - нужно обновлять.
Конечная цель: сделать раздельную форму для удобной работы. Где в верхней части будет форма заполнения без кодовых обозначений, а в нижней таблица с хранимыми данными.
Так же интересует, можно ли в форме сделать вместо хранимого в таблице значения кода родителя отображения нескольких его полей, т.е. например для "Клиентов" не только фамилию, но и имя, отчество.
a.tryanov вне форума Ответить с цитированием
Старый 21.09.2010, 19:27   #8
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

Цитата:
Сообщение от a.tryanov Посмотреть сообщение
есть ли какой-нибудь способ закреплять формат для конкретных полей? Маска конечно здорово, но все же остается несколько неудобной, к тому же при переходах - нужно обновлять.
Обновление -Current формы. Для конкретного поля конкретной записи (в Вашем понимании) просто так закрепить формат не получится, но можно запросом изменить формат..
Abrakadabra вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
КАК ПЕРЕДЕЛАТЬ ФОРМАТ mp4 В ФОРМАТ 3gp,MPEG4 kamalruslan Софт 4 20.08.2015 16:16
Преобразование дробного числа в денежный формат. Delphi LinMax Помощь студентам 2 11.06.2010 16:41
Старый формат (C#) FVGK-2009 Общие вопросы .NET 1 02.02.2009 15:08
с помощью чего можно с Edita вытянуть денежный эквивалент Bl@ck_A_n_G_e_L Общие вопросы Delphi 1 06.05.2008 14:03