Кнопка для открытия формы.

Автор Print-out, 30 января 2012, 14:57

0 Пользователи и 1 гость просматривают эту тему.

Print-out

Пожалуйста, помогите написать макрос для кнопки, открывающей из одной формы другую форму. Знаю, здесь уже было подобное обсуждение, я его видела и на основе советов написала какой-то кривой макрос. Видите ли, я в жизни не имела дела с программированием, да и руки не из того места растут.  :-\ Но "партия сказала надо", поэтому приходится.  :(

Мой макрос имеет код:

Sub OpenForm

FormKnopka=ThisComponent.Parent
FormDocuments=Standard
GetByName("Показания"). open

End Sub


Но душа ООо этого безобразия не принимает, выдаёт синтаксическую ошибку.  >:(

Как и что поправить, понять не могу, требуется помощь.
Заранее спасибо!

[вложение удалено Администратором]

neft

1. Формы "Показания" не существует в вашей природе.
2. Попробуйте для существующей в вашей природе формы "OPLATA"
Sub OpenForm
thisComponent.Parent.FormDocuments.getByName("OPLATA").open
end Sub

Print-out

Ой, чёрт, я и забыла, что удалила форму "Показания"))))))). Вот идиотка!  :roll:
neft, спасибо большое, код заработал!

Ильдар

Цитата: neft от 30 января 2012, 13:15Попробуйте для существующей в вашей природе формы "OPLATA"
в либре не существует штатного макроса для открытия формы? я в базе данных хочу кнопку открытия другой формы на основании данных из первоначальной формы. мне нужно писать свои макросы для этого?

rami

Цитата: Ильдар от 21 октября 2015, 09:38в либре не существует штатного макроса для открытия формы? я в базе данных хочу кнопку открытия другой формы на основании данных из первоначальной формы. мне нужно писать свои макросы для этого?
Зачем "штатные макросы" ???, когда есть "внештатные" 8-), и писать ничего не надо, всё давно написано, ищите :o на форуме (в этой теме neft привёл макрос), а если будут конкретные вопросы по конкретной базе и форме, приложите образец базы и формы.

Alexandr Polbin

Пытаюсь написать макрос на открытие формы ReestrForm кнопкой из формы SimpleForm:
Sub OpenFormReestrMacr
   Dim SimpleForm As Object
   Dim ReestrForm As Object
   SimpleForm=ThisComponent
   ReestrForm=Standard   
   thisComponent.Parent.FormDocuments.getByName("ReestrForm").open
End Sub
                 Ругается, что объектная переменная не установлена.
                 Помогите, пожалуйста. Не программист, до этого больше 10 лет создавал разные приложения в Access и все было нормально, а тут... сразу затык..

rami

#6
Цитата: Alexandr Polbin от 12 февраля 2017, 10:10Ругается, что объектная переменная не установлена.
А что такое ReestrForm=Standard в приведённом вами макросе ??? Уберите его и должно заработать.

JohnSUN

И - на всякий случай - лучше указать параметр для этой процедуры:
Sub OpenFormReestrMacr(oEvent As Variant)Поскольку она вызывается как реакция на событие "кнопка нажата", то кнопка пытается сообщить макросу кто именно его запускает. Поэтому она - кнопка на форме - вызывает процедуру, ожидая, что та сможет принять информацию о событии через параметр. А параметра-то и нет
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Alexandr Polbin

Большее спасибо, заработало...!
К тому же пытался выполнить макрос не кнопкой из формы, а непосредственно из окна его правки...