חישוב ממוצעים

  • פותח הנושא Suli
  • פורסם בתאריך

Suli

New member
חישוב ממוצעים

אני מודה, זה אמור להיות קל, אבל בגלל שקובץ המקור עצמו מועד לטעויות, זה הופך לי את כל העסק לדבר מסובך בהרבה. _סוף הקדמה_ זה הקוד הקיים:
Private Sub Command1_Click() On Error GoTo D Dim rs As New ADODB.Recordset Set rs = New ADODB.Recordset rs.Source = "SELECT * from Test" rs.Open , cn, adOpenDynamic, adLockOptimistic '*************************** Dim kmt(1000) As Integer Dim fuelt(1000) As Integer Dim dt(1000) As Integer Dim k As Integer For i = 1 To 1000 If i > 2 Then k = i - 1 If e(i) <> "2359" Then If car(i) - car(i - 1) = 0 Then kmt(k) = kmt(k - 1) + (km(i) - km(i - 1)) fuelt(k) = fuelt(k - 1) + fuel(i) dt(k) = dt(k - 1) + DateDiff("d", da(i - 1), da(i)) End If Else rs.AddNew rs![CarID] = car(i - 1) rs![km] = kmt(k) / dt(k) rs![fuel] = fuelt(k) / dt(k) rs.Update i = i + 1 End If End If D: Next i rs.Close End Sub​
יש חלק בעייתי, שחלק מהרשומות עלולות להיות ריקות, ואז למעשה התוכנה נתקעת ויש בעיה של Overflow, כשלמעשה אחד מהקריטריונים לחיסור שווה ל0. מה שאני רוצה זה להמשיך בחישובים, ובסוף ש"ידפיס" (כלומר יציג על המסך) היכן היו התקלות. הסבר כללי על המשתנים: e(i) מייצג מערך של שעה בכל פעם שהשעה היא 23:59, למעשה השורה ריקה, ואין טעם להכניס אותה. השאר - מערכים שנועדו לחישוב הממוצע והצבתו בטבלה במסד הנתונים. מה שיוצא זה שבכל פעם שהוא מכניס רשומה לטבלה - היא מוסיפה את מס' הרכב ושאר השורות ריקות, ואחרי 2-3 שורות יש הודעת שגיאה של Overflow. ניסיתי כל מיני דברים, אבל מתוך כל העומס של התנאים, כנראה ששום דבר לא נקלט. מה עשיתי לא בסדר (למרות שהאשמה במקרה הזה היא יותר בקובץ המקור מאשר בי), ומה אני צריך לעשות בשביל לתקן את הדבר הזה? תודה מראש,
 
למעלה