Light-electric.com

IT Журнал
70 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vba access dropdown метод

Работа со списками в Visual Basic

Приведённые практические работы по программированию могут быть использованы при изучении элементов выбора Visual Basic. Списки целесообразно изучать после знакомства с переключателями (OptionButton) и флажками (CheckBox).

При объяснении нового материала удобно использовать распечатки с изложением теоретического материала и примерами программ, которые выдаются каждому студенту (ученику), либо методические пособия (мы используем авторское пособие “Практикум по решению задач в среде Visual Basic”, часть 1, 2).

Приведённые практические работы рассчитаны на 3 занятия по 2 часа. Задания самостоятельной работы можно использовать в качестве домашних заданий.

В Visual Basic существует 2 вида списков:

  • комбинированный список ComboBox;
  • список ListBox.

1. Комбинированный список ComboBox

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

Свойство Style задаёт внешний вид комбинированного списка (по умолчанию оно равно 0 — элемент ComboBox отображается в виде текстового поля со стрелкой справа, позволяющей развернуть весь список и выбрать требуемое значение). Если Style = 1, то постоянно отображается весь список (или список с полосой прокрутки).

Основные свойства ComboBox

0 — Dropdown Combo (раскрывающийся комбинированный список);

1 — Simple Combo (простой комбинированный список);

2 — Dropdown List (раскрывающийся список).

Для добавления нового элемента в список используется метод AddItem.

Пример: Combo1.AddItem “Пение” — добавить в список Combo1 слово Пение.

Добавляемые в список элементы имеют тип String; [index] — порядковый номер в списке, под которым будет находиться новый элемент (необязательный параметр).

Добавить элементы в комбинированный список можно также на этапе разработки с помощью свойства List. Для добавления очередного элемента в список нужно ввести этот элемент в свойстве List и нажать комбинацию клавиш Ctrl + Enter.

2. Список ListBox

Данный элемент применяется в том случае, когда пользователю необходимо выбрать один элемент из имеющегося списка для выполнения определенных действий. Объекты ListBox используются обычно в сочетании с управляющими кнопками, которые позволяют обрабатывать элементы списка (добавлять, удалять и т. д.).

В отличие от ComboBox список ListBox можно создать многоколончатым и осуществлять выбор нескольких элементов одновременно.

Свойство MultiSelect позволяет задать режим множественного выбора элементов в списке. В режиме MultiSelect = 1 добавление элемента в выделенную группу или исключение из нее осуществляется с помощью щелчка мыши или нажатия пробела. Если MultiSelect = 2, то в этом случае выделение элементов выполняется по аналогии с программой Проводник:

  • щелчок мыши при нажатой клавише Shift позволяет выделить несколько подряд расположенных элементов;
  • щелчок мыши при нажатой клавише Ctrl даёт возможность выделять группу несмежных элементов списка.

Основные свойства элемента ListBox

0 — одноколончатый список с вертикальной прокруткой;

1 — одноколончатый список с горизонтальной прокруткой;

>1 — многоколончатый список с горизонтальной прокруткой

0 — None (обычный список);

1 -Simple (простой множественный выбор — щелчок мыши или нажатие Пробел выделяет очередной элемент или снимает выделение);

2 — Extended (расширенный множественный выбор) — выделение с использованием вспомогательных клавиш.

Методы ListBox аналогичны методам ComboBox.

Практическая работа 1. Проект “Результаты сессии”

Задание: создать проект, содержащий 3 списка: список студентов группы; список студентов, получивших зачёт и список неаттестованных. Двойным щелчком мыши в списке студентов (List1) выбирается фамилия и добавляется в список “Зачёт” (List2). Двойным щелчком в списке “Зачёт” фамилия возвращается назад. Кнопкой “Добавить в список” фамилия, введённая в текстовое поле Text1, заносится в список List1. Кнопка “н/а” заносит выбранную фамилию из списка студентов в список List3 ( н/а).

Private Sub Form_Load() ‘загрузка формы

List1.AddItem «Чесноков»: List1.AddItem «Симонов»

List1.AddItem «Трушков»: List1.AddItem «Морозова»

Private Sub List1_DblClick() ‘перенести из списка в зачёт

List1.RemoveItem List1.ListIndex ‘удалить из списка

Private Sub List2_DblClick() ‘перенести назад в Список из Зачёт

Private Sub List3_DblClick() ‘перенести назад в список из н/а

Private Sub Command1_Click() ‘добавить в список из текст. поля

Private Sub Command3_Click() ‘добавить в н/а

List1.RemoveItem List1.ListIndex ‘удалить из списка

Задания

  1. Добавьте в проект список оценок (2, 3, 4, 5) – List4.
  2. Измените проект таким образом, чтобы можно было добавлять в результаты фамилию и оценку ученика.
  3. Создайте кнопку “Очистить результаты”.

Примерный вид формы показан на рисунке.

Практическая работа 2. Проект “Переводчик”

Задание: создать проект для проверки знания иностранных слов (англо-русский и русско-английский переводчик).

Элементы интерфейса проекта:

  1. Комбинированные списки Combo1 и Combo2 – для хранения русских и английских слов. Индексы русских слов в списке должны соответствовать индексам соответствующих им английских слов.
  2. Текстовое поле Text1 — для вывода случайного слова из списка, которое необходимо перевести.
  3. Текстовое поле Text2 — для вывода комментария “Верно” или “Неверно”.
  4. Текстовые поля Text3, Text4 — для вывода количества вопросов и верных ответов.
  5. Таймер Timer1 – для временной задержки при выводе очередного вопроса.
  6. Image1 – для вывода рисунка, соответствующего слову.
  7. Элемент MMControl1 — для воспроизведения звука.

Элемент MMControl является дополнительным компонентом VB (Activ X). Для его установки необходимо:

  • Открыть в меню Проект – Компоненты вкладку Управление (Control);
  • Установить флажок MicrosoftMultimedia Control 6.0;
  • На панели элементов управления появится новый значок MMControl.

Рисунки к проекту сохраните в папке с проектом в порядке следования слов в списке Combo1:

Ris0.jpg – рисунок к первому слову списка;

Ris1.jpg – рисунок ко второму слову списка и т.д.

Для определения имени файла рисунка в проекте используем переменную Path:

Path = «Ris» & Mid(Str(n), 2, 1) & «.jpg»

Функция Mid используется для того, чтобы убрать пробел перед числом в имени файла, т.к. функция Str(n) для положительного числа формирует строку с пробелом перед числом. Таким образом, получаем неверное имя файла Ris 0.jpg, вместо Ris0.jpg.

Рассмотрим основные процедуры проекта.

1) В процедуре загрузки формы нужно заполнить списки русских и английских слов.

Dim n, k, z, p As Integer, Path As String

‘n – индекс слова в списке; k – количество верных ответов; z – кол. вопросов; p – признак направления перевода; Path – путь к файлу с рисунком на диске

Private Sub Form_Load()

Combo1.AddItem «собака»: Combo1.AddItem «дельфин»

Combo1.AddItem «осёл»: Combo1.AddItem «красный»

Combo1.AddItem «зеленый»: Combo2.AddItem «Dog»

Combo2.AddItem «Dolphin»: Combo2.AddItem «Donkey»

Combo2.AddItem «Red»: Combo2.AddItem «Green»

k = 0 ’количество верных ответов

z = 0 ‘количество вопросов

2) При выборе кнопки “Перевод рус/англ” должно появляться русское слово. Для данного слова нужно найти перевод в списке английских слов. Список русских слов при этом должен скрываться.

Private Sub Command5_Click() ‘Перевод рус/англ

p = 1 ‘признак перевода – рус/англ

Combo1.Visible = False ‘скрыть список русских слов

Combo2.Visible = True ‘показать список англ. слов

Label1.Caption = «Русское слово»

Timer1.Enabled = True ‘включить таймер

3) В процедуре таймера случайным образом определяем индекс слова в списке слов. Если p=1, то было выбрано направление перевода рус/англ., поэтому слово выбирается из списка русских слов Combo1.

Private Sub Timer1_Timer()

z = z + 1 ‘подсчёт кол. вопросов

n = Int(Rnd * 4) ‘случайный выбор индекса слова в списке слов

If p = 1 Then Text1.Text = Combo1.List(n)

4) Для выбора перевода заданного русского слова пользователь делает щелчок по списку английских слов. Если индекс исходного русского слова n совпадает с индексом слова-перевода, выбранного пользователем, то ответ верный.

Private Sub Combo2_Click() ‘список англ. слов

If n = Combo2.ListIndex Then ‘если ответ верный

Image1.Visible = True ‘показать рисунок

MMControl1.FileName = «da.wav» ‘загрузить звуковой файл

Path = «Ris» & Mid(Str(n), 2, 1) & «.jpg»

Image1.Picture = LoadPicture(Path) ‘загрузить файл с соответствующим рисунком

Else ‘если ответ неверный

MMControl1.Command = «sound» ‘воспроизвести звук. файл

Задания:

  1. Создайте процедуру кнопки “Перевод англ/рус”.
  2. Добавьте кнопку Сброс.
  3. Подберите 2 звуковых файла для подтверждения верного и неверного ответа, подключите эти файлы к проекту.
  4. Создайте заставку к проекту.

Самостоятельная работа

  1. Создать проект “Выбор шрифта”, позволяющий выбрать с помощью списков тип шрифта, размер, начертание (свойства): жирный, подчёркнутый, курсив. Выбранные параметры должны применяться к метке Образец.

