Приветик,
Есть MS Access базе только одна таблица с четырмя категориями книг: 1, 2, 3, 4.
MS Access
таблица bookstock
ISBN_No - Текст
Title - Текст
Category - Цыфры
Publisher - Текст
Price - Единицы валют (Currency)
NoInStock - Цыфры
2 формы:
frmBook - (показывает базу из MS Access-а через Datacontrol)
Вот полный код frmBook :
Private Sub cmdAction_Click(Index As Integer)
Select Case Index
Case 0
\'the New Record button
datData1.Recordset.AddNew
Case 1
\'the Delete button
datData1.Recordset.Delete
cmdNavigation_Click (2)
Case 2
\'the Update button
datData1.Recordset.Update
Case 3
\'the print button
Case 4
\'the Pie Chart button
frmBook.Hide
frmPieChart.Show
Case 5
\'the Exit button
End
End Select
End Sub
Private Sub cmdNavigation_Click(Index As Integer)
Select Case Index
Case 0 \'the << button
datData1.Recordset.MoveFirst
cmdNavigation(0).Enabled = False
cmdNavigation(1).Enabled = False
cmdNavigation(2).Enabled = True
cmdNavigation(3).Enabled = True
Case 1 \'the < button
datData1.Recordset.MovePrevious
cmdNavigation(2).Enabled = True
cmdNavigation(3).Enabled = True
If datData1.Recordset.BOF Then
datData1.Recordset.MoveFirst
cmdNavigation(0).Enabled = False
cmdNavigation(1).Enabled = False
End If
Case 2 \'the > button
datData1.Recordset.MoveNext
cmdNavigation(0).Enabled = True
cmdNavigation(1).Enabled = True
If datData1.Recordset.EOF Then
datData1.Recordset.MoveLast
cmdNavigation(2).Enabled = False
cmdNavigation(3).Enabled = False
End If
Case 3 \'the >> button
datData1.Recordset.MoveLast
cmdNavigation(0).Enabled = True
cmdNavigation(1).Enabled = True
cmdNavigation(2).Enabled = False
cmdNavigation(3).Enabled = False
End Select
End Sub
Private Sub txtCategory_LostFocus()
\' validation of the Category field
If Len(txtCategory.Text) > 20 Then
MsgBox "Cannot be more than 20 chars"
txtCategory.SetFocus
End If
End Sub
Private Sub txtISBN_KeyPress(KeyAscii As Integer)
\' validation of the ISBN field
If KeyAscii = vbKeySpace Then
MsgBox "No Spaces, Please!", vbExclamation + vbOKOnly, "Input Error"
KeyAscii = 0
txtISBN.SetFocus
End If
End Sub
Private Sub txtNoInStock_KeyPress(KeyAscii As Integer)
\' validation of the oInStock field
If KeyAscii < 48 Or KeyAscii > 57 Or KeyAscii = vbKeySpace Then
MsgBox "Numbers 0 to 9 only and without space, Please!", vbExclamation + vbOKOnly, "Input Error"
KeyAscii = 0
txtNoInStock.SetFocus
End If
End Sub
frmPieChart - (должна выводить кол-во товаров в категориях)
Вот полный код frmPieChart:
Const CATEGORY1 = &HFF& \'red
Const CATEGORY2 = &HFF0000 \'blue
Const CATEGORY3 = &HFFFF& \'yellow
Const CATEGORY4 = &HC000& \'green
Private Sub cmdOk_Click()
\'hide the PieChart form
frmPieChart.Hide
\'display the PieChart form
frmBook.Show
End Sub
Sub DrawPieChart()
Вот здесь и будет подсчитываться Категория книг и рисоваться Pie Chart из круга который потом будет делиться на кусочки епе здесь:
End Sub
Private Sub Form_Load()
Call DrawPieChart
End Sub
1 Модуль - (в нем следующая строка
Global Data(4) As Integer)
Моя проблема состоит в том что я не могу подсчитать в базе в поле Category сколько 1, 2, 3, и 4, и показать в форме frmPieChart
Все действие долно произходить на клик кнопки из формы frmBook.
Жду Ответов.
С Уважением,
Алекс.