powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как показать в vba выражение из 'Формат поля' конструктора формы
45 сообщений из 45, показаны все 2 страниц
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021173
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

В конструкторе формы, в свойствах поля / формат поля есть такое выражение:
Код: sql
1.
# ##0,00" €";;@;€ 

которое показывает в пустом поле символ (может быть любой, кг, ч, дн и т.д.) и после ввода туда значения остается с ним. Подскажите, пж, как сделать такое в vba, отобразить символ пока поле без значения? "Приклеивание" символа после ввода значения я делаю
Код: vbnet
1.
Me.Price.Format = "#,###.00\ \€"

спасибо, здесь же и подсказали :), а вот до ввода, чтобы показывался символ пока поле пустое не знаю. Мне это потом нужно для составление условий с IF
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021229
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga,
А чё не цветом:
Код: vbnet
1.
2.
3.
Private Sub Form_Current()
If IsNull(Me.price) Then Me.price.BackColor = vbCyan 'или какой другой
End Sub

kniga
..... Мне это потом нужно для составление условий с IF
Не понял зачем как-то помечать поле-почему в IF не проверять его на NULL
(или сделать его обязательным, или..., или...-не зная Вашу задачу сказать конкретно не могу)
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021234
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

спасибо большое за вариант, но цветом в этом случае, к сожалению, не подойдет. У меня на кнопке событие по смене отображения валюты в поле. Когда открывается незаполненная форма, то в поле с ценой надо чтобы отображался знак валюты, потому что есть позиции, которые вводятся в локальной валюте. По умолчанию стоит евро. Я сначала на кнопку повесил событие, что надпись меняется в соответствии с валютой типа "Цена, €" / "Цена, ₸", но в поле со значением символ валюты повторяется, что не очень красиво. Поэтому я решил оставить на кнопке надпись только "Цена", но в поле для значения надо чтобы отображался символ пока оно пустое. Чтобы было видно в какой валюте ставится цена.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021240
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021271
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше (и правильнее) иметь в таблице 2 поля [сумма]\[количество] и [валюта] (а на форме это оформить как одно поле со зн.по умолчанию [валюта]="евро"),при этом забыть про весь гемор, который Вы сами себе придумываете
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021286
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

спасибо за ссылку, полезный ресурс, но, к сожалению, не нашел ответа на мою хотелку ). Может я неправильно сформулировал задачу... На всякий повторюсь: Юзер открывает форму для ввода нового товара, в поле Цена пока ничего нет, пустое. А надо, чтобы уже показывался символ валюты. По умолчанию, если ввести в него значение, то после потери фокуса. там добавляется к цифре символ валюты Евро. Юзеру придется щелкнуть на кнопку, чтобы сменить валюту на местную, но это после того, как он ввел цифры. А надо, чтобы до ввода цифр, щелкнуть по кнопке для смены валюты и только потом вводить цифры (видеть на какой валюте вводишь). т.е. при нажатии на кнопке, в пока еще пустом поле надо чтобы сменялись символы валют.
А для этого мне нужен формат в vba, чтобы условие написать на нажатие.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021287
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
)) ну может быть и так, не знаю, начал уже так делать, осталось малость добить..
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021300
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga
не нашел ответа на мою хотелку


kniga
Юзер открывает форму для ввода нового товара, в поле Цена пока ничего нет, пустое. А надо, чтобы уже показывался символ валюты.
https://docs.microsoft.com/en-us/office/vba/api/access.format.propertynumber.and.currency#custom-formats Section Description
First The format for positive numbers.
Second The format for negative numbers.
Third The format for zero values.
Fourth The format for Null values.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021302
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga, $#,##0.00[Green];($#,##0.00) [Red];"Zero"; "Null"
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021308
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga
Панург,

спасибо за ссылку, полезный ресурс, но, к сожалению, не нашел ответа на мою хотелку ). Может я неправильно сформулировал задачу... На всякий повторюсь: Юзер открывает форму для ввода нового товара, в поле Цена пока ничего нет, пустое. А надо, чтобы уже показывался символ валюты. По умолчанию, если ввести в него значение, то после потери фокуса. там добавляется к цифре символ валюты Евро. Юзеру придется щелкнуть на кнопку, чтобы сменить валюту на местную, но это после того, как он ввел цифры. А надо, чтобы до ввода цифр, щелкнуть по кнопке для смены валюты и только потом вводить цифры (видеть на какой валюте вводишь). т.е. при нажатии на кнопке, в пока еще пустом поле надо чтобы сменялись символы валют.
А для этого мне нужен формат в vba, чтобы условие написать на нажатие.

у вас в поле цена храниться зоопарк валют?
И как это сменить валюту на местную без пересчета чёли?
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021318
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga,
"Основным правилом первой формы является необходимость неделимости значения в каждом поле (столбце) строки – атомарность значений." То бишь в поле должна содержаться минимальная\не делимая "единица" информации(ФИО не 1 поле,а три:фамилия,имя,отчество.Ваше поле содержащее информацию о количестве средств и валюте,а должно быть два:количество и валюта
kniga
sdku,
)) ну может быть и так, не знаю, начал уже так делать, осталось малость добить..
Навряд-ли нарушая одно из основных правил ACCESS (первая нормальная форма) Вы создадите что-то путное
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021339
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
а должно быть два:количество и валюта
а кто сказал что это не так? ТС хочет чтобы отображалось в одном поле и Format вполне это может.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021346
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
Я же толкую только о том что в таблице должно быть поле с данными [валюта],а как и где эти данные отображать ТС пусть решает сам-по моему простой конкатенации в не новых записях вполне достаточно,а в новых пусть выбирает валюту.Как то так...
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021356
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,

авторИ как это сменить валюту на местную без пересчета чёли?

Делаю прайс-лист, вводится/отображается цена как в евро, так и в тенге. Есть свободное поле куда при вводе значения, цены которые в Евро пересчитываются по курсу, а которые в тенге - нет. Которые из них теньговые определяет чекбокс, значение Истина которому задает нажатие кнопки.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021363
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
сам-по моему простой конкатенации в не новых записях вполне достаточно
нет
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021364
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga, табличка это что?
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021368
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga,

Зачем в прайсе цены в валюте?
И как их покупатель будет пересчитывать?
Или у вас можно в валюте торговать?
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021373
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
kniga, $#,##0.00[Green];($#,##0.00) [Red];"Zero"; "Null"


А как типа такого выражения поставить на условие в vba? Я так понял такое выражение можно только в конструкторе сделать, в свойствах поля... Кароч туплю )
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021375
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Табличка это фрагмент прайс-листа и он не для покупателя, а для внутреннего пользования. Для покупателя с него просто делается отчет в PDF.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021378
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga
Табличка это фрагмент прайс-листа
меня интересует в разрезе Access.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021381
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga
Я так понял такое выражение можно только в конструкторе сделать
Это с чего бы?
все свойства можно задать через свойства объекта.
kniga
А как типа такого выражения поставить на условие в vba?
Напиши в конструкторе, прочитай результат в vba. далее делай по аналогии.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021410
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga,
А скажите какой тип у поля [цена] в сообщении 22237159 и каков будет результат если цену умножить на 3?
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021422
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga, цены хранятся как Double, а символ перед ними определяется функцией, которая берет его из таблицы, в которой хранится тип валюты, очевидно что все пересчитывается (в рублях показывать проще :) )
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021429
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku

какой тип у поля [цена] и каков будет результат если цену умножить на 3?


Тип поля числовой, символы валют отображаются только посредством format. Результат умножения отобразится правильно )
Ну фрагмент прайса это я для ROI выложил, на его вопрос ) А мой вопрос был для поля в форме, которая вызывается для редактирования/ввода любой из позиций.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021433
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alecko,

спасибо, я вас запутал с выложенным фрагментом ) Он был выложен для объяснения как в прайсе у меня хранятся два типа валют. У меня все проще, типы валют не хранятся в отдельной табл, они только отображаются форматом
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021440
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

авторНапиши в конструкторе, прочитай результат в vba. далее делай по аналогии.
А можно чуть поподробней, как прочитать результат в vba? Я мастер делать по аналогии, главное найти эту аналогию ) Можно
ли прочитать средствами самого access, или надо типа visual studio?
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021444
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga
А можно чуть поподробней, как прочитать результат в vba?
kniga
В конструкторе формы, в свойствах поля / формат поля есть такое выражение:
Код: sql
1.
# ##0,00" €";;@;€ 

