![]() |
|
Модераторы: Akina |
![]()
|
|
| Djinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 18.5.2007 Репутация: нет Всего: 1 |
Здравствуйте.
Вопрос вот в чем: есть у меня поле для ввода денег (тип денежный) собственно мне нужно чтобы в другом поле выводилось какое-то число в другое такое-же поле. В общем поле с одним именем приблизительно в 5-ти вариантах может быть (создаются по выборке из запроса), то есть присвоить просто полю то или иное значение нельзя. Есть модуль в котором ф-я делает такое (к примеру)
Мне нужно обязательно чтобы во время создания input2 выполнялась эта функция (или во время создания ipput2). В данные ф-ю нельзя впихнуть потому как тогда одно из полей не будет создано, остальные все действия уже относятся к пользователю :( Надеюсь описал более-менее понятно. заранее благодарен Это сообщение отредактировал(а) Akina - 5.10.2009, 18:55 |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
1. Реализоываете фукнцию в модуле.
2.а Используете ее в качестве источника данных для поля формы, в атрибут данные записывая выражение: =Фукнция() 2.б Релаизовываете обработчик события открытие формы и выполняете Me.Pole.Value = Фeнкция() P.S. К чему вы обращаетесь посредствам Form_Form5? В модуле класса, в частности формы, можно использовать ключевое слово Me для доступа к атрибутам и методам текущего класса. Если вы во внежней фнукции хотите обрабатываеть форму, то лучше делать так:
Вместо "ByRef frm As Form_Form5" можно использовать объявление "ByRef frm As Form", если не известно для какой формы будет вызывана функция. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Модератор: Используя тег кода, смотрите внимательнее, какой именно тип кода задаёте.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Djinn |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 18.5.2007 Репутация: нет Всего: 1 |
Дело в том что, если указать функцию в источник данных - то:
Есть ошибочным... :( типа не обьявлено еще... :(
это не понятно И это тоже Я думаю это не важно |
||||
|
|||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Djinn,
Выражения записываются по другому. Воспользуйтесь мастером (кнопка с многоточием в окне Свойств напротив Свойства). Я вообще-то предполагал, что туда будет записана фукнция. См. книжку. Темы события форм и обработчики событий. Опять, читайте книгу. Любую о программировании Access. Рекомендую "Разработка настольных приложений в MS Access 2003". P.S. Форма это и есть класс. |
|||
|
||||
| Djinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 18.5.2007 Репутация: нет Всего: 1 |
Нет событий которые исполняются сами... все Events исполняются с помощью пользователя... например фокус мышки... Если в данные Поле2(Input2.Value, в которое надо присвоить данные) вписать функцию, то будет ошибка:
В Поле1(Input1.Value, которое записываем) данные уже заняты, ибо там стоить поле из запроса (которое собственно и заполняет эти поля). Вот в чем дело :( поэтому и ищу чтобы в выражение еще какой-то Events найти bopoha, Сенкс что помогаешь |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Нет такого события как создание поля. Вообще нет!
Все необходимые действия по настройке начального вида формы делаются в Form_Load(). Индивидуализация вида контролов выполняется в AfterLayout, BeforeRender, AfterRender или AfterFinalRender. Не поленитесь посмотреть цепь событий, возникающих при открытии формы. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Djinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 18.5.2007 Репутация: нет Всего: 1 |
||||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Ссылочку? F1. Приведёт во встроенную справку.
Или MDSN. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
События вызваются базовым классом Form при наступлении каких-то событий, которые может обработать программист и сделать то, что ему заблогарусидтся. Откройте свойства формы и перейдите на вкладку События. Каждый визуальный элемент (и не только, но это уже детали) на форме содержит кучу событий. Иницианализцаия формы делается в двух событиях Form_Open или Form_Load. Отличия заключаются в том, что в первом обработчике можно отменить открытие формы. Встроенной справки достаточно. Рекомендую поставить русский Access 97 (в отедльную папку) со справкой. Там справка на русском и более понятно устроена, чем в Access 2003. В Access 2003 нужно нажимать F1 из модуля, чтобы получить справку о программировании. Добавлено через 58 секунд Что бы долго не разглагольствовать, выкладывайте свою бд с формой. Это сообщение отредактировал(а) bopoha - 6.10.2009, 10:50 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Это не так. Просто надо не контекстную справку использовать, а идти через оглавление. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Djinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 18.5.2007 Репутация: нет Всего: 1 |
http://narod.ru/disk/13889514000/db1.mdb.html Форма5 собственно то что надо... Нужно в Поле5 внести данные из Выражение1 (тоже там поле) Спасибо |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Djinn, и в чем проблемма?
Укажите поле "Выражение1" в качестве источника данных для поля "Поле5". Если обязательно хочется фукнцию, то: Функция у вас реализована не правильно. Стоит ее писать так:
В качестве источника данных для формы пишите выражение: =grn_to_usd( nz( [Выражение1]; 0 ) ). В результате функция не зависит от формы ни каким образом и может быть использована где угодно. |
|||
|
||||
| Djinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 18.5.2007 Репутация: нет Всего: 1 |
Мне нужно сделать источник данных: Выражение1 / 10 (разделить на 10 к примеру)
Чёт не особо понятно как работает... Это сообщение отредактировал(а) Djinn - 6.10.2009, 23:45 |
|||
|
||||
| bopoha |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
А вы попробуйте. nz() - это функция, которая принимает 2а параметра, возвращает первый параметр, если он не Null иначе второй параметр. Что конкретно не понятно?
Ну тогда так:
|
||||
|
|||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |