Noon Ali قام بنشر منذ 6 ساعات قام بنشر منذ 6 ساعات السلام عليكم ورحمة الله كيكفم اخوتي جميعا انا عندي قاعدة اكسس تشابة الكويك بوكس ولكن للعملاء والموردين شغالة حاليا في الموردين عند فتح التقرير للمورد المعني بجيب الرصيد التراكمي غير صحيح هكتب اسماء الاستعلامات التي اعمل عليها استعلام أساسي 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
ابوخليل قام بنشر منذ 5 ساعات قام بنشر منذ 5 ساعات المشكلة سببها خصيصة في الحقل افتح تقريرك على التصميم .. وحدد حقل الرصيد ثم عدل الخاصية كما في الصورة (القيمة المحاطة بالمربع الأحمر ) 1
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان