Noon Ali قام بنشر الخميس at 15:32 قام بنشر الخميس at 15:32 السلام عليكم ورحمة الله كيكفم اخوتي جميعا انا عندي قاعدة اكسس تشابة الكويك بوكس ولكن للعملاء والموردين شغالة حاليا في الموردين عند فتح التقرير للمورد المعني بجيب الرصيد التراكمي غير صحيح هكتب اسماء الاستعلامات التي اعمل عليها استعلام أساسي VendorStatementBaseQ VendorStatementWithBalanceQ التقرير Vendor Statement Report يعتمد على المصدر جدول اسمه TempVendorStatement كود زر اختيار المورد Private Sub btnPreview_Click() On Error GoTo ErrHandler Dim db As DAO.Database Dim rs As DAO.Recordset Dim runningBalance As Double Dim tempSQL As String Dim vendorID As Long Dim dtFrom As Date, dtTo As Date ' التحقق من المدخلات If IsNull(Me.cboVendor) Or IsNull(Me.txtFromDate) Or IsNull(Me.txtToDate) Then MsgBox "يرجى إدخال المورد وتاريخ البداية والنهاية.", vbExclamation Exit Sub End If vendorID = Nz(Me.cboVendor, 0) dtFrom = Me.txtFromDate dtTo = Me.txtToDate Set db = CurrentDb ' فتح الاستعلام الأساسي وترتيبه بدقة Set rs = db.OpenRecordset( _ "SELECT * FROM VendorStatementBaseQ " & _ "WHERE VendorID=" & vendorID & " AND TransDate BETWEEN #" & Format(dtFrom, "yyyy/mm/dd") & "# AND #" & Format(dtTo, "yyyy/mm/dd") & "# " & _ "ORDER BY TransDate ASC, IIf(TransType='Invoice',0,1), TransNum ASC;", dbOpenDynaset) ' تفريغ الجدول المؤقت db.Execute "DELETE FROM TempVendorStatement;", dbFailOnError runningBalance = 0 ' حساب الرصيد التراكمي لكل صف مع التعامل مع Null Do While Not rs.EOF runningBalance = runningBalance + Nz(rs!InvoiceAmount, 0) - Nz(rs!PaymentAmount, 0) tempSQL = "INSERT INTO TempVendorStatement " & _ "(VendorID, VendorName, TransDate, TransType, Memo, InvoiceAmount, PaymentAmount, RunningBalance) " & _ "VALUES (" & Nz(rs!VendorID,0) & ", '" & Replace(Nz(rs!VendorName,""), "'", "''") & "', #" & _ Format(Nz(rs!TransDate, Date), "yyyy/mm/dd") & "#, '" & Nz(rs!TransType,"") & "', '" & _ Replace(Nz(rs!Memo,""), "'", "''") & "', " & Nz(rs!InvoiceAmount,0) & ", " & Nz(rs!PaymentAmount,0) & ", " & runningBalance & ");" db.Execute tempSQL, dbFailOnError rs.MoveNext Loop rs.Close Set rs = Nothing Set db = Nothing ' فتح التقرير DoCmd.OpenReport "Vendor Statement Report", acViewPreview Exit Sub ErrHandler: MsgBox "حدث خطأ: " & Err.Description, vbCritical If Not rs Is Nothing Then rs.Close Set rs = Nothing Set db = Nothing End Sub الشاشة الرئيسية اختيار مورد عند وضع الخيار مثلا Nepta وتاريخ البداية 1/1/2025 وتاريخ النهاية 31/12/2025 واضغط الزر بجيب المورد عندة فانورتان واحدة يوم 21/8 بقيمة 132750000 والثانية يوم 21/10/2025 بقيمة 12000000 مفترض الرصيد يكون 144750000 لكن يظهر 277500000 وهو غير صحيح ف الفكرة يحسب الفاتورة اولا ثم اذا في مبلغ دفع يتم الخصم ارجو منكم المساعدة وربنا يبارك فيكم QuickBooksStyle.rar
تمت الإجابة ابوخليل قام بنشر الخميس at 16:28 تمت الإجابة قام بنشر الخميس at 16:28 المشكلة سببها خصيصة في الحقل افتح تقريرك على التصميم .. وحدد حقل الرصيد ثم عدل الخاصية كما في الصورة (القيمة المحاطة بالمربع الأحمر ) 1
Noon Ali قام بنشر منذ 12 ساعات الكاتب قام بنشر منذ 12 ساعات (معدل) @ابوخليل نعم صحيح كانت هي المشكلة سبحان الله ولكن جرب واختار معي اخر مورد اسمه PetroNour الرصيد صحيح الى يوم 14/10 =594000000 عند اضافة يوم 15/10 مفترض يطلع = 741150000 ولكن اصبح = 888300000 لانو في رحلتين في نفس التاريخ يقوم بجمع الرحل بس انا اريد اي رحلة في صف منفصل ؟؟؟؟؟ اضافة لي تقرير العملاء عند اختيار عميل بيطلع تقرير كل العملاء 😞 تم تعديل منذ 11 ساعات بواسطه Noon Ali
منتصر الانسي قام بنشر منذ 2 ساعات قام بنشر منذ 2 ساعات رغم اني لم افهم لماذا يتم احتساب رصيد تراكمي لرصيد تراكمي ولكني عدلت الملف للحصول على النتيجة المطلوبة 10 ساعات مضت, Noon Ali said: عند اضافة يوم 15/10 مفترض يطلع = 741150000 ولكن اصبح = 888300000 تحياتي QuickBooksStyle.rar
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان