Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / АХТУНГ! Как обратиться к полю формы :) / 11 сообщений из 11, страница 1 из 1
24.05.2004, 14:19
    #32530719
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АХТУНГ! Как обратиться к полю формы :)
В недрах унаследованного софта в ContolSource'е одного из контролов одного из отчетов увидел такую конструкцию:

= """ | Forms![Форма]![Поле] | """

Кавычек - по три штуки с каждой стороны. Конкатенация - через вертикальную черту.
И оно работает!! В 97-ом аксесе.
В контроле выводится содержимое поля формы, заключенное в кавычки. О как.

Немного пошаманил. Понял, что кавычки не важны.
В строке вида "трампампам |Forms![Форма]![Поле]| трампампам" кусок, обрамленный вертикальными черточками - заменяется на значение в указанном поле указанной формы/отчета

Обнаружилось все это при переходе на XP.
В XP - не работает. Вернее работает, но не так. Выводит строку as is.

Это глюк? Фича? Или это я америку открыл и на граблю наступил?
...
Рейтинг: 0 / 0
24.05.2004, 14:32
    #32530757
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АХТУНГ! Как обратиться к полю формы :)
Про вертикальную черту помню следующее. Она включает в стринг части, которые вычисляются on the fly. Например:

"ABC|f(x)|DEF"

- это все равно, что

"ABC" & f(x) & "DEF"
...
Рейтинг: 0 / 0
24.05.2004, 14:34
    #32530762
TriAxp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АХТУНГ! Как обратиться к полю формы :)
Из Help Access 97:
"Существующие приложения Microsoft Access поддерживают использование операторов вертикальной черты (| |) вместо открывающих и закрывающих пар символов прямых кавычек (") и операторов & (слияния строк), например:

"[КодТипа] = '|Forms![Товары]![КодТипа]|' "

Однако использовать символы вертикальной черты не рекомендуется, поскольку в некоторых обстоятельствах они могут давать непредсказуемые результаты."
...
Рейтинг: 0 / 0
24.05.2004, 14:41
    #32530780
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АХТУНГ! Как обратиться к полю формы :)
Ок. Понял. Значит это я америку открыл.

Хорошо, тогда такой вопрос. То, что оно в XP не работает - это нормально?

2 TriAxp
Слушай, а где это в хелпе написано? Можно раздел/подраздел указать? А то искал, искал... нифига не нашел...
...
Рейтинг: 0 / 0
24.05.2004, 14:44
    #32530791
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АХТУНГ! Как обратиться к полю формы :)
По символу & можно выйти на:

Use values in expressions

...

Existing Microsoft Access applications may use the vertical bar operators (| |) in place of an opening and closing combination of double quotation marks and & (concatenation) operators, as follows:
"[CategoryID] = '|Forms![Products]![CategoryID]|' "
However, the use of vertical bars is not recommended because they can produce unexpected results in some circumstances.
...
Рейтинг: 0 / 0
24.05.2004, 14:47
    #32530802
TriAxp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АХТУНГ! Как обратиться к полю формы :)
Я нашел через поиск по символу |
:-)
- где-то в первом десятке результатов попалось.
Да, именно там: "Создание выражений - Использование значений в выражениях"
...
Рейтинг: 0 / 0
24.05.2004, 14:47
    #32530803
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АХТУНГ! Как обратиться к полю формы :)
2 Саныч
Спасибо, уже нашел :)

"unexpected results in some circumstances" - это, видимо, прекращение поддержки в XP :)

2 TriAxp
Я вот, как и Саныч, через поиск по &
А поиск по | - ниче не дал.
...
Рейтинг: 0 / 0
24.05.2004, 14:52
    #32530818
TriAxp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АХТУНГ! Как обратиться к полю формы :)
в Access 2000 эта штука тоже не работает, кстати.
А я в help'е нажал "Rebuild..." -> "maximize search capabilities", вот оно и нашлось ;-)
...
Рейтинг: 0 / 0
24.05.2004, 15:00
    #32530831
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АХТУНГ! Как обратиться к полю формы :)
а чем отличается если сделать как обычно?

= Forms![Форма]![Поле]

авторВ XP - не работает. Вернее работает, но не так. Выводит строку as is.

можно подробнее ?
...
Рейтинг: 0 / 0
24.05.2004, 15:02
    #32530837
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АХТУНГ! Как обратиться к полю формы :)
Ну дык - так и пишет: Form, blablabla...
...
Рейтинг: 0 / 0
24.05.2004, 15:03
    #32530841
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АХТУНГ! Как обратиться к полю формы :)
По тому, что тут писано, похоже - речь идет о механизме макроподстановки.
Устаревшим его, видно, объявляют по причине явного ввода в строй Eval
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / АХТУНГ! Как обратиться к полю формы :) / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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