Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2012, 00:39   #11
raytek
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 67
По умолчанию

Все логично! Только я не программист а инженер-энергетик, пытаюсь внедрить в свою работу простецкую базу-данных, наши спецы из ИВТ (информационно-вычислительных технологий) как оказалось в офисных программах не шарят, это удел "чайников", вот и учимся (мучиемся) по немногу.....

Последний вопрос:

Me!РПН_Тип.Visible = InStr(1, Me!Тип & "", "Н", vbTextCompare)

при этом коде я управляю логическим свойством "РПН_Тип", как при этих же условиях увеличить высоту элемента "Прямоугольник"

Заранее огромное спасибо!!!!!
raytek вне форума Ответить с цитированием
Старый 28.06.2012, 17:25   #12
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте raytek.
синтаксис необходимой Вам конструкции может быть таким:
Код:
Dim b As Boolean
b = InStr(1, Тип & "", "Н", vbTextCompare)
Прямоугольник.Height = IIf(b, 100, 1000)
"..в офисных программах..это удел "чайников".." - неверный подход, этим должен заниматься специалист
(или человек стремящийся стать специалистом)

Успехов Вам.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 30.06.2012, 01:26   #13
raytek
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 67
По умолчанию

Евгений, огромное спасибо! Все работает. После ваших советов получился такой код:

Private Sub ТипСписок_AfterUpdate()
Me!ПроизводительСписок.RowSource = Me!ПроизводительСписок.RowSource
Me!ТипРПН_Надпись.Visible = InStr(1, Me!ТипСписок & "", "Н", vbTextCompare)
Me!ТипРПН_Кнопка.Visible = InStr(1, Me!ТипСписок & "", "Н", vbTextCompare)
Me!ТипРПН_Список.Visible = InStr(1, Me!ТипСписок & "", "Н", vbTextCompare)
Me!ПроизводительРПН_Надпись.Visible = InStr(1, Me!ТипСписок & "", "Н", vbTextCompare)
Me!ПроизводительРПН_Кнопка.Visible = InStr(1, Me!ТипСписок & "", "Н", vbTextCompare)
Me!ПроизводительРПН_Список.Visible = InStr(1, Me!ТипСписок & "", "Н", vbTextCompare)
Dim b As Boolean
b = InStr(1, ТипСписок & "", "Н", vbTextCompare)
Прямоугольник.Height = IIf(b, 3174, 2500)
Проверено.Top = IIf(b, 3572, 2900)
ПровереноНадпись.Top = IIf(b, 3572, 2900)
End Sub

но мне почему-то кажется, что его можно облегчить....
в чем я перебераю?
raytek вне форума Ответить с цитированием
Старый 02.07.2012, 22:06   #14
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте raytek.
"..можно облегчить.." - думаю да, например так:
Код:
Private Sub ТипСписок_AfterUpdate()
Dim s$, b As Boolean
s = Me!ТипСписок & ""
b = InStr(1, s, "Н", vbTextCompare)
s = Me!ТипСписок & ""
'Me!ПроизводительСписок.RowSource = Me!ПроизводительСписок.RowSource
'назначение не понятно, если для обновления,
'то эффективнее - ПроизводительСписок.Requery
    ТипРПН_Надпись.Visible = b
    ТипРПН_Кнопка.Visible = b
    ТипРПН_Список.Visible = b
    ПроизводительРПН_Надпись.Visible = b
    ПроизводительРПН_Кнопка.Visible = b
    ПроизводительРПН_Список.Visible = b
    Прямоугольник.Height = IIf(b, 3174, 2500)
    Проверено.Top = IIf(b, 3572, 2900)
    ПровереноНадпись.Top = IIf(b, 3572, 2900)
End Sub
это не только уменьшение объема кода, но и "облегчение" за счёт однократного обращения
к объекту "Me!ТипСписок" (не семь раз, как это было в Вашем варианте)

Успехов Вам.
Евгений.

P.S. напоминаю: для удобочитаемости выкладываемый код заключайте в тэги [соde] ... [/соde].
для этого на панели инструментов расположена кнопка - #
Teslenko_EA вне форума Ответить с цитированием
Старый 04.07.2012, 21:54   #15
raytek
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 67
По умолчанию

Евгений, огромное спасибо! Все работает. Вы правы, этот код:

Код:
Me!ПроизводительСписок.RowSource = Me!ПроизводительСписок.RowSource
использовал для обновления, теперь буду пользоватся Вашим

Еще раз спасибо!!!
raytek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать формулы в выражение на языке VBA Wika Помощь студентам 0 27.09.2010 21:16
VBA - можно ли выполнить выражение, заданное строкой alexshm Microsoft Office Excel 3 22.09.2010 21:58
Регулярное выражение! Evgen1984 Общие вопросы .NET 4 14.09.2010 19:44
Выражение в С++ mambr Общие вопросы C/C++ 9 19.09.2009 20:02
Логическое выражение DaniyMilner Общие вопросы C/C++ 6 22.02.2009 19:14