kniga
Код: vbnet
1.
Me.Price.Format = "#,###.00\ \€"

...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021448
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga

Тип поля числовой....
Может я чё не понимаю-но как в таком поле мог оказаться текст?
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021454
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если только это не экзотическиязычная версия-символ тенге
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021489
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
kniga

Тип поля числовой....
Может я чё не понимаю-но как в таком поле мог оказаться текст?


Присоединил unicode Format(PriceEU, '# ### ##0;.00') & "" "" & ChrW (8376) и арифметические действия в этом поле норм происходят )
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021493
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но как раз это выражение
Код: vbnet
1.
Me.Price.Format = "#,###.00 €"


не есть именно это, вернее это только часть от этого:

Код: sql
1.
# ##0,00" €";;@;" €"



вот и прошу подсказать как оно и будет в vba )
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021518
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga
вот и прошу подсказать как оно и будет в vba )
ты тут с 2008 года. неужели так трудно научиться отлаживать код?

напиши в конструкторе как надо (чтобы работало как тебе нужно), затем, например, в процедуре на событие загрузки формы напиши
Код: vbnet
1.
2.
3.
Private Sub Form_Load()
debug.print Me.Price.Format
End Sub

Затем запустить форму и в окне Immediate посмотреть какое значение Format.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021521
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga, да, если ты хочешь провернуть трюк с разным форматом для разных строк в табличной форме, то можешь не стараться.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021529
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

авторзапустить форму и в окне Immediate посмотреть какое значение Format
это же выражение как и в конструкторе вышло...

В таком виде я его разве могу вставить в процедуру?
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021530
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga, да, только с кавычками разберись
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021533
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

ок, попробую. Честно говоря хоть первый раз в жизни этот debug.printer и окно Immediate использовал, а то везде встречаю, а что за зверь только сейчас объяснили )
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021699
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
kniga, да, если ты хочешь провернуть трюк с разным форматом для разных строк в табличной форме, то можешь не стараться.
+100500
Вдобавок выдержка из HELP про Format: Возвращает значение типа Variant (String) .
Попытка записать в числовое поле текст путем "обдуривания" ACCESS удалась но к чему это приведет-хрен его знает (это знают,пожалуй,только разработчики). В типе же денежный со знаком тенге нам ничего не предлагают
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021710
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
В типе же денежный со знаком тенге нам ничего не предлагают
а почему тебе должны чего-то предлагать? Поменяй региональные настройки, после этого и смотри.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021720
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
Даже если изменить региональные настройки(что потребует установки соответствующих пакетов) то вот это не изменится: Возвращает значение типа Variant (String) .
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021755
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Возвращает значение типа Variant (String) .
и что?
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021759
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
Мне кажется что мы говорим о разном:Вы о том как отобразить данные в форме,я о том какие данные и как хранятся в таблице...
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021768
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, так и данные такие какие положили.
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021769
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Format: Возвращает значение типа Variant (String) .
это не значение контрола, а шаблон, как данные отображать
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021812
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

авторзаписать в числовое поле текст путем "обдуривания" ACCESS удалась

манипуляции чисто получились с форматом. На вычисления не отражаются... "я так думаю" © Мимино )

Спасибо всем за советы!

PS в приложении то, что получилось, правда в один момент юникод так и не удалось вставить, пришлось просто сокращение поставить )
...
Рейтинг: 0 / 0
Как показать в vba выражение из 'Формат поля' конструктора формы
    #40021822
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В новой записи:
-ставлю флажок тенге
-в поле цена заношу цифру 10
-перехожу на другую запись(обновляю форму)и возвращаюсь назад
-вижу в поле [цена]значение 10 с символом евро
Так что же Вы "изобрели"?
Можно быстро разобраться что такое первая нормальная форма, а можно и так как делаете Вы-набить кучу шишек,убить время и прийти к пониманию этого (при этом весь код не нужен,а если у Вас только 2 валюты достаточно и флажка, только он не должен быть свободным а привязанным к таблице и достаточно разместить за прозрачным полем [цена] поле с символом (или текстовым обозначением) валюты,прозрачность же цены при получении фокуса менять). Удачи
...
Рейтинг: 0 / 0
45 сообщений из 45, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как показать в vba выражение из 'Формат поля' конструктора формы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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