Лабораторная работа №2 Тема: «VBA. Работа со списком»
учебно-методический материал по информатике и икт по теме

Сальникова Татьяна Павловна

По выбранным данным в списке в MS Excel осуществляется отбор данных в базе данных MS Access. Код написан на VBA. Результат представлен в MS Excel

Скачать:

ВложениеРазмер
Microsoft Office document icon Освоение VBA. Работа с MS Excel и MS Access76.5 КБ

Предварительный просмотр:

Лабораторная работа №2

Тема:”VBA. Работа со списком ”

Цель: Научиться выбирать данные с помощью списка

  1. Порядок работы
  1. Откройте лист MS Excel «Пример»
  2. Зайдите в редактор Visual Basic. Щелкнув по кнопке «Редактор Visual Basic»
  3. Добавьте на форму элементы управления. Как показано на рисунке 1.

Рис. 1

  1. Добавьте код для автоматического пополнения списка (Код будет выполняться при загрузке формы)

Private Sub UserForm_Initialize()    

Dim Sql As String

Dim Cnct As String

Dim Con As ADODB.Connection

Dim Rec As ADODB.Recordset

Set Con = New ADODB.Connection

Cnct = "Provider = Microsoft.Jet.OLEDB.4.0;"

Cnct = Cnct & "Data Source=С:\Товары.mdb"

Con.Open Cnct

Set Rec = New ADODB.Recordset

Sql = "SELECT * FROM Товар"

Rec.Open Sql, Con

If Rec.BOF And Rec.EOF Then

    Rec.Close

End If

Do While Rec.EOF = False

    per = Rec.Fields("Наименование")

    UserForm1.ComboBox1.AddItem per

    Rec.MoveNext

    Loop

Rec.Close

End Sub

  1. Запустите форму и проверьте наличие данных в поле со списком.
  2. Замените код для кнопки «Проверит» на код

Private Sub CommandButton1_Click()

Dim Sql As String

Dim Cnct As String

Dim Con As ADODB.Connection

Dim Rec As ADODB.Recordset

Set Con = New ADODB.Connection

Cnct = "Provider = Microsoft.Jet.OLEDB.4.0;"

Cnct = Cnct & "Data Source=C:\Товары.mdb"

Con.Open Cnct

Set Rec = New ADODB.Recordset

If CheckBox1.Value = True Then

Sql = "SELECT * FROM Товар"

Rec.Open Sql, Con

x = 1

Else

GoTo 1

End If

If Rec.BOF And Rec.EOF Then

    Rec.Close

End If

Do While Rec.EOF = False

    per = Rec.Fields("Наименование")

    per1 = Rec.Fields("Цена")

    Cells(x, 1) = per

    Cells(x, 2) = per1

    x = x + 1

    Rec.MoveNext

    Loop

    Rec.Close

1:

Sql = "SELECT * FROM Товар WHERE Наименование='" & ComboBox1.Value & "'"

Rec.Open Sql, Con

If Rec.BOF And Rec.EOF Then

    Rec.Close

GoTo 2

End If

    per = Rec.Fields("Наименование")

    per1 = Rec.Fields("Цена")

    Cells(1, 3) = per

    Cells(1, 4) = per1

2:

    End Sub

  1. Выберите из поля со списком «Лимон» и нажмите проверить.
  2. Поставьте флажок на «Все» и нажмите кнопку проверить
  3. В итоге у вас должно получиться как на Рисунках 2 и 3

Рис. 2 – Решение

Рис. 3 – Решение

  1. Покажите работу преподавателю
  2. Занесите работу в отчет
  1. Вывод


По теме: методические разработки, презентации и конспекты

Лабораторная работа по теме: "Изучение морфологических особенностей растений разных видов"

Лабораторная работа по теме: "Изучение морфологических особенностей растений различных видов"...

Лабораторная работа по теме "Изучение движения тела по окружности"

Изучение движения тела по окружности. Цель работы:определение центростремительного ускорения шарика при его равномерном движении по окружности. Оборудование:  штатив с муфтой и лапкой, ...

Лабораторная работа по теме Материаловедение 7 кл

Разработка лабораторной работы по теме "Материаловедение" 7 кл...

Лабораторная работа № 2. Тема: "Знакомство с микроскопом"

Электронное приложение к интерактивной доске SMART. Используется на уроке природоведения в 5 классе....

Лабораторная работа по теме "Электронные таблицы"

Можно использовать для  работы на уроке по теме "Электронные таблицы", содержит задания на заполнение и форматирование таблицы, заполнение и редактирование данных разных форматов, сортировку данн...

Практическая работа на тему Включение в текст списков

Практическая работа по информатике и ИКТ для 8 класса на тему: "Включение в текст списков"....

Комплект лабораторных работ по теме «Технологии работы в MS Access»

Лабораторная работа 1. Создание таблиц базы данных. Работа с таблицами.Лабораторная работа № 2. Разработка форм базы данных. Работа с формами.Лабораторная работа № 3. Обработка данных....