قبل تنفيذ الكود يجب تغيير نوع الحقل ID في الجدول kind من مذكرة إلى نص
Private Sub Form_Load()
Call Connect_DB
Call SHOW_LIST
End Sub
Private Sub SHOW_LIST()
If RUNIT.State = adStateOpen Then RUNIT.Close
Dim sql As String
sql = "SELECT Unit.rid,Unit.id,Unit.name,Sum(kind.NUM) AS Expr1 FROM Unit INNER JOIN kind ON Unit.ID=kind.ID GROUP BY Unit.rid,Unit.id,Unit.name"
RUNIT.Open sql, DB, adOpenStatic, adLockPessimistic
ListView1.ListItems.Clear
If RUNIT.EOF = False Then
Do While Not RUNIT.EOF
With ListView1.ListItems.Add(, , RUNIT("rid"), 2, 2)
.ListSubItems.Add , , RUNIT("id")
.ListSubItems.Add , , RUNIT("name")
.ListSubItems.Add , , RUNIT("Expr1")
End With
RUNIT.MoveNext
Loop
RUNIT.Close
Set RUNIT = Nothing
End If
End Sub
وإذا تقصد بالجمع عدد الاسطر وليس جمع قيم الحقل num فغير السطر التالي
sql = "SELECT Unit.rid,Unit.id,Unit.name,COUNT(kind.ID) AS Expr1 FROM Unit INNER JOIN kind ON Unit.ID=kind.ID GROUP BY Unit.rid,Unit.id,Unit.name"
الاختلاف فقط COUNT(kind.ID) بدلا من Sum(kind.NUM)
Private Sub Form_Load()
Call Connect_DB
Call SHOW_LIST
End Sub
Private Sub SHOW_LIST()
If RUNIT.State = adStateOpen Then RUNIT.Close
Dim sql As String
sql = "SELECT Unit.rid,Unit.id,Unit.name,Sum(kind.NUM) AS Expr1 FROM Unit INNER JOIN kind ON Unit.ID=kind.ID GROUP BY Unit.rid,Unit.id,Unit.name"
RUNIT.Open sql, DB, adOpenStatic, adLockPessimistic
ListView1.ListItems.Clear
If RUNIT.EOF = False Then
Do While Not RUNIT.EOF
With ListView1.ListItems.Add(, , RUNIT("rid"), 2, 2)
.ListSubItems.Add , , RUNIT("id")
.ListSubItems.Add , , RUNIT("name")
.ListSubItems.Add , , RUNIT("Expr1")
End With
RUNIT.MoveNext
Loop
RUNIT.Close
Set RUNIT = Nothing
End If
End Sub
وإذا تقصد بالجمع عدد الاسطر وليس جمع قيم الحقل num فغير السطر التالي
sql = "SELECT Unit.rid,Unit.id,Unit.name,COUNT(kind.ID) AS Expr1 FROM Unit INNER JOIN kind ON Unit.ID=kind.ID GROUP BY Unit.rid,Unit.id,Unit.name"
الاختلاف فقط COUNT(kind.ID) بدلا من Sum(kind.NUM)

