08-10-2007, 20:20
|
|
|
חבר מתאריך: 12.11.04
הודעות: 78
|
|
לולאה ב VBA
שלום רב,
יש לי טבלה ממויינת אשר בנויה משלושה שדות. id-season-DiseaLevel
הטבלה ממויינת כך: ID ושנה בסדר עולה. כך שהשנה האחרונה של כל ID תוצג בשורה האחרונה. והשורה הבאה תהיה ID חדש.
לדוגמה
ID-SEASON-DISEALEVEL
1-2002-3
1-2005-5
2-2006-6
2-2007-3
3-2005-2
3-2006-3
עליי לכתוב לולאה אשר תציג רק את הנתונים של השנה האחרונה של כל ID.
בניתי לולאה ראשונית אשר מציגה את כל השורות. אני נתקל בקושי בהצגת רק השורה אחרונה של כל הID. האם יש למישהו רעיון?
Dim YearFieldIndex As Integer
YearFieldIndex = pRow.Value(pCursor.FindField("Season"))
Dim disFieldIndex As Integer
disFieldIndex = pRow.Value(pCursor.FindField("DiseaseLevel"))
Dim idFieldIndex As Integer
idFieldIndex = pRow.Value(pCursor.FindField("Id"))
Dim Year As Integer
Year = 0
Dim Quantity
Dim Id As Integer
Id = 0
Do While Not pRow Is Nothing
YearFieldIndex = pRow.Value(pCursor.FindField("Season"))
disFieldIndex = pRow.Value(pCursor.FindField("DiseaseLevel"))
idFieldIndex = pRow.Value(pCursor.FindField("Id"))
If idFieldIndex = Id Then
If YearFieldIndex > Year Then
Year = YearFieldIndex
Quantity = disFieldIndex
Id = idFieldIndex
Debug.Print Id, " - ", Year, " - ", Quantity
End If
ElseIf idFieldIndex > Id Then
'If YearFieldIndex > Year Then
Year = YearFieldIndex
Quantity = disFieldIndex
Id = idFieldIndex
Debug.Print Id, " - ", Year, " - ", Quantity
'End If
End If
Set pRow = pCursor.NextRow
Loop
|