Студопедия — Добавление и удаление данных (с применением вкладок)
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Добавление и удаление данных (с применением вкладок)






UserForm имеет следующий вид (при создании используется элемент управления Page – что позволяет создать две вкладки «Удалить» и «Добавить»):

Вкладка добавить имеет вид ранее рассмотренной формы «Добавление данных» и создается аналогично ей.

При удалении данных будет автоматически выходить название товара. Удаление будет производится сразу в двух таблицах: на листе «Ассортимент» и на листе «Регистрация заказов».

Программный код для кнопки «Удалить»:

Dim pr As Object, X As Object

Dim name As String

Dim h As Byte

Dim Y As Byte

h = MsgBox("Вы действительно хотите удалить этот товар?", vbYesNo + vbQuestion, "Удаление")

If h = vbYes Then Else GoTo e

name = ComboBox1

If ComboBox1 = "" Then

Y = MsgBox("Удаление невозможно, т.к. не выделен объект", vbYes + vbQuestion, "Удаление")

If Y = vbYes Then GoTo 12 Else GoTo e

End If

ActiveWorkbook.Sheets("Регистрация заказов").Activate

Set pr = ActiveSheet.Range("b6")

Do While Not IsEmpty(pr)

Set X = pr.Offset(1, 0)

If pr = name Then

pr.Select

Selection.EntireRow.Delete

End If

Set pr = X

Loop

ActiveWorkbook.Sheets("Ассортимент").Activate

Set pr = ActiveSheet.Range("a2")

Do While Not IsEmpty(pr)

Set X = pr.Offset(1, 0)

If pr = name Then

pr.Select

Selection.EntireRow.Delete

End If

Set pr = X

Loop

12 ComboBox1 = "";

TextBox4 = "";

UserForm7.Hide

Программный код для активации формы:

 

Dim pr As Object, X As Object

UserForm7.ComboBox1.Clear

ActiveWorkbook.Sheets("Ассортимент").Select

Set pr = ActiveSheet.Range("a2")

Do While Not IsEmpty(pr)

Set X = pr.Offset(1, 0)

ComboBox1.AddItem pr

Set pr = X

Loop

 


Поиск и изменение данных в таблицах

Созданы две пользовательских формы: одна для поиска данных, и одна для изменения данных. Поиск состоит из следующих процедур: из раскрывающегося списка выбирается дата реализации продукта, затем в список ListBox заносят все продукты, которые были реализованы в указанную дату. После чего необходимо выбрать в ListBox конкретный продукт, затем заполняется два текстовых поля соответствующими данными (название и количество). Одновременно название продукта попадает в невидимую надпись Label – с помощью нее связаны две формы. При нажатии кнопки «Изменить» активизируется вторая форма, и можно изменить количество реализованного продукта. При этом измененные данные попадают в таблицу на листе «Регистрация заказов» и происходит перерасчет суммы.

Вид формы «Поиск данных»:

В форме использованы следующие элементы: ComboBox (раскрывающийся список для выбора даты), ListBox – список в который попадают все продукты, реализованные в указанную дату. Два текстовых поля TextBox, две кнопки и пять надписей Label.

Программы для этой формы следующие:

Private Sub ComboBox1_Change()

Dim sss, ads

ListBox1.Clear

TextBox1.Text = "";

TextBox2.Text = "";

1 For sss = 1 To 500

If ComboBox1.Text = Sheets("Регистрация заказов").Cells(sss, 5).Text Then ListBox1.AddItem Sheets("Регистрация заказов").Cells(sss, 3).Text

Next

End Sub

Процедура для кнопки «Изменить»:

 

If ListBox1.Text = "" Then MsgBox "Выберите дату реализации продукта": Exit Sub

UserForm9.TextBox1.Text = UserForm8.ListBox1.Text

UserForm9.TextBox2.Text = UserForm8.TextBox2.Text

Dim ddd

UserForm8.Hide

UserForm9.Show

 

Private Sub CommandButton2_Click()

UserForm8.Hide

End Sub

Private Sub ListBox1_Click()

For i = 1 To 8000

If ListBox1.Text = Sheets("Регистрация заказов").Cells(i, 3).Text And ComboBox1.Text = Sheets("Регистрация заказов").Cells(i, 5).Text Then

TextBox1.Text = Sheets("Регистрация заказов").Cells(i, 3).Text

TextBox2.Text = Sheets("Регистрация заказов").Cells(i, 4).Text

Label5.Caption = i

End If

Next

End Sub

Private Sub UserForm_Activate()

Sheets("Регистрация заказов").Select

Range("A5:C8000").Select

Selection.Sort Key1:=Range("A6"), Order1:=xlDescending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

1 For ads = 6 To 8000

If Sheets("Регистрация заказов").Cells(ads, 5).Text = "" Then Exit Sub

If Sheets("Регистрация заказов").Cells(ads, 5).Text = Sheets("Регистрация заказов").Cells(ads + 1, 1).Text Then GoTo 3

ComboBox1.AddItem Sheets("Регистрация заказов").Cells(ads, 5).Text

3 Next

End Sub

Форма для изменения данных имеет вид: в этой форме использованы два текстовых поля, две кнопки и надпись. Программный код следующий:

Private Sub CommandButton1_Click()

ddd = UserForm8.Label5.Caption

Worksheets("Регистрация заказов").Cells(ddd, 4) = TextBox2.Text

UserForm9.Hide

End Sub

Private Sub CommandButton2_Click()

Sheets("Регистрация заказов").Select

Range("A5:C800").Select

Selection.Sort Key1:=Range("A5"), Order1:=xlDescending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Unload UserForm9

Unload UserForm8

Load UserForm8

UserForm8.Show

End Sub

 

 


 







Дата добавления: 2015-06-15; просмотров: 350. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия