ფორმაზე/სურ.. 18/ დატანილი მართვის ელემენტებით ხორციელდება ჩანაწერების დამატება, რედაქტირება და ამოშლა ცხრილში tbstudenti. ამ ოპერაციების შესრულებას უზრუნველყოფს პროგრამა ჩაწერილი ფორმის მოდულში, რომლის აქტივიზაცია ხორციელდება ფორმაზე დატანილ ღილაკზე Rsek დაწკაპუნებით.
Private Sub Form_Load() ’ ფორმის ჩატვირთვის შემდეგ ListBox-ში, რომლის სახელია Lsia გამოიტანება ცხრილში tbstudenti არსებული ჩანაწერები
With Me.Lsia
.ColumnHeads = True
.ColumnCount = 4
.ColumnWidths = "1,5in;2,5in;1,4in;2,2in;"
.RowSourceType = "Table/Query"
.RowSource = "tbstudenti"
End With
End Sub
Private Sub Rsek_Click()
Select Case Me.Frame0.Value
Case 1 ’ჩანაწერების დამატების რეჟიმი
DoCmd.SetWarnings False
If IsNull(Me.nomeri) Then ’შემოწმება ველში nomeri მონაცემების არსებობის შესახებ
DoCmd.OpenForm "Fsecdoma" ’ ველში nomeri მონაცემების არარსებობისას შეტყობინების გამოტანა მონაცმების ჩაწერის აუცილებლობის შესახებ
Form_Fsecdoma.Lsecdoma.Caption = "gTxovT CaweroT studentis sadentifikacio nomeri"
Cancel = True
Me.nomeri.SetFocus
Exit Sub
End If
Dim can As New ADODB.Recordset
Dim dak As New ADODB.Connection
Set dak = CurrentProject.Connection ’ბაზასთან დაკავშირება
can.Open "tbstudenti", dak, adOpenKeyset, adLockPessimistic, adCmdTable ’ ჩანაწერების ამორჩევა
Dim i As String
s1 = Me.nomeri
i = "[nomeri] = " & s1 & ""
can.Find i ’ცხრილში tbstudenti მოცემული გასაღების მნიშვნელობის მქონე ჩანაწერის მოძებნა. გასაღებია ველი სახელით nomeri. იგივე სახელი ქვია ფორმაზე დატანილ ველს
’
If can.EOF = False Then
DoCmd.OpenForm "Fsecdoma"
Form_Fsecdoma.Lsecdoma.Caption = "studenti am nomriT arsebobs. gTxovT CaweroT nomeri swore" & _
" Tu Tqven gadaifiqreT canaweris damateba, daaWireT klaviSs <esc>"
Cancel = True
Me.nomeri.SetFocus
Exit Sub
End If
’
DoCmd.RunSQL "Insert Into tbstudenti(nomeri,gvari,tariri,adgili)" Values(" & nomeri & ", '" & gvari & " ', '" & tariri & " ' , '" & adgili & "')"
' ცხრილში ახალი ჩანაწერის დამატება
ყურადღება მიაქციეთ ფორმაზე დატანილ ველებში ცხრილში tbstudenti მნიშვნელობების ჩაწერის სინტაქსს. Values-ს შემდეგ ფრჩხილებში ნაჩვენებია ფორმაზე დატანილი ველების სახელები. თუ შეიტანება ტექსტური ან თარიღის ტიპის მონაცემი, მაშინ ამ ველის სახელი მოთავსებულია აპოსტროფებში (მაგ. '" & gvari & "')
’
Case 4
’ ცხრილიდან tbstudenti ჩანაწერების ამოშლა
ამოიშლება პირობაში მითითებული ჩანაწერები. ამოშლა ხორციელდება გასაღების მნიშვნელობის მითითებით. ცხრილი tbstudenti დაკავშირებულია ცხრილთან tbstusagani 1:M კავშირით, ამიტომ ცხრილიდან tbstudenti ჩანაწერის ამოშლა ავტომატურად იწვევს მასთან დაკავშირებული ცხრილიდან tbstudenti ამოშლილ ჩანაწერთან დაკავშირებულ ყველა ჩანაწერის ამოშლას
DoCmd.RunSQL "Delete tbstudenti.nomeri, tbstudenti.gvari, tbstudenti.tariri, tbstudenti.adgili" & _
" FROM tbstudenti" & _
" WHERE tbstudenti.nomeri In " & Me.Vsek & ""
Case 5
' ცვლილებების შეტანა
DoCmd.RunSQL "Update tbstudenti Set gvari= '" & gvari & "'", tariri = " & tariri & WHERE nomeri = " & Me.Vsek & ""
End Select
’ შედეგის ვიზუალიზაცია ListBox-ზე
With Me.Lsia
.ColumnHeads = True
.ColumnCount = 4
.ColumnWidths = "1,5in;2,5in;1,4in;2,2in;"
.RowSourceType = "Table/Query"
.RowSource = "tbstudenti"
End With
End Sub