|
|
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
На сабформе есть ряд текстбоксов. У всех задано: Код: plaintext 1. 2. 3. Разница в том, что: у некоторых упомянутое поле запроса родительской формы берется прямо из таблицы, а у некоторых оно вычисляется в запросе при помощи написанной мной функции. Функция описана по необходимости As Variant (поскольку она должна иногда возвращать Null). В результате у текстбоксов второго типа не работает Format (не показывается запятая). Как это побороть, кроме как переописав функцию As Integer? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 11:21 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Попробовать Код: plaintext ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 11:24 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Понял, попробую. Просто, как все гениальное. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 11:33 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Если поле-источник может иметь Null, то: Int([Forms]![...]![...]) или СInt([Forms]![...]![...]) вызовет ошибку. Правильнее: "=СInt(NZ([Forms]![...]![...];0))" Если Null нужен только для того, чтобы не показывать 0, то лучше переделать функцию на Integer вместо Variant, а формать указать так: Format = "#,##0;-#,##0;""""" (т.е. в свойстве: # ##0;-# ##0;""). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 16:22 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
авторЕсли поле-источник может иметь Null, то: Int([Forms]![...]![...]) или СInt([Forms]![...]![...]) вызовет ошибку. Правильнее: "=СInt(NZ([Forms]![...]![...];0))" С точностью до наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 16:26 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Debug.Print Int(Null) даст Null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 16:29 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Совет Анатолия и поправка Лоха поступили после того, как я это уже попробовал. В дебаге действительно Int(Null) дает Null, однако в DefaultValue выскакивает при наллах ошибка. Поступлю по совету Анатолия. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 17:37 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Однако... А почему же все-таки, если по дефолту попытаться поставить NULL, то ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 17:48 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Темный, не Null, а Int(что-то). И ошибка возникает, когда это что-то IsNull. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 17:58 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Все равно не понимаю. Мобыть торможу. B = Null Int( B )=Null A = Int( B ) A может быть равно Null Где ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 18:10 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Видимо, в DefaultValue это работает иначе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 18:19 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Блин. Я же теперь спать не буду... Пойду тестить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 18:21 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Сразу говорю - на истину не претендую. 1. Свободное поле можно сравнить с Variant - принимает любое значение. Другое дело, как Access определяет тип значения. Если произвольное значение можно подогнать под указанный формат - Access это делает, иначе формат игнорируется. Это если выражение в ControlCource. Если в DefaultValue, то там, похоже, Format не контролируется. 2. Если ссылки на свободные поля используются в критериях запроса, то формат очень фажен, т.к. задает приоритет определения типа значения. Если не указан, или не соответствует, то "Text". Я такое видел в А97. Запрос, выбирающий интервал дат из свободных полей не работал (ничего не возвращал, или - ерунду), пока в полях не был указан формат даты. 3. Применение функций, возвращающих Variant, в вычисляемых полях запроса по обычно возвращает значения типа "Text". Это можно видеть при выводе запроса на экран. Числа выравниваются по левому краю. Интересная ситуация с IIF(), она возвращает значение с типом, который представлен в аргументе True. Т.е. IIF(...;Число;Null) вернет числовой тип, а IIF(...;Null; Число) - текстовый. 4. И, наконец, по теме. Разница между "=[Forms]![...]![...]" и "=Int([Forms]![...]![...])" большая. В первом случае Access сам определяет тип значения и обрабатывает его на другом уровне, а во втором значение возвращает функция, и если Null, то получается "=Null", а надо "Is Null". Вот и ошибка синтаксиса. P.S. Речь идет о MDB. В ADP, возможно, по другому. P.P.S. Кто не согласен - смотрите на первую строчку, и выкладывайте свои мысли о теме, а не обо мне. P.P.P.S. А как здесь разные мордочки вставляются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 19:54 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Ниче не понимаю У меня дома (в аксесе ХР правда): а) Не вываливает никаких ошибок при DefaultValue = "=Int(Forms и т.д.)" б) Отлично работает формат при DefaultValue = "=Forms и т.д.)" завтра буду в 97-м проверять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 19:57 |
|
||
|
Не работает свойство Format текстбокса
|
|||
|---|---|---|---|
|
#18+
Интересно, что меня никто не ткнул в то, что я не указал версию Аксесса. Я, когда писал вопрос, задумался над этим, но не указал. А он действительно 97. А картинки вставляются так: [img=...] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 20:47 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32342484&tid=1677862]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 480ms |

| 0 / 0 |
