arpachi
شنبه 23 اردیبهشت 1391, 12:00 عصر
با سلام
اساتید گرامی اگر ممکنه یه نگاهی به این کوئری بیاندازید ببینید مشکلش کجاست ؟چون وقتیکه اجرا میشه اطلاعات رو از جدول اصلی نمیخونه و فقط تا سیستم هنگ نکنه اجرا میشه و یک کوئری با تعداد فیلد بالا با مقادیر خالی تولید میکنه.:متعجب::گیج:
Dim StrSql As String
Dim Qdf1 As QueryDef
Dim rst, rstTable4DafaterReport As Recordset
Dim dbs As Database
Dim A As Double
Dim i
Dim MablaghGhabli As Double
Set dbs = CurrentDb
Call NullTable("Table4DafaterReport")
StrSql = "SELECT AuthorityDetail.* FROM AuthorityDetail WHERE (AuthorityDetail.ADCodingSeq =" & [Forms]![billing_persons_list]![Combid] & " ) ORDER BY AuthorityDetail.ADDateSanad, AuthorityDetail.ADSanadNo;"
Set Qdf1 = dbs.CreateQueryDef("A", StrSql)
Set rst = Qdf1.OpenRecordset
Set rstTable4DafaterReport = dbs.OpenRecordset("Table4DafaterReport")
With rst
i = 1
MablaghGhabli = 0
Do While Not rst.EOF
rstTable4DafaterReport.AddNew
rstTable4DafaterReport![ADRow] = i
rstTable4DafaterReport![ADSanadNo] = rst![ADSanadNo]
rstTable4DafaterReport![ADDateSanad] = rst![ADDateSanad]
rstTable4DafaterReport![ADCodingSeq] = rst![ADCodingSeq]
rstTable4DafaterReport![ADSharhSanad] = rst![ADSharhSanad]
rstTable4DafaterReport![ADDebitAmount] = rst![ADDebitAmount]
rstTable4DafaterReport![ADCreditAmount] = rst![ADCreditAmount]
rstTable4DafaterReport![Tozih] = rst![Tozih]
If i = 1 Then
A = rst!ADDebitAmount - rst!ADCreditAmount
ElseIf i > 1 Then
A = rst!ADDebitAmount - rst!ADCreditAmount + MablaghGhabli
End If
rstTable4DafaterReport![Mandeh] = Abs(A)
rstTable4DafaterReport![Tashkhis] = IIf(A = 0, "بي", IIf(A < 0, "بس", "بد"))
rstTable4DafaterReport.Update
i = i + 1
MablaghGhabli = A
.MoveNext
Loop
End With
End Sub
اساتید گرامی اگر ممکنه یه نگاهی به این کوئری بیاندازید ببینید مشکلش کجاست ؟چون وقتیکه اجرا میشه اطلاعات رو از جدول اصلی نمیخونه و فقط تا سیستم هنگ نکنه اجرا میشه و یک کوئری با تعداد فیلد بالا با مقادیر خالی تولید میکنه.:متعجب::گیج:
Dim StrSql As String
Dim Qdf1 As QueryDef
Dim rst, rstTable4DafaterReport As Recordset
Dim dbs As Database
Dim A As Double
Dim i
Dim MablaghGhabli As Double
Set dbs = CurrentDb
Call NullTable("Table4DafaterReport")
StrSql = "SELECT AuthorityDetail.* FROM AuthorityDetail WHERE (AuthorityDetail.ADCodingSeq =" & [Forms]![billing_persons_list]![Combid] & " ) ORDER BY AuthorityDetail.ADDateSanad, AuthorityDetail.ADSanadNo;"
Set Qdf1 = dbs.CreateQueryDef("A", StrSql)
Set rst = Qdf1.OpenRecordset
Set rstTable4DafaterReport = dbs.OpenRecordset("Table4DafaterReport")
With rst
i = 1
MablaghGhabli = 0
Do While Not rst.EOF
rstTable4DafaterReport.AddNew
rstTable4DafaterReport![ADRow] = i
rstTable4DafaterReport![ADSanadNo] = rst![ADSanadNo]
rstTable4DafaterReport![ADDateSanad] = rst![ADDateSanad]
rstTable4DafaterReport![ADCodingSeq] = rst![ADCodingSeq]
rstTable4DafaterReport![ADSharhSanad] = rst![ADSharhSanad]
rstTable4DafaterReport![ADDebitAmount] = rst![ADDebitAmount]
rstTable4DafaterReport![ADCreditAmount] = rst![ADCreditAmount]
rstTable4DafaterReport![Tozih] = rst![Tozih]
If i = 1 Then
A = rst!ADDebitAmount - rst!ADCreditAmount
ElseIf i > 1 Then
A = rst!ADDebitAmount - rst!ADCreditAmount + MablaghGhabli
End If
rstTable4DafaterReport![Mandeh] = Abs(A)
rstTable4DafaterReport![Tashkhis] = IIf(A = 0, "بي", IIf(A < 0, "بس", "بد"))
rstTable4DafaterReport.Update
i = i + 1
MablaghGhabli = A
.MoveNext
Loop
End With
End Sub