სურ. 2.2 ცხრილიდან tbstudenti ამორჩეული მონაცემები
მაგალითი 2.4 - სიობრივ მართვის ელემენტში ListBox-ში ჩანაწერების გამოტანა ამორჩევით
პირველ მაგალითში ცხრილიდან ამორჩეულ იქნა ცხრილში არსებული ყველა ჩანაწერი. ახლა ცხრილიდან ამოარჩიეთ მონაცემები მხოლოდ იმ სტუდენტების შესახებ, რომელთა გვარია ”ლომიძე”. ფორმაზე დამატებით დაიტანეთ TextBox სახელით Vsek. ამ ველში ჩაწერეთ ,,ლომიძე”, ხოლო ფორმის მოდულში კი – პროგრამა:
Private Sub Rgan_Click()
Dim kit As String
kit = "select * From tbstudenti Where gvari = " & Vsek & ""
With Me.Lsia
.ColumnCount = 5
.ColumnHeads = True
.ColumnWidths = „1in;1.5in;1.2in;0.5in;0.5in“
.RowSourceType = „Table/Query“
.RowSource = kit
End With
End Sub
ამოირჩევა მონაცემები სტუდენტების შესახებ გვარით ”ლომიძე”.
მაგალითი 2.5 - სიობრივ მართვის ელემენტში ListBox-ში ჩანაწერების გამოტანა ამორჩევით დაკავშირებული ცხრილებიდან განსხვავებული სიტუაციების გათვალისწინებით
ზევით განხილულ მაგალითში 2.1-ში დაპროექტებულ ცხრილებს დავამატოთ ორი ცხრილი სახელებით tbsawyobi და tbsaqoneli, რომლებიც ორი სვეტისგან ნუმრისა და დასახელებისგან შედგება. ფორმაზე დავიტანოთ დამატებით ალმები და ჩარჩო Famor1 ამორჩევების განსახორციელებლად. ფორმის მოდულში ჩავწეროთ ამორჩევის პროგრამა, რომელიც გამოძახებული იქნება ფორმაზე დატანილ ღილაკზე Ramor-ზე დაწკაპუნებით.
Private Sub Ramor_Click()
Dim kit As String
Select Case Me.Famor1.Value
Case 1 ’ ამორჩევა საწყობში მიღებული საქონლის დასახელებით
kit = " SELECT tbsawyobi.dasaxeleba, tbsaqoneli.das, tbmireba.tariri, tbmireba.raodenoba," & _
" tbmireba.fasi" & _
" FROM tbsawyobi INNER JOIN (tbsaqoneli INNER JOIN tbmireba" & _
" ON tbsaqoneli.nomeri = tbmireba.saq_nomeri) ON tbsawyobi.nomeri = tbmireba.saw_nomeri" & _
" WHERE tbsaqoneli.das Like '" & V1 & "*'"
With Me.Lsia ’ ამორჩევის შედეგის გამოტანა ListBox-ზე
.ColumnHeads = True
.ColumnCount = 5
.ColumnWidths = "2in;2in;1,4in;1,4in;1,5in"
.RowSourceType = "Table/Query"
.RowSource = kit
End With
'
Case 2 ' საწყობიდან ყველა დასახალების საქონლის ამორჩევა გარკვეული ნომრის მქონე საქონლის გარდა
Me.Lsia.RowSource = ""
kit = " SELECT tbmireba.saw_nomeri AS[sawyobis nomeri], tbmireba.saq_nomeri AS[saqonlis kodi], tbmireba.tariri AS[miRebis TariRi]," & _
" tbmireba.raodenoba AS[miRebuli raodenoba], tbmireba.fasi AS[SeZenis fasi] FROM tbmireba" & _
" WHERE tbmireba.saw_nomeri = " & V1 & "" & " AND NOT(tbmireba.saq_nomeri = " & V2 & ")"
’
With Me.Lsia
.ColumnHeads = True
.ColumnCount = 8
.ColumnWidths = "1,5in;1,5in;1,4in;1,8in;1,2in;1,8in;1,8in;1,5in"
.RowSourceType = "Table/Query"
.RowSource = kit
End With
’
Case 3 ’გაანგარიშებითი ველების შექმნით ამორჩევა
Me.Lsia.RowSource = ""
’
kit = " SELECT tbmireba.saw_nomeri AS[sawyobis nomeri],tbmireba.saq_nomeri AS [saqonlis kodi], tbmireba.tariri AS[miRebis TariRi]," & _
" tbmireba.raodenoba AS[miRebuli rao-ba], tbmireba.fasi AS[SeZenis fasi], Round([tbmireba]![fasi]*0.2+[fasi],2) AS [real-is fasi]," & _
" round([raodenoba]*[fasi],2) AS [SeZenis Rir-ba], Round(([tbsaq_mireba]![fasi]*0.2+[tbmireba]![sez_fasi])*[tbmireba]![raodenoba],2) AS [real-is Rir-ba]" & _
" FROM tbmireba" & _
" WHERE tbmireba.saw_nomeri = " & V1 & "" & " AND NOT(tbmireba.saq_nomeri = " & V2 & ")"
’
With Me.Lsia
.ColumnHeads = True
.ColumnCount = 8
.ColumnWidths = "1,3in;1,3in;1,3in;1,4in;1,2in;1,2in;1,2in;1,2in"
.RowSourceType = "Table/Query"
.RowSource = kit
End With
’
Case 4 ' ფორმაზე დატანილ V2 ველში ჩაწერილი საქონლის ნუმრების ჩამონათვალის მიხედვით ამორჩევა. ამავე დროს ამორჩეულ ჩანაწერებში tbsaqoneli.das და tbsawyobi.dasaxeleba ველების მნიშვნელობებს შორის სიტყვების ”ინახება საწყობში” დაწერა. შეგახსენებთ, რომ V2 ველში ჩამონათვალი იწერება შემდეგნაირად <(><საქონლის ნუმერი><,><საქონლის ნუმერი>….<)>
Me.Lsia.RowSource = ""
kit = "SELECT tbsaqoneli.nomeri, tbsaqoneli.das+' '+'inaxeba sawyobSi'+' '+tbsawyobi.dasaxeleba AS [dasaxeleba], tbmireba.TariRi,tbmireba.raodenoba" & _
" FROM tbsawyobi RIGHT JOIN (tbsaqoneli RIGHT JOIN tbmireba ON tbsaqoneli.nomeri=tbmireba.saq_nomeri) ON tbsawyobi.nomeri=tbmireba.saw_nomeri" & _
" WHERE tbsaqoneli.nomeri IN " & V2 & ""
With Me.Lsia
.ColumnHeads = True
.ColumnCount = 4
.ColumnWidths = "1,5in;5in;1,5in;1,4in;"
.RowSourceType = "Table/Query"
.RowSource = kit
End With
End Select
End Sub