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 قام بنشر السبت at 04:33 الكاتب قام بنشر السبت at 04:33 (معدل) @ابوخليل نعم صحيح كانت هي المشكلة سبحان الله ولكن جرب واختار معي اخر مورد اسمه PetroNour الرصيد صحيح الى يوم 14/10 =594000000 عند اضافة يوم 15/10 مفترض يطلع = 741150000 ولكن اصبح = 888300000 لانو في رحلتين في نفس التاريخ يقوم بجمع الرحل بس انا اريد اي رحلة في صف منفصل ؟؟؟؟؟ اضافة لي تقرير العملاء عند اختيار عميل بيطلع تقرير كل العملاء 😞 تم تعديل السبت at 05:43 بواسطه Noon Ali
منتصر الانسي قام بنشر السبت at 14:36 قام بنشر السبت at 14:36 رغم اني لم افهم لماذا يتم احتساب رصيد تراكمي لرصيد تراكمي ولكني عدلت الملف للحصول على النتيجة المطلوبة 10 ساعات مضت, Noon Ali said: عند اضافة يوم 15/10 مفترض يطلع = 741150000 ولكن اصبح = 888300000 تحياتي QuickBooksStyle.rar
Noon Ali قام بنشر بالامس في 05:18 الكاتب قام بنشر بالامس في 05:18 @منتصر الانسي مفترض الرصيد التراكمي يزيد لما تكون في فاتورة و ينقص عند وجود دفع في حالة بتحصل لمن تكون في عدة رحل في نفس اليوم وبيحصل انه اي رحل في نفس اليوم بتتجمع مع بعض والصح اي رحلة تكون في صف مثلا عندك المورد رقم 4 Pertonour عندة عدد 2 رحل يوم 12/10 حط كل وحدة في صف 150300000 و 143550000 عمل ايه في الاول جمعهم الاتنين مع +153000000=446850000 الصح الطبيعي انه 153000000 + 150300000=303300000 +143550000=446850000 +147150000=594000000 وهكذا اذا عندي دفع يخصم كل عملية تكون لوحدها
ابوخليل قام بنشر منذ 17 ساعات قام بنشر منذ 17 ساعات مشكلتك هي في اتباع الطريقة التقليدية القديمة في تصميم مشروع المبيعات هذه الطريقة انت مضطر اجباريا باستخدام كثير من الاستعلامات لتجميع الجداول وخاصة استعلامات التوحيد المهم انه من خلال هذه الاستعلامات تفقد عنصرا اساسيا في اجراء العمليات الحسابية الذي هو مفتاح الجدول .. حاول مستقبلا استخدام الجدول الواحد عند تصميمك لمشاريع البيع والشراء . ......................... المشكلة الظاهرة لديك سببها الفرز ... لا يوجد رقم او نص او تاريخ فريد انت اعتمدت التاريخ للفرز .. والتاريخ مكرر .. كان يمكن الفرز باستخدام التاريخ لو كان التاريخ يدخل كاملا ( جنرال ) ( Now ) ................................... استخدمت حيلة وهي اضافة ترقيم تلقائي للجدول .. ويتم الفرز من خلاله في التقرير ... ولكن كما تعلم هذه الارقام ستتضاعف مستقبلا فعليك الانتباه لهذا .. وعلاجه ان تقوم بضغط واصلاح قاعدة البيانات بين فترة وأخرى QuickBooksStyle2.rar
Noon Ali قام بنشر منذ 4 ساعات الكاتب قام بنشر منذ 4 ساعات @ابوخليل 🙂 🙂 تسلم بارك الله فيك ورفع قدرك بين الناس ادامك وحفظك 🙂 لم افهم هذه كيف تتم (تعلم هذه الارقام ستتضاعف مستقبلا فعليك الانتباه لهذا .. وعلاجه ان تقوم بضغط واصلاح قاعدة البيانات بين فترة وأخرى)
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان