Список форумов Форум Libreoffice

Форум Libreoffice

Добро пожаловать на Форум Libreoffice!
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

English French German Italian Portuguese Russian Spanish
Доступ к элементам управления на форме из макроса

 
Начать новую тему   Ответить на тему    Список форумов Форум Libreoffice -> Base
Предыдущая тема :: Следующая тема  
Автор Сообщение
vanya



Репутация: 0    

Зарегистрирован: 02.08.2011
Сообщения: 17

СообщениеДобавлено: Ср Авг 10, 2011 12:30 pm    Заголовок сообщения: Доступ к элементам управления на форме из макроса Ответить с цитатой

Поэкспериментируем.
1.Создаем пустую таблицу "Таблица1" с единственным полем "nnn" (или любым, нам содержимое таблицы не нужно)
2.Создаем форму в режиме дизайна.
3.Помещаем на форму Текстовое поле "Text1"
4. В свойствах формы Общие указываем Имя - MainForm
5. В свойствах формы Данные указываем Тип содержимого - Таблица и Содержимое - Таблица1
6. В свойствах формы События указываем "При загрузке" следующий макрос:
Код:
Sub Main
Txt1=ThisComponent.DrawPage.Forms.getByName("MainForm").getByName("Text1")
Txt1.Text="текст в текстовом поле"
MsgBox "При загрузке" & Chr(10) & "Txt1.Text = " & Txt1.Text & Chr(10) & "ThisComponent.Title = " & ThisComponent.Title
End Sub

7. Закрываем форму и сохраняем под любым именем, пусть "ФормаБД"

Два раза щелкаем на этой форме и приятно восхищаемся.

Продолжаем экспериментировать.

8. В свойствах формы Данные удаляем Содержимое - Таблица1

Два раза щелкаем на этой форме и неприятно удивляемся.

Вопрос: Зачем нужна "ненужная" Таблица1 ?


Последний раз редактировалось: vanya (Вс Дек 04, 2011 12:34 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
JohnSUN



Репутация: 0    

Зарегистрирован: 29.08.2011
Сообщения: 39
Откуда: Киев, Украина

СообщениеДобавлено: Пн Авг 29, 2011 7:36 am    Заголовок сообщения: Ответить с цитатой

Ну да. Например, нужно создать "Главную кнопочную форму". Реальных данных из базы в ней не будет, только несколько кнопок для открытия других форм и несколько текстовых пояснений что к чему...
Создать такую форму можно и кнопки на ней работать будут. Но! Если, допустим, хотим при открытии этой формы запросить пароль пользователя и скрыть-показать отдельные кнопки в зависимости от его прав, то нужно повесить макрос на событие формы... А если не указать форме хоть какой-то источник данных, пусть даже совсем "левый", то получим "недоформу" с обрезанными возможностями, без событий, и запустить макрос не сможем...
Можно, конечно, в таких случаях указывать что-то нейтральное, какой-нибудь SELECT COUNT... Или действительно создавать ненужную Таблицу1. Но это путь в обход, а не прямое решение...
_________________
Владислав Орлов aka JohnSUN
LibreOffice 3.4.0 OOO340m1 (Build:12) WinXP SP2
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум Libreoffice -> Base Часовой пояс: GMT
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Вы можете бесплатно создать форум на MyBB2.ru, RSS