ابن مسقط قام بنشر أكتوبر 7, 2003 قام بنشر أكتوبر 7, 2003 السلام عليكم ورحمة الله وبركاته أقوم حالياً بتصميم برنامج لإصدار فواتير الماء لغرض تسليمها للمستهلكين لإشعارهم عن إستهلاكهم بصورة شهرية ، كما هو الحاصل لدى شركات توزيع المياه والقاعدة مكونة من الجداول الأتية :- أولاً: جدول بيانات المستفيدين رمز المستفيد (حقل ترقيم تلقائي) ، اسم المستفيد (حقل نص) ، رمز المدينة (حقل نص) ، رقم العداد (حقل رقمي) ثانياً: جدول المدن رمز المدينة (حقل ترقيم تلقائي) ، اسم المدينة (حقل نص) ثالثاً: جدول القراءات أو الفواتير رقم الفاتورة (حقل ترقيم تلقائي) ، رمز المستفيد (حقل رقمي) ، قراءة العداد السابقة (حقل رقمي) ، قراءة العداد الحالية (حقل رقمي) ، تاريخ أخذ القراءة (حقل تاريخ) ، رسوم أخرى (حقل رقمي) ، المبلغ المستلم (حقل رقمي) Customer مشكلتي أشرحها في الأسطر التالية : فلنفرض أن أحد المستفدين جاءت قراءة عداده على النحو الأتي : يناير = 1000 وحدة فبراير = 1520 وحدة مارس = 2460 وحدة أبريل = 6200 وحدة مع العلم أن سعر الوحدة = 0.0010 بيسه حيث أن معادلةالإستهلاك = (القراءة الحالية – القراءة السابقة) x 0.0010 بيسه إذاً حساب إستهلاكه سيكون كتالي : يناير = 0 – 1000 = 1000 x 0.0010 = 1 ريال واحد فبراير -= 1520 – 1000 = 520 x 0.0010 = 0.52 بيسه مارس = 2460 – 1520 = 940 x 0.0010 = 0.94 بيسه (لم يدفع هذه الفاتورة) أبريل = 6200 – 2460 = 3740 x 0.0010 = 3.74 ريالات المطلوب : أفرض أن المشترك لم يدفع فاتورة شهر مارس لذا أود أن يأتي إستعلام فاتورة شهر إبريل بأنه توجد عليه مستحقات سابقة وقدرها (0.94 بيسه) لم يدفعها ، وهكذا يكون الحال مع أي فاتورة لأي شهر بمعنى أخر أرغب أن أطبع شهرياً لكل مستفيد فاتورة ، مثل فاتورة شهر إبريل الموضحة في الأتي : اسم المستفيد المدينة رقم العداد القراءة السابقة = 2460 وحدة تاريخ أخذ القراءة السابقة القراءة الحالية = 6200 وحدة مستحقات الشهر الحالي = 3.74 ريالات مستحقات سابقة = 0.94 بيسة رسوم أخرى = 0 ريال إجمالي المستحقات المطلوبة = 16.68 ريالات فهل يمكن ذلك أطال الله في عمركم كما يحصل في الفواتير التي تصدرها شركات المياه إلى المستهلكين ، وماهي الطريقة ؟ هل تصميم الجداول مناسب ؟ يمكن إنزال الملف من هنا والله يوفق الجميع 1
القحم قام بنشر أكتوبر 8, 2003 قام بنشر أكتوبر 8, 2003 أخي ابن مسقط في استعلام تقرير الفاتورة لديك أوجد ( >[التاريخ الحالي]) والقيمة المستلمة ( صفر) في صف لوحدها في الاستعلام. (= تاريخ الشهر الحالي) في صف أخر هذه الإجابة على عجل أرجو أن تنجح، ولم أجربها على مثالك بعد، وسوف أفعل إن شاء الله. محبك
امير عاطف قام بنشر أكتوبر 8, 2003 قام بنشر أكتوبر 8, 2003 الأخ الكريم ابن مسقط : اعتقد ان الدالة Dsum كفيلة بعمل ذلك واللا ما رأيك ؟ للعلم .. رابط الملف العلوي لا يعمل
ابن مسقط قام بنشر أكتوبر 8, 2003 الكاتب قام بنشر أكتوبر 8, 2003 أخي الكريم/ القحم أشكرك على تفضلك بمشاركتي في حل المشكله ، ولكن هل لك بالمزيد من التوضيح ؟ أخي الأستاذ/ أمير عاطف أشكرك أيضاً على ما تقدمه في هذا المنتدى من جهد ، سوف أحاول تطبيق ما ترمي إليه وأفيدك لاحقاً. أما بخصوص الملف فقد عاودت تنشيطه في الرابط التالي : أنقر هنــا وأتوقع أن من سيطلع عليه سوف تتضح له الصورة بجلاء عن ما أود عمله. :) وللجميع خالص التحية ابن مسقط asssq@gawab.com assq@hotmail.com
محمد طاهر عرفه قام بنشر أكتوبر 8, 2003 قام بنشر أكتوبر 8, 2003 قد يوجد حل أسهل و لكن هذا أحد الحلول : أنك عند فتح التقرير ( الفاتورة) تقوم بحساب كل ما سحيه المشترك ، و كل ما سدده ، و تطرحهم لتحصل علي الرصيد السابق هذا مثال لما أقصد ضع تسمية لنحسب رصيد المديونية السابق ثم نضعه فيه مع فتح التقرير و التسمية هذه هنا اسمها PREVBAL Private Sub Report_Open(Cancel As Integer) Dim M As Double If DCount("[AMOUNT]", "BILLS", "(([FIDFROM]=" & [Forms]![FBILLIN]![FIDFROM] & _ " ) AND ( [BID] < " & Forms![FBILLIN]![BID] & "))") Then M = DSum("[AMOUNT]", "BILLS", "(([FIDFROM]=" & [Forms]![FBILLIN]![FIDFROM] & _ " ) AND ( [BID] < " & Forms![FBILLIN]![BID] & "))") M = M - DSum("[PAID]", "BILLS", "(([FIDFROM]=" & [Forms]![FBILLIN]![FIDFROM] & _ " ) AND ( [BID] < " & Forms![FBILLIN]![BID] & "))") Else M = 0 End If M = Format(M, "#,##0.00") Me!PREVBAL.Caption = M End Sub حيث فى المثال أعلاه BID هو رقم الفاتورة و FIDfrom هو كود العميل و ما حدث فى الكود السابق هو حساب قيمة الفواتير السابقة علي الفاتورة الجالية لهذا العميل و طرح المدفوع منها و في البداية تم اختبار هل هناك فواتير سابقة علي رقم هذه الفاتورة لهذا العميل ام لا ، فاذا لم يكن يكون الرصيد السابق = صفر
ابن مسقط قام بنشر أكتوبر 10, 2003 الكاتب قام بنشر أكتوبر 10, 2003 أخي المهندس/ محمد طاهر لقد طبقت الكود أعلاه في التقرير عندي وفي كل مره يظهر لي في مربع تسمية "رصيد المديونيه" قيمتها صفر في كل الظروف ، ولا أدري أين الخطاء بالضبط للعلم هذا الكود الذي أستخدمته : Private Sub Report_Open(Cancel As Integer) Dim M As Double If DCount("[Amount_Received]", "tbl_Readings", "(([Customer_ID]=" & [Forms]![frm-AddRead]![Customer_ID] & _ " ) AND ( [BillNo] < " & Forms![frm-AddRead]![BillNo] & "))") Then M = DSum("[Amount_Received]", "tbl_Readings", "(([Customer_ID]=" & [Forms]![frm-AddRead]![Customer_ID] & _ " ) AND ( [BillNo] < " & Forms![frm-AddRead]![BillNo] & "))") M = M - DSum("[Amount_Received_Received]", "tbl_Readings", "(([Customer_ID]=" & [Forms]![frm-AddRead]![Customer_ID] & _ " ) AND ( [BillNo] < " & Forms![frm-AddRead]![BillNo] & "))") Else M = 0 End If M = Format(M, "#,##0.00") Me.PREVBAL.Caption = M End Sub
أبو هادي قام بنشر أكتوبر 11, 2003 قام بنشر أكتوبر 11, 2003 (معدل) السلام عليكم بعد إذن محمد أشارككم في هذا الإستعلام : لقد نسيت أن أضيف رقم العميل في الشرط وتم التعديل : SELECT tbl_Readings.BillNo, tbl_Readings.Customer_ID, tbl_Readings.Date, tbl_Readings.Current_Readings, DMax("Current_Readings","tbl_Readings","Customer_ID=" & [Customer_ID] & " and " & "Current_Readings<" & [Current_Readings]) AS Previous_Readings, Nz([Current_Readings])-Nz([Previous_Readings]) AS Units, [Units]*0.001 AS fees, tbl_Readings.Other_fee, tbl_Readings.Amount_Received FROM tbl_Readings; تحياتي . تم تعديل أكتوبر 11, 2003 بواسطه أبو هادي
ابن مسقط قام بنشر أكتوبر 11, 2003 الكاتب قام بنشر أكتوبر 11, 2003 أخي الأستاذ/ أبو هادي لا تتصور مدى فرحتي من تفضلك بالمشاركة في هذا الموضوع ،،، وأسأل الله أن يوفقك مع الجميع في إيجاد الحل لمشكلتي. أما بخصوص الإستعلام فلم يضبط معي. على كل حال ،،، قام منذو يومين الأخ/ شاكر الزين من منتدى الفريق العربي بالمساهمة في حل جزء من المشكلة ، وكان حله قريباً من ما أطلبه ولكن للأسف وجدت المنتدى هذه الأيام لا يمكن الدخول إليه وبالتالي لم أستطع مراجعته في ملاحظاتي. أرفق لكم الملف بعد التعديل الجديد ، وأرجوا منكم طلباً لا أمراً التفضل بالتركيز على ""نموذج شاشة سداد الفواتير"" . الأمر يمشى بشكل ممتاز لو قام المستفيد بدفع قيمة الفاتورة كاملةً كل شهر ،،، ولكن المشكلة تتلخص في الأتي :- أفرض أن أحد المستفيدين قام بسداد جزء من قيمة الفاتورة ، فأين سأقوم بتسجيل المبلغ الذي دفعه (رأي أن أضيف حقل باسم المبلغ المستلم في جدول tbl_Readings ) لكي أتمكن من تسجيل القيمة التي سوف يسددها المستفيد. بعد ذلك ،،، كيف أستطيع إظهار المبالغ المستحقة السابقة على الفاتورة القادمة (أرجو إعادة النظر في الفقرة الواردة تحت عنوان مطلبي في الأعلى) أرجوا المعذرة منكم على الإطالة ،،، ولكم الأجر عند الله. أنقر هنا لإنزال الملف
أبو هادي قام بنشر أكتوبر 12, 2003 قام بنشر أكتوبر 12, 2003 السلام عليكم من وجهة نظري أن السداد بهذه الطريقة يصعب ارتباطه مباشرة بالفاتوة ، لذا رأيت فصل جدول السداد عن جدول تسجيل القراءات . بالطبع يحتاج الجدول إلى نموذج تركته لك :) . لا أدري مع كثرة البيانات قد تتسبب دالة الجمع DSum في بطئ البرنامج . (قد يكون هناك حلول أخرى أفضل) ، بالنسبة لي لا أحب استعمال هذه الدوال . غيرت لك في العلاقات . جرب المثال واخبرنا . تحياتي . waterbill.zip
شاكر الزين قام بنشر أكتوبر 12, 2003 قام بنشر أكتوبر 12, 2003 (معدل) أخي العزيز / ابن مسقط ،،، السلام عليكم ورحمة الله وبركاته أفرض أن أحد المستفيدين قام بسداد جزء من قيمة الفاتورة ، فأين سأقوم بتسجيل المبلغ الذي دفعه (رأي أن أضيف حقل باسم المبلغ المستلم في جدول tbl_Readings ) لكي أتمكن من تسجيل القيمة التي سوف يسددها المستفيد. في هذه الحالة أنت تريد فتح المجال بالسداد بمبالغ غير مقترنة بإي شيء فقط برقم المستفيد ،،، ثم تجميعها كمبالغ مسددة لهذا المستفيد ،،، لكي تخصم من المبالغ المطالب بها ،،، ولعمل هذه الطريقة لا يمكن وضع حقل ( المبلغ المستلم ) في نفس الجدول ،،،، لابد من إنشاء جدول جديد لحفظ السدادات ثم مقارنتها بالمبالغ المطالب بها كي تخصم المبالغ المسددة من مجموع الفواتير الموجودة في ملف القراءات والفواتير لهذا المستفيد ,,, تم حذف المثال لتحديثه في الصفحة الثانية ,,,, شاكر تم تعديل أكتوبر 25, 2003 بواسطه شاكر الزين
ابن مسقط قام بنشر أكتوبر 12, 2003 الكاتب قام بنشر أكتوبر 12, 2003 الأستاذين/ أبو هادي وشاكر الزين بشركما الله بالجنة :d المثالين هما بالضبط ما أردته وكل واحد مكمل للأخر. فالله يوفقكما في دنياكم ويجعل منزلتكم في الجنة مع الشهداء والصديقين ،،، أنه سميع مجيب الدعاء. ولا أنسى بقية الأخوة الذين ساهموا المساعده والله يوفق الجميع.
شاكر الزين قام بنشر أكتوبر 13, 2003 قام بنشر أكتوبر 13, 2003 (معدل) أخي العزيز / ابن مسقط ،،،، السلام عليكم ورحمة الله وبركاته سؤال : على ماذا سوف تعتمد في الطباعة لشهر معين ؟؟؟ لقد إعتمدت على الشهر الذي تمت فيه القراءة لكي يطبع لك جميع الفواتير لذلك الشهر ،،، ما عليك إلا كتابة رقم الشهر والسنة ،،،، لا أدري ما إذا كانت هذه الطريقة سوف تخدمك أم لأ ,,,,, تم حذف المثال ،،، وذلك لتحديثه في الصفحة الثانية ,,, شاكر تم تعديل أكتوبر 25, 2003 بواسطه شاكر الزين
ابن مسقط قام بنشر أكتوبر 13, 2003 الكاتب قام بنشر أكتوبر 13, 2003 لقد إعتمدت على الشهر الذي تمت فيه القراءة لكي يطبع لك جميع الفواتير لذلك الشهر ،،، ما عليك إلا كتابة رقم الشهر والسنة ،،،، لا أدري ما إذا كانت هذه الطريقة سوف تخدمك أم لأ ,,,,, أخي الأستاذ/ شاكر الزين جمائلك بدأت تغرقني ،،، ولا أعرف كيف أستطيع أن أردها لك سوى بالدعاء لك في السر والعلن. بخصوص طباعة الفواتير ،، إعتمادي ان شاء الله سوف يكون على الشهر الذي سجلت فيه القراءة -طبعاً هذا يتطلب توحيد تاريخ أخذ القراءات لجميع المستفيدين- وإلا نتيجة الإستعلام ستكون غير صحيحه. :d بقت لدى مشكلة ، ربما أقابلها في المستقبل ،،، وهي في حالة تعطل أحد عدادات المستفيدين. معنى هذا سوف يتم تركيب عداد جديد للمستفيد وبالتالي بدء تسجيل القراءة من جديد في رأي الحل: يجب أن أصمم القاعدة بحيث تقبل أن يكون للمستفيد أكثر من عداد :( هل من رأي أخر أطال الله في أعماركم.
شاكر الزين قام بنشر أكتوبر 13, 2003 قام بنشر أكتوبر 13, 2003 أخي الكريم / ابن مسقط بخصوص طباعة الفواتير ،، إعتمادي ان شاء الله سوف يكون على الشهر الذي سجلت فيه القراءة -طبعاً هذا يتطلب توحيد تاريخ أخذ القراءات لجميع المستفيدين- وإلا نتيجة الإستعلام ستكون غير صحيحه المثال الذي أرفقته لك سوف يحدد لك جميع الفواتير الصادرة لشهر معين سواء كانت قرائتهم بتاريخ ( 1/1/2003 ) أو في تاريخ ( 30/1/2003 ) ،،،، واجهتني مشكلة في شهر ( 1/2/2003 ) إلى ( 28/2/2003 ) حيث أن شهر ( 2 ) لايقبل أكثر من ( 28 ) يوماً ,,,, والحمد لله تمكنت من التغلب عليها ,,,, أي عند تحديدك لشهر معين مثل : شهر ( 2 ) ،،،، سوف يسرد لك جميع الفواتير التي تم إدخالها في هذا الشهر سواءاً بتاريخ واحد أو بعدة تواريخ بشرط أن تكون جميع التواريخ في نفس الشهر ،،،، أي لا يتطلب توحيد تاريخ أخذ القراءات ،،،، فقط تكون جميع التواريخ تتبع نفس الشهر ,,,,, بقت لدى مشكلة ، ربما أقابلها في المستقبل ،،، وهي في حالة تعطل أحد عدادات المستفيدين. معنى هذا سوف يتم تركيب عداد جديد للمستفيد وبالتالي بدء تسجيل القراءة من جديد سوف أدرسها ،،،، ثم أرد عليك ،،، طبيعي سوف يكون هناك جدولاً لإستبدال العدادات للمستفيدين ،،، مقروناً بالجدول الرئيسي للمستفيدين المسجل فيه رقم العداد الخاص به . شاكر
شاكر الزين قام بنشر أكتوبر 13, 2003 قام بنشر أكتوبر 13, 2003 أخي العزيز / ابن مسقط ،،،، لقد عملت لك ما طلبت ,,,,, أنشأت لك حقل لحفظ رقم العداد في ملف القراءات ،،، حتى تعرف هذه القراءة كانت على أي العداد ,,,, أنشأت لك جدول يحتوي على جميع استبدالات العدادات للمشتركين ،،،، عملت لك (شاشة ) استبدال العدادات ،،،، بمجرد استبدال عداد لمشترك سوف يتم تحديث رقم العداد في الملف الرئيسي ,,,, ويتم تحويل آخر قراءة لهذا المشترك إلى ( صفر ) ,,,, ويبدأ الحساب من جديد مرة أخرى من الصفر ,,,, جرب قم بعملية استبدال عداد لمشترك وليكن رقم ( 2 ) ,,, ثم إذهب إلى شاشة إدخال القراءات وقم بإدخال قراءة للمشترك ،،، لم أنسى أن أحتفظ برقم العداد السابق للمشترك ،،، حيث أنشأت حقل للعداد السابق في جدول الاستبدالات ،، بمجرد حفظ عملية الاستبدال يقوم بحفظ العداد السابق مع العداد الجديد للمشترك ,,,,, نسألكم الدعاء ,,,, شاكر waterbill_97.zip
ابن مسقط قام بنشر أكتوبر 14, 2003 الكاتب قام بنشر أكتوبر 14, 2003 أخي الأستاذ/ شاكر الزين والله أنك ما قصرت ،، بذلت وأجزلت العطاء . ((اللهم أته في الدنيا حسنة وفي الأخرة حسنة وقه عذاب النار)) ((اللهم أغفر له وأرحمه وتب عليه إنك التواب الغفور))
شاكر الزين قام بنشر أكتوبر 14, 2003 قام بنشر أكتوبر 14, 2003 (معدل) أخي ابن مسقط ،،،،، شكراً لك على هذا الدعاء الصالح وأسأل الله أن يتقبل دعائك لنا ولك ولجميع المؤمنين والمؤمنات إنه سميع مجيب ,,,,, شاكر تم تعديل أكتوبر 14, 2003 بواسطه شاكر الزين
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.