Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/32: Рейтинг темы: голосов - 32, средняя оценка - 4.91
3 / 3 / 0
Регистрация: 21.10.2012
Сообщений: 208

Присвоение одного значения множеству ячеек в VBA

09.11.2012, 20:00. Показов 6755. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Подскажите пожалуйста как можно прописать следующие действия покороче
Visual Basic
1
Me.Д1_1 = 0: Me.Д1_2 = 0: Me.Д1_3 = 0: Me.Д1_4с = 0: Me.Д1_4ц = 0: Me.Д1_4т = 0: Me.Д1_4п = 0: Me.Д1_5э = 0:
Visual Basic
1
[VB]Me.Д1_1.Enabled = True: Me.Д1_2.Enabled = True: Me.Д1_3.Enabled = True: Me.Д1_4с.Enabled = True: Me.Д1_4ц.Enabled = True: Me.Д1_4т.Enabled = True: Me.Д1_4п.Enabled = True: Me.Д1_5э.Enabled = True:
[/VB]

Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2012, 20:00
Ответы с готовыми решениями:

Присвоение параметру запроса значения через VBA
Здравствуйте! Помогите пожалуйста, как написать код, присваивающий параметру запроса на выборку новое значение. Добавлено через 30...

Присвоение одного значения ряду переменных
ошибку выдает, а так-то очень удобно было-бы, там их штук 5 сразу обнулять надо, хочется в одной строке. i,c,c1:=0;

Присвоение одного значения нескольким переменным сразу
Всем привет! Подскажите, пожалуйста. Такая проблема: есть несколько переменных, и одно значение, актуальное для них всех. Можно ли одной...

28
3 / 3 / 0
Регистрация: 21.10.2012
Сообщений: 208
09.11.2012, 23:23  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от mobile Посмотреть сообщение
Я был прав. Ошибку давали расчетные поля. Чтобы предотвратить ошибку, в вышепоказанном коде, после строки Dim поставьте обход ошибок - On Error Resume Next
Спасибо! Для теста прописал вот так (значение 1, чтобы видно было). Все работает
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Dim c As Control
On Error Resume Next
If Me.ТПА_не_использовался = True Then
For Each c In Me.Controls
    If TypeName(c) = "Textbox" Then Me(c.Name) = 0: Me(c.Name).Enabled = false
Next
End If
If Me.ТПА_не_использовался = False Then
For Each c In Me.Controls
    If TypeName(c) = "Textbox" Then Me(c.Name) = 1: Me(c.Name).Enabled = true
Next
End If
как исключить из этого процесса поле Ввод_даты (а то на 1989 год ушла)
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
09.11.2012, 23:32
Проверяйте с.name, чтобы исключить некоторые поля.
1
3 / 3 / 0
Регистрация: 21.10.2012
Сообщений: 208
10.11.2012, 00:05  [ТС]
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Dim c As Control
On Error Resume Next
If Me.ÒÏÀ_íå_èñïîëüçîâàëñÿ = True Then
Me.Ââîä_äàòû.Enabled = False
For Each c In Me.Controls
    If TypeName(c) = "Textbox" Then Me(c.Name) = 0: Me(c.Name).Enabled = False
 Me.Ä1_0 = 435
 Me.Ââîä_ñìåíû.Enabled = False
 Me.Ââîä_äåòàëè.Enabled = False
 Me.Ââîä_äåòàëè2.Enabled = False
 Me.Ââîä_ÒÏÀ.Enabled = False
 Me.Ãíåçä_Ä1.Enabled = False
 Me.Ãíåçä_Ä2.Enabled = False
 Me.Öèêë_òåîð_äåòàëè.Enabled = False
 Me.Öèêë_òåîð_äåòàëè2.Enabled = False
Next
End If
If Me.ÒÏÀ_íå_èñïîëüçîâàëñÿ = False Then
Me.Ââîä_äàòû.Enabled = False
For Each c In Me.Controls
    If TypeName(c) = "Textbox" Then Me(c.Name) = 1: Me(c.Name).Enabled = True
Next
Me.Ä1_0 = 0
 Me.Ââîä_ñìåíû.Enabled = True
 Me.Ââîä_äåòàëè.Enabled = True
 Me.Ââîä_äåòàëè2.Enabled = True
 Me.Ââîä_ÒÏÀ.Enabled = True
 Me.Ãíåçä_Ä1.Enabled = True
 Me.Ãíåçä_Ä2.Enabled = True
 Me.Öèêë_òåîð_äåòàëè.Enabled = True
 Me.Öèêë_òåîð_äåòàëè2.Enabled = True
 
 Me.Ââîä_äàòû.Enabled = True
