nomer.Caption=recquant+1
Call addrecinput
End Sub
Private Sub zakr_Click()
nomer.Caption=recquant+1
Call addrecinput
Unload zapys
glav.Enabled=True
Glav.SetFocus
End Sub
8. Открыть окно редактора кодов модуля basa и записать описание процедуры:
Public Sub addrecinput()
Dim strvar As String
recquant=Val(glav.vsego.Caption)+1
If recquant<>11 Then
zapys.nomer.Caption=recquant
basa(recquant).famnum=zapys.fam.Text
strvar=basa(recquant).famnum & ""
basa(recquant).dolnum=zapys.dol.Text
strvar=strvar+basa(recquant).dolnum & ""
basa(recquant).oklnum=zapys.okl.Text
strvar=strvar+basa(recquant).oklnum
Glav.spisok.AddItem strvar
zapys.fam.Text=""
zapys.dol.Text=""
zapys.okl.Text=""
Zapys.fam.SetFocus
glav.vsego.Caption=recquant
Else
MsgBox "база заполнена", 16, "нет места"
Unload zapys
glav.Enabled=True
Glav.SetFocus
Exit Sub
End If
End Sub
9. Вернуться в форму Запись. Записать программные коды для событий: загрузка формы и изменение состояния объекта fam (текстовое поле):
Private Sub fam_Change()
nomer.Caption=recquant+1
End Sub
Private Sub Form_Load()
recquant=Val(glav.vsego.Caption)
End Sub
10. Вернуться в главную форму проекта. Команда удалить из меню правка должна удалять текущую запись базы данных. Для того, чтобы запись стала текущей, нужно выделить ее (щелкнуть по ней мышью) в списке в главном окне программы. При щелчке номер строки передается в свойство ListIndex списка. Команда удалить должна также удалять запись из базы данных, а все последующие записи после удаляемой переписывать на позицию выше. Будьте внимательны! Записи в базе данных нумеруются от 0 до 9, но пользователю на экране отображается нумерация от 1 до 10. Следует этот момент учитывать при реализации событийных процедур для команд запись и удалить, а также при написании других кодов программы, где предполагается вывод содержимого базы данных на экран.
|
|
Открыть окно редактора кодов для команды операционного меню правка и записать следующий программный код:
Private Sub pm1_Click(Index As Integer)
Dim i As Integer
Select Case Index
Case 1
glav.Enabled=False
Izmen.Show
Case 2 ‘ процедура команды «удалить»
If recquant=0 Then
MsgBox "база пуста", 16, "удаление невозможно"
Exit Sub
End If
glav.Enabled=True
Glav.SetFocus
If recquant<>0 Then
For i=currec+1 To recquant+1
basa.basa(i-1)=basa.basa(i)
basa.basa(i).famnum=" "
basa.basa(i).dolnum=" "
basa.basa(i).oklnum=" "
Next i