Свойства шрифта в метке задаются следующими командами:

Label1.Font.Italic = True – установить курсив

Label1.Font.Bold = False – отменить жирный шрифт

Label1.Font.Underline = True – установить подчёркнутый шрифт

Label1.Font = Combo1.Text – применить к метке тип шрифта, выбранный в комбинированном списке 1

Label1.Font.Size = Combo1.Text — применить к метке размер шрифта, выбранный в комбинированном списке 1

  • Создать проект “Заказы CD/DVD дисков по каталогам”. На форме разместить 2 комбинированных списка: “Игры” и “Обучающие программы”; список “Заказано”. Кнопки “Добавить в заказ” добавляют выбранный элемент в список “Заказано”. Кнопка “Удалить из заказа” удаляет выбранный элемент из заказа. Предусмотреть подсчёт количества заказов в списке.
  • Создать проект “Результаты кросса” с использованием 3-х списков. Двойным щелчком мыши в списке студентов (List1) выбирается фамилия и добавляется в список “Зачёт” (List2). Двойным щелчком в списке “Зачёт” фамилия возвращается назад. Кнопкой “Добавить в список” фамилия, введённая в текстовое поле Text1, заносится в список List1. Кнопка “н/а” заносит выбранную фамилию из списка в список List3 (н/а).
  • Литература

    1. Глушаков С.В. , Мельников В.В., Сурядный А.С. Программирование в среде Windows. Visual Basic 6.0. М.: ООО “Издательство АСТ”, 2001
    2. Браун С. Visual Basic. Учебный курс. – Спб.: Питер, 2002

    PROИТ

    Office 365, AD, Active Directory, Sharepoint, C#, Powershell. Технические статьи и заметки.

    Access: построение дерева разделов — TreeView и VBA

    Дано: База данных Access 2016 с таблицей, где перечислены разделы (подразделения или другие данные, которые можно представить в виде иерархии).
    Задача: на Access-форме построить иерархическое дерево на базе указанной выше таблице.

    Допустим имеется таблица подразделений вуза (tblDepartment) в формате:
    intID — strDepartmentName — intParentID
    Где,
    intID — идентификатор подразделения,
    strDepartmentName — наименование подразделения,
    intParentID — идентификатор родительского подразделения.

    Корневой элемент будет ссылаться в качестве «родителя» на самого себя.
    Также для удобства в конструкторе таблицы в поле родителя можно задать подстановку, ссылаясь на эту же таблицу:

    Текст запроса для подстановки:

    После этого в колонке родителя мы сможем выбирать не идентификатору, а по имени подразделения (но в колонке будет по-прежнему храниться идентификатор).

    В итоге мы сможем заполнять таблицу следующим образом:

    Теперь построим дерево. Для этого создаем пустую форму в режиме конструктора и выберем пункт «Элементы ActiveX»:

    В списке выбираем элемент «Microsoft TreeView Control (6.0)»

    Выбранный элемент добавляем на форму в нужном месте нужного размера:

    Далее переходим в режим кода Visual Basic и добавляем следующий код:

    Сохраняем код и форму. Теперь можно запускать форму в режиме просмотра. Должно отобразиться дерево:

    Если возникает ошибка: User-defined type not defined (на строке кода ADODB.Recordset), то в VBA в меню Tools — References нужно добавить компонент Microsoft ActiveX Data Objects:

    И после этого сделать компиляцию — Debug — Compile.

    Как вариант можно использовать таблицу, расположенную в базе на MS SQL Server. Для этого достаточно создать связь с таблицами. Все остальные действия по построению дерева будет аналогичны. В этом случае также возможен обход дерева на стороне MS SQL Server.

    9 комментариев :

    Этот комментарий был удален автором.

    Чтобы работало с node, где родители null

    Option Compare Database

    Private Sub Form_Load()
    Dim strRoot
    strRoot = «»

    Private Sub AddNode(ByVal ParentID As String)
    Set rsCommon = New ADODB.Recordset

    If ParentID = «» Then
    rsCommon.Open «SELECT Êîä, Ðîäèòåëü, Èìÿ FROM Req DP WHERE IsNull(Ðîäèòåëü)» & » ORDER BY Èìÿ», CurrentProject.Connection, adOpenKeyset, adLockOptimistic

    Do While Not rsCommon.EOF
    TreeViewDep.Nodes.Add , , Str(rsCommon(«Êîä»)) & «$KEY», rsCommon(«Èìÿ»)
    TreeViewDep.Nodes.Item(Str(rsCommon(«Êîä»)) & «$KEY»).Expanded = True
    AddNode (Str(rsCommon(«Êîä»)))
    rsCommon.MoveNext
    Loop
    rsCommon.Close
    Set rsCommon = Nothing

    Else
    rsCommon.Open «SELECT Êîä, Ðîäèòåëü, Èìÿ FROM Req DP WHERE Êîä <> Ðîäèòåëü AND Ðîäèòåëü = » & ParentID & » ORDER BY Èìÿ», CurrentProject.Connection, adOpenKeyset, adLockOptimistic

    Do While Not rsCommon.EOF
    TreeViewDep.Nodes.Add ParentID & «$KEY», tvwChild, Str(rsCommon(«Êîä»)) & «$KEY», rsCommon(«Èìÿ»)
    TreeViewDep.Nodes.Item(Str(rsCommon(«Êîä»)) & «$KEY»).Expanded = True
    AddNode (Str(rsCommon(«Êîä»)))
    rsCommon.MoveNext
    Loop
    rsCommon.Close
    Set rsCommon = Nothing
    End If

    Здравствуйте. Дорос уже до наполнения дерева по частям. Т.к. элементов несколько тысяч, то построение дерева занимает ощутимое время. Теперь я подгружаю ветку по клику на элемент. Вопрос: как вывести возле элемента значок «+» ? А то неудобно — пока не кликнул, не знаешь есть у этого элемента дочерние позиции или нет

    Давно не работала с этим контролом. Может как вариант выводить у каждого элемента в скобках количество дочерних элементов? Или подгружать до клика на элементе хотя бы один его дочерний элемент?

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

    Работа со списками в Visual Basic

    Приведённые практические работы по программированию могут быть использованы при изучении элементов выбора Visual Basic. Списки целесообразно изучать после знакомства с переключателями (OptionButton) и флажками (CheckBox).

    При объяснении нового материала удобно использовать распечатки с изложением теоретического материала и примерами программ, которые выдаются каждому студенту (ученику), либо методические пособия (мы используем авторское пособие “Практикум по решению задач в среде Visual Basic”, часть 1, 2).

    Приведённые практические работы рассчитаны на 3 занятия по 2 часа. Задания самостоятельной работы можно использовать в качестве домашних заданий.

    В Visual Basic существует 2 вида списков:

    • комбинированный список ComboBox;
    • список ListBox.

    1. Комбинированный список ComboBox

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

    Свойство Style задаёт внешний вид комбинированного списка (по умолчанию оно равно 0 — элемент ComboBox отображается в виде текстового поля со стрелкой справа, позволяющей развернуть весь список и выбрать требуемое значение). Если Style = 1, то постоянно отображается весь список (или список с полосой прокрутки).

    Основные свойства ComboBox

    0 — Dropdown Combo (раскрывающийся комбинированный список);

    1 — Simple Combo (простой комбинированный список);

    2 — Dropdown List (раскрывающийся список).

    Для добавления нового элемента в список используется метод AddItem.

    Пример: Combo1.AddItem “Пение” — добавить в список Combo1 слово Пение.

    Добавляемые в список элементы имеют тип String; [index] — порядковый номер в списке, под которым будет находиться новый элемент (необязательный параметр).

    Добавить элементы в комбинированный список можно также на этапе разработки с помощью свойства List. Для добавления очередного элемента в список нужно ввести этот элемент в свойстве List и нажать комбинацию клавиш Ctrl + Enter.

    2. Список ListBox

    Данный элемент применяется в том случае, когда пользователю необходимо выбрать один элемент из имеющегося списка для выполнения определенных действий. Объекты ListBox используются обычно в сочетании с управляющими кнопками, которые позволяют обрабатывать элементы списка (добавлять, удалять и т. д.).

    В отличие от ComboBox список ListBox можно создать многоколончатым и осуществлять выбор нескольких элементов одновременно.

    Свойство MultiSelect позволяет задать режим множественного выбора элементов в списке. В режиме MultiSelect = 1 добавление элемента в выделенную группу или исключение из нее осуществляется с помощью щелчка мыши или нажатия пробела. Если MultiSelect = 2, то в этом случае выделение элементов выполняется по аналогии с программой Проводник:

    • щелчок мыши при нажатой клавише Shift позволяет выделить несколько подряд расположенных элементов;
    • щелчок мыши при нажатой клавише Ctrl даёт возможность выделять группу несмежных элементов списка.

    Основные свойства элемента ListBox

    0 — одноколончатый список с вертикальной прокруткой;

    1 — одноколончатый список с горизонтальной прокруткой;

    >1 — многоколончатый список с горизонтальной прокруткой

    0 — None (обычный список);

    1 -Simple (простой множественный выбор — щелчок мыши или нажатие Пробел выделяет очередной элемент или снимает выделение);

    2 — Extended (расширенный множественный выбор) — выделение с использованием вспомогательных клавиш.

    Методы ListBox аналогичны методам ComboBox.

    Практическая работа 1. Проект “Результаты сессии”

    Задание: создать проект, содержащий 3 списка: список студентов группы; список студентов, получивших зачёт и список неаттестованных. Двойным щелчком мыши в списке студентов (List1) выбирается фамилия и добавляется в список “Зачёт” (List2). Двойным щелчком в списке “Зачёт” фамилия возвращается назад. Кнопкой “Добавить в список” фамилия, введённая в текстовое поле Text1, заносится в список List1. Кнопка “н/а” заносит выбранную фамилию из списка студентов в список List3 ( н/а).

    Private Sub Form_Load() ‘загрузка формы

    List1.AddItem «Чесноков»: List1.AddItem «Симонов»

    List1.AddItem «Трушков»: List1.AddItem «Морозова»

    Private Sub List1_DblClick() ‘перенести из списка в зачёт

    List1.RemoveItem List1.ListIndex ‘удалить из списка

    Private Sub List2_DblClick() ‘перенести назад в Список из Зачёт

    Private Sub List3_DblClick() ‘перенести назад в список из н/а

    Private Sub Command1_Click() ‘добавить в список из текст. поля

    Private Sub Command3_Click() ‘добавить в н/а

    List1.RemoveItem List1.ListIndex ‘удалить из списка

    Задания

    1. Добавьте в проект список оценок (2, 3, 4, 5) – List4.
    2. Измените проект таким образом, чтобы можно было добавлять в результаты фамилию и оценку ученика.
    3. Создайте кнопку “Очистить результаты”.

    Примерный вид формы показан на рисунке.

    Практическая работа 2. Проект “Переводчик”

    Задание: создать проект для проверки знания иностранных слов (англо-русский и русско-английский переводчик).

    Элементы интерфейса проекта:

    1. Комбинированные списки Combo1 и Combo2 – для хранения русских и английских слов. Индексы русских слов в списке должны соответствовать индексам соответствующих им английских слов.
    2. Текстовое поле Text1 — для вывода случайного слова из списка, которое необходимо перевести.
    3. Текстовое поле Text2 — для вывода комментария “Верно” или “Неверно”.
    4. Текстовые поля Text3, Text4 — для вывода количества вопросов и верных ответов.
    5. Таймер Timer1 – для временной задержки при выводе очередного вопроса.
    6. Image1 – для вывода рисунка, соответствующего слову.
    7. Элемент MMControl1 — для воспроизведения звука.

    Элемент MMControl является дополнительным компонентом VB (Activ X). Для его установки необходимо:

    • Открыть в меню Проект – Компоненты вкладку Управление (Control);
    • Установить флажок MicrosoftMultimedia Control 6.0;
    • На панели элементов управления появится новый значок MMControl.

    Рисунки к проекту сохраните в папке с проектом в порядке следования слов в списке Combo1:

    Ris0.jpg – рисунок к первому слову списка;

    Ris1.jpg – рисунок ко второму слову списка и т.д.

    Для определения имени файла рисунка в проекте используем переменную Path:

    Path = «Ris» & Mid(Str(n), 2, 1) & «.jpg»

    Функция Mid используется для того, чтобы убрать пробел перед числом в имени файла, т.к. функция Str(n) для положительного числа формирует строку с пробелом перед числом. Таким образом, получаем неверное имя файла Ris 0.jpg, вместо Ris0.jpg.

    Рассмотрим основные процедуры проекта.

    1) В процедуре загрузки формы нужно заполнить списки русских и английских слов.

    Dim n, k, z, p As Integer, Path As String

    ‘n – индекс слова в списке; k – количество верных ответов; z – кол. вопросов; p – признак направления перевода; Path – путь к файлу с рисунком на диске

    Private Sub Form_Load()

    Combo1.AddItem «собака»: Combo1.AddItem «дельфин»

    Combo1.AddItem «осёл»: Combo1.AddItem «красный»

    Combo1.AddItem «зеленый»: Combo2.AddItem «Dog»

    Combo2.AddItem «Dolphin»: Combo2.AddItem «Donkey»

    Combo2.AddItem «Red»: Combo2.AddItem «Green»

    k = 0 ’количество верных ответов

    z = 0 ‘количество вопросов

    2) При выборе кнопки “Перевод рус/англ” должно появляться русское слово. Для данного слова нужно найти перевод в списке английских слов. Список русских слов при этом должен скрываться.

    Private Sub Command5_Click() ‘Перевод рус/англ

    p = 1 ‘признак перевода – рус/англ

    Combo1.Visible = False ‘скрыть список русских слов

    Combo2.Visible = True ‘показать список англ. слов

    Label1.Caption = «Русское слово»

    Timer1.Enabled = True ‘включить таймер

    3) В процедуре таймера случайным образом определяем индекс слова в списке слов. Если p=1, то было выбрано направление перевода рус/англ., поэтому слово выбирается из списка русских слов Combo1.

    Private Sub Timer1_Timer()

    z = z + 1 ‘подсчёт кол. вопросов

    n = Int(Rnd * 4) ‘случайный выбор индекса слова в списке слов

    If p = 1 Then Text1.Text = Combo1.List(n)

    4) Для выбора перевода заданного русского слова пользователь делает щелчок по списку английских слов. Если индекс исходного русского слова n совпадает с индексом слова-перевода, выбранного пользователем, то ответ верный.

    Private Sub Combo2_Click() ‘список англ. слов

    If n = Combo2.ListIndex Then ‘если ответ верный

    Image1.Visible = True ‘показать рисунок

    MMControl1.FileName = «da.wav» ‘загрузить звуковой файл

    Path = «Ris» & Mid(Str(n), 2, 1) & «.jpg»

    Image1.Picture = LoadPicture(Path) ‘загрузить файл с соответствующим рисунком

    Else ‘если ответ неверный

    MMControl1.Command = «sound» ‘воспроизвести звук. файл

    Задания:

    1. Создайте процедуру кнопки “Перевод англ/рус”.
    2. Добавьте кнопку Сброс.
    3. Подберите 2 звуковых файла для подтверждения верного и неверного ответа, подключите эти файлы к проекту.
    4. Создайте заставку к проекту.

    Самостоятельная работа

    1. Создать проект “Выбор шрифта”, позволяющий выбрать с помощью списков тип шрифта, размер, начертание (свойства): жирный, подчёркнутый, курсив. Выбранные параметры должны применяться к метке Образец.

    Свойства шрифта в метке задаются следующими командами:

    Label1.Font.Italic = True – установить курсив

    Label1.Font.Bold = False – отменить жирный шрифт

    Label1.Font.Underline = True – установить подчёркнутый шрифт

    Label1.Font = Combo1.Text – применить к метке тип шрифта, выбранный в комбинированном списке 1

    Label1.Font.Size = Combo1.Text — применить к метке размер шрифта, выбранный в комбинированном списке 1

  • Создать проект “Заказы CD/DVD дисков по каталогам”. На форме разместить 2 комбинированных списка: “Игры” и “Обучающие программы”; список “Заказано”. Кнопки “Добавить в заказ” добавляют выбранный элемент в список “Заказано”. Кнопка “Удалить из заказа” удаляет выбранный элемент из заказа. Предусмотреть подсчёт количества заказов в списке.
  • Создать проект “Результаты кросса” с использованием 3-х списков. Двойным щелчком мыши в списке студентов (List1) выбирается фамилия и добавляется в список “Зачёт” (List2). Двойным щелчком в списке “Зачёт” фамилия возвращается назад. Кнопкой “Добавить в список” фамилия, введённая в текстовое поле Text1, заносится в список List1. Кнопка “н/а” заносит выбранную фамилию из списка в список List3 (н/а).
  • Литература

    1. Глушаков С.В. , Мельников В.В., Сурядный А.С. Программирование в среде Windows. Visual Basic 6.0. М.: ООО “Издательство АСТ”, 2001
    2. Браун С. Visual Basic. Учебный курс. – Спб.: Питер, 2002

    Проектирование интерфейса. Меню

    Создание собственного головного меню

    Согласно существующим формальным и фактическим стандартам проектирования интерфейса, работа прикладной программы должна начинаться с активизации головного меню, которое находится в верхней части окна приложения. Собственное головное меню для прикладной системы можно спроектировать визуально — «руками», вызвав диалоговое окно Настройка (Customize), или используя VBA.

    Использование диалогового окна Настройка

    Во всех приложениях Office 2000 можно спроектировать собственное головное меню визуально, используя для этого диалоговое окно Настройка. Для его вызова нужно в меню Вид выбрать команду Панели инструментов (Toolbars), а затем в появившемся подменю — команду Настройка.

    Новое меню создается так:

    1. Щелкните кнопку Создать (New) на вкладке «Панели инструментов».
    2. В появившемся окне «Создание панели инструментов» (New Toolbar) введите имя создаваемого меню и щелкните кнопку OK. На экране появится плавающее меню с заданным именем. При работе в Access появляются дополнительные возможности, позволяющие установить свойства панели, что нельзя сделать в других приложениях — Word, Excel, Power Point. При работе в Access:
    3. Щелчком кнопки Свойства (Properties) выведите на экран окно «Свойства панели инструментов» (Toolbar Properties).
    4. Установите в списке Тип (Type) команду «Строка меню» ( Menu Bar ) в качестве типа создаваемой панели и закройте окно.

    Вот, как выглядит окно свойств:

    Имя нового меню появится в списке Панели инструментов на вкладке Панели инструментов.

    В окне «Свойства панели инструментов» можно задать и другие свойства создаваемого меню. В частности, свойство закрепление (Docking) и опция перемещение (Allow Moving) позволяют разрешить или полностью или частично запретить перемещение меню по экрану. Для головного меню приложения естественно установить постоянное место на экране. Опция настройка (Allow Customizing) позволяет после завершения создания меню отключить возможность его модификации, а если отключить опцию отображение/скрытие (Allow Showing/Hiding), то меню будет на экране постоянно.

    Создание меню с помощью VBA

    Новое меню в Excel, Word или PowerPoint обычно создается средствами VBA, поскольку в этих приложениях диалоговое окно Настройка не содержит кнопки Свойства. В Access тоже можно создать меню, используя VBA, но, все же, удобнее действовать описанным выше способом.

    Новое меню создается методом Add коллекции CommandBars (Панели команд):

    где выражение — обязательное выражение, возвращающее объект CommandBars , а все параметры в скобках необязательны. Name задает имя нового меню; Position определяет его положение (значения-константы msoBarLeft , msoBarTop , msoBarRight , msoBarButtom определяют положение меню слева, вверху, справа или внизу окна, msoBarFloating задает «плавающее» меню, msoBarPopup указывает, что новое меню будет всплывающим). Значение True параметра MenuBar указывает, что новое меню заменит текущую активную строку меню (по умолчанию — False ). Значение True параметра Temporary означает, что новое меню будет временным и исчезнет, когда закроется содержащее его приложение (по умолчанию — False ).

    В следующем примере создается новое меню «Головное меню»

    Добавление выпадающих меню

    Добавлять новые меню (подменю) и команды к существующим меню, встроенным в Office 2000 или созданным пользователем, также можно двумя способами: используя диалоговое окно Настройка или VBA. Рассмотрим, как добавить выпадающее меню к существующей панели меню (головному меню).

    Использование диалогового окна Настройка

    Это способ добавления меню или команды более нагляден, и в отличие от процедуры создания нового меню, его можно применять в любом приложении Office 2000, а не только в Access. Откройте диалоговое окно Настройка, а затем:

    1. Если модифицируемого меню на экране нет, щелкните кнопку выбора рядом с именем изменяемого меню в списке Панели инструментов на одноименной вкладке Панели инструментов.
    2. В списке Категории (Categories) на вкладке Команды (Commands) выберите Новое меню (New Menu).
    3. Выберите команду Новое меню (New Menu) справа в списке Команды (Commands) и перетащите ее в то меню, к которому Вы хотите добавить новое меню. При этом знак I отмечает то место в меню, куда попадет имя нового меню, когда Вы отпустите кнопку мыши.
    4. Щелкните правой кнопкой мыши Новое меню (New Menu), и введите имя этого меню в поле Имя (Name) появившегося окна. Одновременно можно задать ключ быстрого доступа к этому меню, поставив символ «&» перед буквой, которая будет этим ключом.

    Если теперь щелкнуть имя нового меню, на экране под ним появится пустой прямоугольник. Ниже мы покажем, как вставлять в созданное меню новые команды.

    Как добавить встроенное меню

    Диалоговое окно Настройка позволяет просто добавить (скопировать) любое из встроенных меню к меню, которое Вы создаете. При этом исходное встроенное меню не изменяется. Для этого в диалоговом окне Настройка сделайте модифицируемое меню видимым, а затем:

    1. Выберите в списке Категории вкладки Команды команду Встроенные меню (Built­in Menus).
    2. Выберите в списке Команды имя нужного встроенного меню и перетащите его на нужное место в панель меню, к которой Вы хотите добавить выбранное встроенное выпадающее меню. Знак I отмечает место на панели, куда попадет встроенное меню.

    Есть и другой способ копирования встроенного меню: выберите его на его собственной панели и перетащите в свою панель меню при нажатой клавише Ctrl.

    Добавление выпадающего меню с помощью VBA

    Чтобы добавить новое меню программно, нужно использовать метод Add коллекции CommandBarControls , применив его к объекту типа CommandBar , который представляет панель нашего меню. Этот метод позволяет помещать на панель кнопки ( CommandBarButton ), комбинированные списки ( Command-BarComboBox ) и выпадающие меню ( ComandBarPopup ). Его вызов имеет вид:

    где выражение должно возвратить объект типа CommandBarsControl, параметры в скобках необязательны. Параметр Type (Тип) задает тип добавляемого объекта. Его значение msoControlPopup указывает, что добавляемый управляющий элемент — выпадающее меню. Для пользовательских меню параметры Id и Parameter можно опустить. Значение аргумента Before — число, указывающее положение нового элемента в последовательности элементов панели (если его нет, элемент помещается в конец). Определить имя и ключ быстрого доступа к созданному меню можно, задав значение свойства Caption .

    Взгляните, как к панели «Головное меню» добавить выпадающее меню «Ввод документов» с ключом быстрого доступа «B»:

    Why does Access VBA dropdown method not work?

    I’m using a text box to filter a combo box list in Access 2013. I put the filter code in the Form_Timer sub so as to give users time to type the entire filter string before applying the filter, and I invoke the timer from the text box Change sub. It works great except for one thing: I want the combo box list to drop down and display results, and it just won’t work. However I put the exact same line of code in the GotFocus sub for the combo box, and that line works perfectly.

    I also tried executing the filter code within the Change sub, just in case there was some weirdness regarding Form_Timer execution. Same result. Here is the code:

    I could use a list box instead of a combo box to allow users to see the results of their filter typing, but that would seriously detract from my form design. I have searched on Google and on StackOverflow, and have not found anybody else discussing this issue. Any ideas?

    See also questions close to this topic

    How do I select an option from a dropdown menu and update the webpage. Code:

    then I navigate to a URL and I fetch the dropdown menu using html id and put value=my desired value

    I successfully get the option. But, the website doesn’t update? e.g. filling up other fields.

    I believe some javascript needs to be run. How can i fix this using VBA?

    Source code for dropdown menu field:

    I have a working application built using VBA for a previous version of MS-Word. I am trying to run the application on MS-Word 2019, however it shows a problem when trying to connect to the MS-Access database.

    Any known solutions, please?

    Thank you, Shadi

    I am using this sub to toggle view of command button in access form. But I want to do it using a loop and array of optional command buttons as argument, as number of buttons will eventually increase

    I’m working with C# and a database Access.

    I need execute a query, and then I build it:

    The problem is when the field «objIvaPorcentaje.DescripcionConRe» have a character Colon, (Char(44)).

    Then the Sql statement gives a syntax error.

    How I can do it??

    I have slit my access Database into a FE(front End) and BE(Back End).

    Each user has their own copy of the FE and linked tables to their BE. When user A Filters their form, that filter affect all the other users.

    There is no record level locking.

    The Database FE’s are all set to Shared on the open mode

    I need to stop this from happening.

    Thank you in advance.

    My goal is to create an access database form with ordering multiple item at a time. But for this phase my end goal is to find the total cost by multiplying price per unit*quantity. Through my working out i got stucked by the problem of on change event. Basically, whenever i change a the id in the combo box it changes in all the textbox that i programmed. Here is the scenario:

    In this case the price per unit stays 1000 for all of the stock ID, whereas, when i have stock id of 2 i want the price to be 0 and so on. This is how i programmed the get price per unit value

    Note that the form is continuous.

    I am creating a database and I have a table where I am collecting if a patient has been or is currently on specific medications. I have a list of 17 medications that we care about and have a yes/no checkbox for each one. If a patient is or has ever been on one of these medications we want to collect 9 additional fields.

    I want to create a form that lists only the medications and checkboxes. When the user checks a checkbox I then want the additional fields to appear for them to fill out.

    Most patients will have only been on 2-5 of these medications, so I don’t want to clutter the form with unnecessary blank fields.

    Is there a way to do this without VBA? If no, will someone give me an example of what the VBA code should look like?

    Thanks so much! We collect this data as part of an ongoing registry monitoring the long term safety of a specific research medication. We usually collect this data differently when the patient is in clinic however, in lite of the pandemic we need to do this via telephone and this database will be crucial in ensuring the continued collection of this vital data!!

    I’ve encounter run time error ‘3075’, not sure what went wrong. Please help.

    MS ACCESS 2013-2016 continuous forms show an error when adding any record past the 3rd.

    I have connected via ADO to SQL SERVER.

    I have been working on this issue for days. I am hoping there is something I can modify in my connection string, use a different library, or anything I can do in VBA to avoid building multiple workarounds in a project that has existed and grown over 20 years.

    Is this a known issue? Can this be fixed?

    This is the form code I am using:

    This is an example of one of the SIMPLE SQL SERVER tables I am connecting to:

    I have the following query that I have been trying to figure how to make work for the better part of a day. It returns no records when I run it.

    I know it isn’t correct and SQL isn’t in my wheelhouse and I need someone way smarter than me to help. I have a table, ProductionOperations, that has an OperationID column and a OperationComplete <0,1>column. The table could have multiple records with the same Operation ID number if the operation fails (0) to complete when the operation is tried. It may take 3 or 4 tries before the operation completes. Sometimes it may not complete all together. In the end I want to get the count of distinct operations that failed, not a count of every operation that failed (0).

    This is what the table could look like:
    pic of table

    I need to count the number of operations completed, which would be 4 in the preceding table and the count for the number of operations that did not complete, which would be 2. Any help would be appreciated. Note, the table is just an example and not the actual table I am working with. Can’t share due to IP.

    Читать еще:  Запись в access
    Ссылка на основную публикацию
    ВсеИнструменты
    Adblock
    detector