Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Ход решения задачи
номер лицевого счёта |
номер документа |
текущий остаток |
d346123 |
R67 |
186 |
d346123 |
R67 |
86 |
d346123 |
R678 |
186 |
d346123 |
R678 |
186 |
d346123 |
R678 |
186 |
d346123 |
R678 |
186 |
ttyujh78 |
D47 |
87 |
(Разработчик Вставка Элементы управления формы Кнопка), которая будет вызывать макрос для работы с базой данных
C помощью Visial Basic for Excel организовываем запрос очередной записи, подсчет документов одного лицевого счёта в базе данных, исключение записей и их редактирование
Dim i
Private Sub ComboBox1_Change()
k1 = ComboBox1.ListIndex + 2
TextBox1.Value = Cells(k1, 1).Value
TextBox2.Value = Cells(k1, 2).Value
TextBox3.Value = Cells(k1, 3).Value
CommandButton2.Enabled = True
CommandButton3.Enabled = True
CommandButton4.Enabled = True
CommandButton5.Enabled = True
Редактировать.Enabled = True
End Sub
Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
End Sub
Private Sub CommandButton1_Click()
k1 = ComboBox1.ListIndex + 2
TextBox1.Value = Cells(k1, 1).Value
TextBox2.Value = Cells(k1, 2).Value
TextBox3.Value = Cells(k1, 3).Value
End Sub
Private Sub CommandButton2_Click()
'редактировать
k1 = ComboBox1.ListIndex + 2
Cells(k1, 1).Value = TextBox1.Value
Cells(k1, 2).Value = TextBox2.Value
Cells(k1, 3).Value = TextBox3.Value
End Sub
Private Sub CommandButton3_Click()
'исключение
'Rows("4:4").Select
'Selection.Delete Shift:=x1Up
k1 = ComboBox1.ListIndex + 2
'MsgBox Str(k1)
Rows(Str(k1)).Select
Selection.Delete Shift:=x1Up
End Sub
Private Sub CommandButton4_Click()
'подсчёт
n$ = TextBox2.Value
k = 0
For t = 2 To i
If n$ = Cells(t, 2).Value Then k = k + 1
Next
MsgBox "в вашей базе данных " & Str(k) & " записи", vbOKOnly, "номер документа " & TextBox2.Value
End Sub
Private Sub CommandButton5_Click()
'сортировка зиписей по полю "номер документа"
a$ = Str(i) 'перевод в строчку номера последней строки
a$ = Right(a$, Len(a$) - 1) 'выделение подстроки без первого символа
'MsgBox "A1:C" & a$
'Exit Sub
Range("B1").Select 'выделение диапазона
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("A2:A8"), _
SortOn:=x1SortOnValues, Order:=x1Ascending, DataOption:=x1SortNormal
With ActiveWorkbook.Worksheets("Лист1").Sort
.SetRange Range("A1:C" & a$) 'выделение диапазона для результата
.Header = x1Yes
.MatchCase = False
.Orientation = x1TopToBottom
.SortMethod = x1PinYin
.Apply
End With
End Sub
Private Sub CommandButton6_Click()
For i = 2 To Len(TextBox2.Text)
a$ = Mid(TextBox2.Text, i, 1)
Select Case a$ ' Evaluate Number.
Case 0 To 9 ' Number between 1 and 5, inclusive.
Label4.Caption = " "
Case Else ' Other values.
MsgBox "!!!!"
End Select
Next
End Sub
Private Sub Label3_Click()
End Sub
Private Sub Label5_Click()
End Sub
Private Sub TextBox2_Change()
1$ = Left(TextBox2, 1)
If 1$ = "R" Or 1$ = "H" Or 1$ = "S" Then
Else
MsgBox "не верно задан номер!"
Exit Sub
End If
For i = 2 To Len(TextBox2.Text)
a$ = Mid(TextBox2.Text, i, 1)
Select Case a$ ' Evaluate Number.
Case 0 To 9 ' Number between 1 and 5, inclusive.
Label4.Caption = " "
Case Else ' Other values.
MsgBox "!!!!"
End Select
Next
End Sub
Private Sub UserForm_Activate()
i = 2
Do While Cells(i, 1).Value <> 0
i = i + 1
Loop
'MsgBox Str(i)
i = i - 1
For k = 2 To i
ComboBox1.AddItem Cells(k, 1).Value
Next
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub Редактировать_Click()
'вычисляем номер текущей строки в базе данных
i = i + 1
'исправляем текущую строчку
Cells(i, 1).Value = TextBox1.Value
Cells(i, 2).Value = TextBox2.Value
Cells(i, 3).Value = TextBox3.Value
End Sub