Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 15
1

Как выделить определенное поле формы, чтобы потом изменить его свойства?

28.11.2012, 04:22. Показов 3986. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Ситуация такая: есть форма(F_Printer) в ней более 30 полей. При двойном нажатии на поле появляется другая форма (Gr_1_1), содержащая поле со списком(ПолеСоСписком34),(позволяющее выбрать размер шрифта для поля из F_Printer, в котором находится курсор).

Пытался задавать свойство через команду "Задать значение":

Для элемента: [Формы]![F_Printer]![Gr_1_1].[FontSize]
Задать значение: [Формы]![GS_1]![ПолеСоСписком34]


Подобную схему использовал, изменяя координаты поля на форме при помощи кнопки с заданным шагом.
Здесь же, скрипт срабатывает без ошибки, новое значение FontSize сохраняется в специальную таблицу, форма F_Printer обновляется, НО РАЗМЕР ШРИФТА ОСТАЕТСЯ ПРЕЖНИМ.

Что-то неправильно в логике? Можно ли добиться результата на скрипте?

Спасибо.

P.S.: Аналогичным способом собирался и шрифт менять в поле..., сеййчас в задумчивости...(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2012, 04:22
Ответы с готовыми решениями:

Как программно изменить цвет текста в поле ввода и как выделить весь текст в поле ввода по умолчанию
Как программно изменить цвет текста в поле ввода и как выделить весь текст в поле ввода по...

Как из файла выделить строчку в которой есть определенное слово, и вывести его отдельно
Условие такое: В экзаменационной ведомости каждая строка имеет вид: Иванов – хорошо, Сидоров –...

Как с JS или jQuery изменить цвет одного символа в поле формы(в поле находится некоторый текст)
Как с JS или jQuery изменить цвет одного символа в поле формы(в поле находится некоторый текст)

Ввести в типизированный файл ФИО и лучший результат спортсмена, а потом изменить его так, чтобы осталось N лучший спортсменов
Задание состоит в том, чтобы ввести в типизированный файл ФИО и лучший результат спортсмена, а...

10
2842 / 774 / 41
Регистрация: 20.05.2012
Сообщений: 2,055
28.11.2012, 04:39 2
Первое, что можно предположить, - у вас из поля со списком берется значение не того поля: то есть, того, которое отображается. Посмотрите свойства поля со списком: Количество столбцов и Присоединенный столбец (реальное значение - в столбце последнего свойства)
0
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 15
28.11.2012, 04:39  [ТС] 3
Решение найдено
Присутствовала ошибка в логике. Было неправильно выставлено Свойство "Событие": правильное значение - "Изменение" , а стояло - "После обновления"
0
2719 / 1773 / 187
Регистрация: 05.06.2011
Сообщений: 5,132
28.11.2012, 04:46 4
Мож, базу вложишь? Если только не 2010. Вообще-то, глюки Access многочисленны и разнообразны...
0
2842 / 774 / 41
Регистрация: 20.05.2012
Сообщений: 2,055
28.11.2012, 04:50 5
Цитата Сообщение от Dagnirgvat Посмотреть сообщение
Решение найдено
Присутствовала ошибка в логике. Было неправильно выставлено Свойство "Событие": правильное значение - "Изменение" , а стояло - "После обновления"
Странно...
1
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 15
28.11.2012, 05:07  [ТС] 6
Сегодня спать..(... у меня уже 04 утра, завтра пример сляпаю и выложу, настоящую к сожалению не выложу..., она весьма специфична по назначению.
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
28.11.2012, 05:21 7
Возможно, ошибки кроются в следующих противоречиях
1. Здесь
Цитата Сообщение от Dagnirgvat Посмотреть сообщение
Для элемента: [Формы]![F_Printer]![Gr_1_1].[FontSize]
Gr_1_1 используется как имя элемента управления формы F_Printer, а здесь
Цитата Сообщение от Dagnirgvat Посмотреть сообщение
другая форма (Gr_1_1)
вы говорите, что Gr_1_1 - имя формы.

2. Здесь
Цитата Сообщение от Dagnirgvat Посмотреть сообщение
Задать значение: [Формы]![GS_1]![ПолеСоСписком34]
GS_1 - имя формы, сдержащей ПолеСоСписком34, что противоречит
Цитата Сообщение от Dagnirgvat Посмотреть сообщение
форма (Gr_1_1), содержащая поле со списком(ПолеСоСписком34)
0
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 15
28.11.2012, 05:28  [ТС] 8
Уважаемый, minob..) Выше описана причина сбоя, все уже работает, если потерпите, то завтра(сегодня вечером) выложу пример. И, все равно, благодарю за детальный разбор..)
0
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 15
28.11.2012, 16:11  [ТС] 9
Здравствуйте.

Выкладываю рабочий пример:Пример № 4.zip

ОПИСАНИЕ

Таблицы:

Gr_1 - хранит информацию, содержащуюся в полях(Gr_1_1, Gr_1_2, Gr_1_3, Gr_1_4, Gr_1_5). В оригинале 17 (граф)групп полей, содержащих от 2 до 7 полей каждая. Ключевое поле для всех-Код(счетчик)
GS_1 - Таблица -хранилище свойств(Top, Left,FontSize, Font) для группы полей или иначе-для одной графы документа(в примере, для Gr_1)

Таким образом, каждой из 17 Gr соответствует своя GS

Формы:

GKF - в примере - эмитация удаленныйх из примера элементов базы. Служит для вызова формы F_Printer. При нажатии на кнопку запускается макрос Top_Left_Start_Gr_1(предназначен для передачи в форму F_Printer информации о ранее сохраненных в GS_1 свойствах полей группы Gr_1), после чего форма GKF закрывается.

GS_1_111 - скрытая форма, применяемая при работе макроса Top_Left_Start_Gr_1

F-Printer - форма, выводимая на печать, чистый лист с текстом (не использовал отчет из-за большого числа выводимых полей). В оригинале, содержит не выводимые на печать элементы управления.Каждому полю формы, содержащему информацию для вывода на печать, задано "Событие" - "Двойное нажатие кнопки", отрабатываеме мышью.(запускается форма настройки параметров для данной Gr).

GS_1 - форма настройки свойств для полей группы Gr_1 (отображает свойства Top и Left для 1й (верхней графы грруппы), свойства отобажаются во внутренних единицаз Access и сотых долях сантиметра). Также, форма позволяет изменять размер шрифта.

Функция выбора шрифта отключена, т. к. выполняется с ошибкой, Если кто пожелает покопаться и помочь, то следует заменить скрипт Top_Left_Start_Gr_1 на его копию. Сегодня сам попытаюсь разобраться и исправить, но не знаю хватит ли времени, по-этому буду благодарен за подсказки.

Макросы:

Font_Gr_1 - должен устанавливать свойство Font для полей группы Gr_1

FontSize_Gr_1 - устанавливает размер шрифта для полей группы Gr_1

Left_Gr_1_1_M5 -
минусует 5 единиц от свойства Left и присваивает новое значениие свойству Left для полей группы Gr_1 (реализуется через кнопку "Стрелка влево")

Left_Gr_1_1_P5 - плюсует 5 единиц к свойству Left и присваивает новое значениие свойству Left для полей группы Gr_1 (реализуется через кнопку "Стрелка вправо")

Top_Gr_1_1_M5 - минусует 5 единиц от свойства Top и присваивает новое значениие свойству Top для полей группы Gr_1 (реализуется через кнопку "Стрелка вверх")

Top_Gr_1_1_P5 - люсует 5 единиц к свойству Top и присваивает новое значениие свойству Top для полей группы Gr_1 (реализуется через кнопку "Стрелка вниз")

Open_F_GS_1 - реализует вызов формы настройки при двойном нажатии левой кнопки мыши на любом из полей группы

Top_Left_Start_Gr_1 - присваивает полям Gr_1_1, Gr_1_2, Gr_1_3, Gr_1_4, Gr_1_5 формы F-Printer значения сохраненные после предыдущей корректировки свойств. При первом запуске базы(когда таблица GS_1 еще пустая) выдает ошибку - либо игнорировать(больше ошибкане повторяется, т. к. таблица GS_1 получает данные) либо "лечить" обработчиком ошибок.

Надеюсь, что ответил на все вопросы.
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
29.11.2012, 04:47 10
Dagnirgvat, посмотрите пример. Правда, я практически не владею макросами и поэтому сделал на ВБА. Форма F_Printer. Шрифт можете выбрать любой из доступных в системе.
Вложения
Тип файла: rar Пример № 4.rar (45.1 Кб, 23 просмотров)
2
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 15
29.11.2012, 17:34  [ТС] 11
Спасибо за помощь, но можно быть наглым и попросить вычленить в модуль только вид шрифта? В моем случпн пользователь должен быть ограничен размером шрифта от 8-го до 14 и в данном случае решение я нашел......(
0
29.11.2012, 17:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2012, 17:34
Помогаю со студенческими работами здесь

Ввести текст в поле, чтобы он потом появился на экране. Как сделать?
Как сделать так, чтобы после ввода текста в строку (<input type="text">...) и нажатия кнопки (ОК,...

Как изменить свойства одной формы из другой?
Делаю текстовый редактор из нескольких форм в visual studio на C#. Мне нужно что-бы когда счетчик...

Как программно изменить свойства файла, чтобы он запустился от имени администратора?
Здравствуйте. На 7-ке программа отлично работает, на 8-ке не хочет, пока не изменишь в свойствах...

Как сохранить содержимое буфера, изменить его, а потом вернуть всё обратно?
Собственно вопрос: как сохранить содержимое буфера, выполнить некоторые действия (используя буфер),...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru