sohyla قام بنشر يوليو 1, 2004 قام بنشر يوليو 1, 2004 سلام الله عليكم ورحمته وبركاته تم عمل قاعدة بيانات للمعاشات وهى تعتمد على مفتاح لا يتكرر وحيد وقمت بالترتيب على اساسه الا انه بعد عدة اشهر طلب منى المدير ان اعطى ترقيم آخر ليفوم هو بعمل بطاقات لاصجاب المعاشات ابتداء من رقم 1 ثم يغلفها ولم اجد الا عمل ذلك بالتقرير وبعد مدة حدثت مشاكل وكان لابد منها وهى عند حذف احد اصحاب المعاشات نتيجة وفاة مثلاَ وهو امر لا مفر منه فإن ترتيب البطاقات او ترتيب الاسماء يتغير .. هل توجد طريقة لتخرين ما بداخل الحقل الموجود بالتقرير فى حقل ارجوكم الرد حتى لا تتفاقم المشكلة وشكراَ
السيد عبد العال قام بنشر يوليو 4, 2004 قام بنشر يوليو 4, 2004 (معدل) Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) Dim strSQL As String strSQL = "UPDATE Persons SET Persons.NewNumber =" & RepNo strSQL = strSQL & " WHERE (Persons.PrName= '" & PrName & "')" DoCmd.RunSQL strSQL End Sub أولا :الافتراضات 1-نفترض أن بيانات الأشخاص مسجلة فى جدول اسمه Persons وان هذا الجدول يحتوى على حقل ترقيم تلقائى كان يستخدم قديما لرقم الشخص يوجدحقل لأاسم الشخص الثلاثى أو الرباعى واسمه PrName واننا نريد أضاافة حقل جديد اسمه NewNumber من النوع Long Integer ونريد أن نسجل فيه ألرقم من التقرير 2-نفترض أن لدلينا تقرير سنصطلح على تسميته التقرير الأصلى وهذا التقرير هو الذى يتم الطباعة منه وأن مصدر السجل فى فى هذا التقرير هو الجدول Persons ولكى يتم عمل رقم متسلل فقد تم وضع مربع نص وتسميته RepNo وتم وضع معادلة فى مصدر عنصر التحكم =1 وضبط خاصية running sum لتكون OverAll ثانيا : المطلوب:- هو نقل الأرقام التى تظهر فى مربع النص RepNo عند فتح التقرير إلى الحقل NewNumber بجدول Persons اعتمادا على الاسم الثلاثى أو الرباعى الموجود فى الحقل PrName .. ثالثا : الفكرة :- ]استغلال حدث OnPrint والذى يحدث لكل مقاطع التقرير ويهمنا مقصع Detail والذى يتكرر لكل سجل من سجلات التقرير واثناءه نحصل على الرقم الذى تم احتسابه لمربع النصRepNo وكذلك اسم الشخص فى السجل الحالى وبناء عليه يتم كتابة جملة sql استحداث NewNumber قيمة المقابل لاسم الشخص رابعا: الخطوات :-1 - يتم عمل نسخة احطاياطية من قاعدة البيانات وهى التى يتم فيها هذا العمل لحين نجاحه 2-يتم التحقق من الفتراضات السابقة والتعدبل المطلوب فى جدول persons 3 - يتم عمل نسخة مؤقتة من التقرير الأصلى 4- يتم أضافة هذا الكود السابق فى حدث OnPrint لمقطع Detail 5-نفتح التقرير فى وضع PreView وينتج عنه استدعاء اللإجراء لكل الحقول 6-نفتح جدول persons ونتأكد من القيم الجديدة 7- يتم تعديل التقرير الأصلى بجعل الرقم المتسللسل يرتبط بحقل NewNuber 8-يتم خذف التقرير المؤقت و ..... معذرة على الإطالة والإسهاب تم تعديل يوليو 4, 2004 بواسطه السيد عبد العال
sohyla قام بنشر يوليو 6, 2004 الكاتب قام بنشر يوليو 6, 2004 الاخ الكريم بارك الله فيك .. وفى الحقيقة انها كانت مشاركة من احد الاخوة وكنت فعلا محتاجة للاجابة عليها لان هذه المشكلة واجهتنى ولم استطع حلها .. وكنت اظن انه لا توجد علاقة بين احداث التقارير والجداول جزاك الله خيراَ وبراك فيك وسأحاول بأذن الله تطبيق ما ذكرته حضرتك مع خالص شكرى وامتنانى اليك
sohyla قام بنشر يوليو 6, 2004 الكاتب قام بنشر يوليو 6, 2004 بسم الله الرحمن الرحيم الاخ الفاضل الاستاذ / السيد سلام الله عليكم ورحمته وبركاته لقد نفذت ما ذكرته حضرنكم بالضبط ولكن .... برجاء الاطلاع الى الملف المرفق http://www.geocities.com/sohyla2001/db.zip
السيد عبد العال قام بنشر يوليو 7, 2004 قام بنشر يوليو 7, 2004 (معدل) فعلا الخطوات صحيحة حدث لبس فى استخدام الاسم Name فهمها البرنامج على أنها اسم التقرير وولد جملة SQL التالية: UPDATE الاعضاء SET الاعضاء.aa =1 WHERE (الاعضاء.name= 'pp') بينما كان المطلوب هو البحث بالاسم الذى الذى فى الحقل Name للسجل الحالى وينتج عنها جملة sql التالية: UPDATE الاعضاء SET الاعضاء.aa =1 WHERE (الاعضاء.name= 'ابراهيم محمود') قد تم تعديل كود حدث Detail_Print وكتب بطريقة أكثر تحديدا لإزالة اللبس ليصبح كالتالى: Private Sub تفصيل_Print(Cancel As Integer, PrintCount As Integer) Dim strSQL As String strSQL = "UPDATE [الاعضاء] SET [الاعضاء]![aa] =" & Me![repno] strSQL = strSQL & " WHERE ([الاعضاء]![name]= '" & Me![name] & "')" 'MsgBox strSQL DoCmd.RunSQL strSQL End Sub وهو الان يعمل بطريقة صحيحية - تم إضافة نموذج جديد يقوم بحساب الكود عند أدراج سجلات جديدة يحسب أكبر قيمة فى المدينة ويضيف عليه1 NumFromRprt.zip تم تعديل يوليو 7, 2004 بواسطه السيد عبد العال
sohyla قام بنشر يوليو 7, 2004 الكاتب قام بنشر يوليو 7, 2004 بارك الله فيك يا استاذ وذادك من فضله وعلمه اشكرك كثيرا
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.