End If
Все сделал как хотел. Только с датой не получается
Как её исключить из корректировки, но сохранив блокировку

Добавлено через 13 минут
Вот частвую как-то так надо прописать:
"For Each c In Me.Controls но не Me.Ввод_даты"
А как правильно, подскажете?
0
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
10.11.2012, 00:09
в цикл заложите условие
Visual Basic
1
2
3
if с=me.вашадата then
ваше условие
end if
1
3 / 3 / 0
Регистрация: 21.10.2012
Сообщений: 208
10.11.2012, 00:13  [ТС]
Спасибо ВСЕМ!!!
Метод "тыка" сработал!!!
Visual Basic
1
If TypeName(c) = "Textbox" And Me(c.Name) <> Me.Ââîä_äàòû Then Me(c.Name) = 0: Me(c.Name).Enabled = False
вот так работает. Дата блокируется/разблокируется и при этом не меняется.
Ура!!!
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
12.11.2012, 02:27
u_tarvo, что же вы будете делать, если добавиться пара новых типов брака, а три старых уберётся, а через месяц похожая ситуация?
0
3 / 3 / 0
Регистрация: 21.10.2012
Сообщений: 208
13.11.2012, 21:48  [ТС]
Цитата Сообщение от alvk Посмотреть сообщение
u_tarvo, что же вы будете делать, если добавиться пара новых типов брака, а три старых уберётся, а через месяц похожая ситуация?
Спасибо за вопрос!
Изначально заложил большое количество типов брака (17 наименований) по некоторым из них 1 дет/год бывает.
Если чтото нужно будет добавить, добавлю поле
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
13.11.2012, 22:17
Цитата Сообщение от u_tarvo Посмотреть сообщение
Спасибо за вопрос!
Изначально заложил большое количество типов брака (17 наименований) по некоторым из них 1 дет/год бывает.
Если чтото нужно будет добавить, добавлю поле
Вспоминается классическая история о программисте, которому поручили решить квадратную матрицу большого размера. Через месяц он появился с огромной программой, где было несколько тысяч операторов. Так он решал систему линейных кравнений..., которая циклом решается в десять операторов!

Поля по наименованию типов брака это тот же метод "лобового" решения. К добру не приведут. А уж сопровождение большого количества полей, да еще с сильно разреженной матрицей, это то еще удовольствие.
1
3 / 3 / 0
Регистрация: 21.10.2012
Сообщений: 208
13.11.2012, 23:05  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Вспоминается классическая история о программисте, которому поручили решить квадратную матрицу большого размера. Через месяц он появился с огромной программой, где было несколько тысяч операторов. Так он решал систему линейных кравнений..., которая циклом решается в десять операторов!

Поля по наименованию типов брака это тот же метод "лобового" решения. К добру не приведут. А уж сопровождение большого количества полей, да еще с сильно разреженной матрицей, это то еще удовольствие.
Я понимаю, но я не программист, а инженер-технолог (это звучит гордо!).
По рабочим вопросам, и запросам руководства всяких расчетов мощностей производства с вариантами если .., а если.., а если.. и.т.д изучил углубленно Эксель. После того как того как еще и накапливать информацию стало нужно начал осваивать Access.
Вы мне помогаете! Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.11.2012, 23:05

Присвоение одного значения выделенным строкам в гриде.
Не ужели в гриде не возможно выделив несколько строк одним событием присвоить им одно значение имеется Grid VALUE1 - CODE1 - ...

Присвоение значения одного поля другому с условием
стоит задача присвоить поле rating из таблицы Rating в одноименное поле rating таблицы Content при условии что url страницы в обоих...

Присвоение нескольким компонентам формы одного и того же значения
Нужно упростить код. Как это можно сделать? Вот сам код. Form4-&gt;Label1-&gt;Visible=False; ...

Присвоение значения полю типа "Вложение" с использованием VBA
Дорогие коллеги, помогите решить элементарнейшую задачу которая меня поставила просто в тупик (поскольку я не профессионально занимаюсь...

Поиск значения ячеек одного столбца в столбце другого листа
Всем привет! Имеются два столбца на разных листах со значениями в ячейках. Нужно взять значение первой ячейки первого столбца, найти его в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru