თავი 3.  გაანგარიშებითი ველების შექმნა

      ცხრილში tbsaq_mireba კონკრეტული საქონლის ნომრის მიხედვით ჩაწერილია ინფორმაცია საწყობში არსებული რაოდენობის და ფასების შესახებ. იგი არ შეიცავს მოცემული საქონლის სრულ ფასს (რაოდენობა * შეძენის ფასზე), არ არის გაანგარიშებული სარეალიზაციო ფასი და რეალიზაციის ღირებულება. ეს სწორეა, იმიტომ, რომ მონაცემების ბაზაში მხოლოდ პირველადი ინფორმაცია უნდა იყოს შენახული და საჭიროების შემთხვევაში ყველა საჭირო ინფორმაცია მიღებულ იქნეს პირველადი მონაცემების გაანგარიშების საფუძველზე. ამის გაკეთება ხორციელდება SQL-ის ინსტრუქციაში. 
გაანგარიშებითი ველები იქმნება SELECT ოპერატორში. გაანგარიშებითი ველების შექმნისას გამოიყენება მათემატიკური ოპერაციები: +, -, *, /. 
მაგალითები
გამოვიანგარიშოთ საქონლის ნომრების მიხედვით საქონლის შეძენის ღირებულება (რაოდენობა * შეძენის ფასი), რეალიზაციის ფასი და რეალიზაციის ღირებულება (რაოდენობა * რეალიზაციის ფასი)
ფორმის მოდულში ჩაწერილი პროგრამა შემდეგია:
Private Sub Rsek_Click()
Dim kit As String
Select Case Me.Famor.Value
Case 3
Me.Lsia.RowSource = ""
kit = " SELECT tbsaq_mireba.saw_nomeri AS[sawyobis nomeri],tbsaq_mireba.saq_nomeri AS [saqonlis kodi], tbsaq_mireba.tariri AS[miRebis TariRi]," & _
" tbsaq_mireba.raodenoba AS[miRebuli rao-ba], tbsaq_mireba.sez_fasi AS[SeZenis fasi], Round([tbsaq_mireba]![sez_fasi]*0.2+[sez_fasi],2) AS [real-is fasi],
" round([raodenoba]*[sez_fasi],2) AS [SeZenis Rir-ba], Round(([tbsaq_mireba]![sez_fasi]*0.2+[tbsaq_mireba]![sez_fasi])* [tbsaq_mireba]![raodenoba],2) AS [real-is Rir-ba]" & _
" FROM tbsaq_mireba"
’ამოირჩევა ყველა ჩანაწერი
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
End Select
End Sub
ამორჩევის შედეგი შემდეგია/სურ. 10/

სურ. 10. ამორჩევის შედეგი
ფორმიდან შეკითხვის მიცემა ზოგადად შეიძლება შემდეგნაირად ჩამოვაყალიბოთ: ამორჩეული იქნეს  m-ური დასახელების ის საქონელი, რომელიც არ ინახება  n-ური დასახელების საწყობში და გამოვიანგარიშოთ მათი შეძენის ღირებულება (რაოდენობა * შეძენის ფასი), რეალიზაციის ფასი და რეალიზაციის ღირებულება (რაოდენობა * რეალიზაციის ფასი)
ფორმის მოდულში ჩაწერილი პროგრამა შემდეგია:
Private Sub Rsek_Click()
Dim kit As String
Select Case Me.Famor.Value
Case 3
Me.Lsia.RowSource = ""
kit = " SELECT tbsaq_mireba.saw_nomeri AS[sawyobis nomeri],tbsaq_mireba.saq_nomeri AS [saqonlis kodi], tbsaq_mireba.tariri AS[miRebis TariRi]," & _
" tbsaq_mireba.raodenoba AS[miRebuli rao-ba], tbsaq_mireba.sez_fasi AS[SeZenis fasi], Round([tbsaq_mireba]![sez_fasi]*0.2+[sez_fasi],2) AS [real-is fasi],
" round([raodenoba]*[sez_fasi],2) AS [SeZenis Rir-ba], Round(([tbsaq_mireba]![sez_fasi]*0.2+[tbsaq_mireba]![sez_fasi])* [tbsaq_mireba]![raodenoba],2) AS [real-is Rir-ba]" & _
" FROM tbsaq_mireba" & _
" WHERE tbsaq_mireba.saw_nomeri =  " & V1 & "" & " AND NOT(tbsaq_mireba.saq_nomeri = " & V2 & ")"
’გამოყენებულია რიცხვის დამრგვალების ფუნქცია Round
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
End Select
End Sub

ყურადღება
გაანგარიშებითი ველების  ჩაწერა მხოლოდ SELECT ოპერატორში ხორციელდება.