Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: 2007 как в VBA правильно обратиться к свойствам формы и его компонентам
 
 автор: Ntolymbek   (29.05.2012 в 12:54)   личное сообщение
 
 

помогите плиз. замучился

как в VBA правильно обратиться к свои-вам формы и его компонентам
или как оформить ссылку на объект.форма, получить доступ

Ошибка не соответсвие типа данных

вар1.
Dim myProjCurr As Access.CurrentProject
Dim myForm As Access.Form

Set myProjCurr = Access.CurrentProject
Set myForm = myProjCurr.AllForms("Form1") - ошбка не соответсвие типа данных

вар.2
Dim myForm As Object - для меня не пойдет потому, что нет многих ств-в формы (например section, controls и т.д.)

а если as Access.Form - как раз все что мне надо.

конечный результат. мне надо кооректировать некоторые свойства формы и контролов.
150 форм, в каждой форме по 10-15 контролов.

  Ответить  
 
 автор: snipe   (29.05.2012 в 13:02)   личное сообщение
 
 

А чего так много форм
я бы писать их замучался

к форме можно обратиться если она открыта
Forms("имя формы").свойство
Forms![имя формы]("Имя контрола").свойство

Например
forms("главная").Visible=true
forms![главная].Visible=true

forms![главная]![поле со списком 1].Visible=true
forms![главная]("поле со списком 1").Visible=true

к некоторым свойствам можно обратиться только если форма открыта в режиме конструктора

но 150 форм - это перебор

  Ответить  
 
 автор: Ntolymbek   (29.05.2012 в 13:27)   личное сообщение
 
 

это верно, если форма "открыта", и обращаться к ней можно только в внутри самой формы.

а как обращаться к форме из Module
Sub mySub()

Dim myProj as access.currentproject
Set myProj=access.currentproject

Dim myForm as access.form
Set myForm = myProj.AllForms("Form1") - выдет ошибку

end sub

а если я пишу Dim myForm as accessobject
тогда я не могу получить свойства selection, controls и т.д.

так как получить доступ к данным свойствам и другим?

  Ответить  
 
 автор: snipe   (29.05.2012 в 13:36)   личное сообщение
 
 

так же и из модуля
если форма открыта

  Ответить  
 
 автор: Ntolymbek   (29.05.2012 в 13:45)   личное сообщение
 
 

я попробовал в Module ошибка

DoCmd.OpenForm "Form1", acDesign
Dim myFrm As Access.Form
Set myFrm = Access.CurrentProject.AllForms("Form1") - Type miss mutch

  Ответить  
 
 автор: Ntolymbek   (29.05.2012 в 13:46)   личное сообщение
 
 

Получилось
Set myFrm = Access.Forms("Form1")

Ура. спасибо.

  Ответить  
 
 автор: Ntolymbek   (29.05.2012 в 13:52)   личное сообщение
 
 

тогда что такое CurrentProject и CurrentData
для каких случаев?

  Ответить  
 
 автор: osmor   (29.05.2012 в 15:48)   личное сообщение
 
 

http://msdn.microsoft.com/en-us/library/aa164568%28v=office.10%29.aspx

  Ответить  
 
 автор: kot_k_k   (30.05.2012 в 09:31)   личное сообщение
 
 


Function Rep_RS()
          str="Select * from tabla"
          DoCmd.OpenReport "Отчет_1", acViewDesign, , , acHidden
          Reports!Отчет_1.RecordSource = str_
          DoCmd.Close acReport, "Отчет_1", acSaveYes
End Function


открыл отчет в режиме конструктор
загнал в него новый источник данных
закрыл отчет с сохранением.

работает из модуля, аналогично для форм.

если в процессе работы формы нужно скрыть/показать поле, поменять цвет
все спокойно отрабатывается через события - обращение к текущему объекту через Me:

Me.Поле134.Visible=False


п.с. Dim frm as Form - работает и без приставки Access

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList