اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

ابوخليل

أوفيسنا
  • Posts

    12,480
  • تاريخ الانضمام

  • Days Won

    233

كل منشورات العضو ابوخليل

  1. السلام عليكم احبتي اعتقد حسب ما فهمت انه عند الغياب يوم الخميس ويوم الاحد ( الذي يليه ) يتم احتساب الجمعة والسبت فلو غاب يوم الاحد ويوم الخميس الذي يليه ولكنه حضر الاحد الذي يلي الخميس هنا لن يتم احتساب الجمعة والسبت الضابط هو وقوع السبت والجمعة بين يومي غياب اخي ايمن : يوجد خطأ في التخطيط المرفق في الجمع فأنت حسبت الخميس والاحد يومين والناتج 3 والصحيح على ما فهمت انه 4 الخميس والجمعة والسبت والاحد
  2. تفضل وحدة نمطية مع الشرح يمكن من خلالها طباعة الصفحات من تقريرين تنازليا مهما بلغت الصفحات وايضا يمكن تحديد نقطة البداية او صفحة البداية فلو فرضنا ان لديك تقريرين كل واحد منهما يحتوي على 100 صفحة وتريد ان تبدأ الطباعة من الصفحة رقم 20 تنازليا فكل ما عليك هو ان تضع رقم صفحة البداية في الحقل المخصص في النموذج افتح محرر الفيجوال والصق الوحدة النمطية التالية : Function PrintDscOrder(Rep1 As String, Rep2 As String) Dim PgNum As Integer, _ PgNum2 As Integer, PagesCnt As Integer 'اعلان عن متغيرات رقمية تمثل مجمل الصفحات وارقام الصفحات المحددة PagesCnt = Me.RepageCnt.Value 'مجمل الصفحات = قيمة الحقل في النموذج For PgNum = PagesCnt To 1 Step -2 'دوارة تنازلية زوجية PgNum2 = PgNum - 1 'تحديد رقم الصفحة الثانية وهي هنا اقل من الحالية بواحد DoCmd.SelectObject acReport, Rep1, True 'تحديد التقرير الأول DoCmd.PrintOut , PgNum, PgNum2, 1 'طباعة الصفحات المحددة DoCmd.SelectObject acReport, Rep2, True ' تحديدالتقرير الثاني DoCmd.PrintOut , PgNum, PgNum2, 1 'طباعة الصفحات المحددة Next PgNum 'عودة لبداية الدوران End Function 'تصميم وترتيب ابوخليل وفي حدث بعد النقر لزر الطباعة الصق السطر التالي : Call PrintDscOrder("استقطاعات", "استحقاقات") طباعةالصفحات تنازليا من تقريرين.rar
  3. سأعرض الحل هنا مع توضيح بعض النقاط المهمة فالجملة البرمجية التي تستخدم لفتح ثم طباعة الصفحات المحددة من التقرير DoCmd.OpenReport stDocName, acPreview DoCmd.PrintOut acPages, pageFrom, pageTo لا تقوم بالمهمة كما ينبغي وكما رسمت له فمن المعلوم ان تنفيذ هذا الكود سيكون من خلال النموذج لذا يصعب التنفيذ بل يمتنع وتظهر بعض العقبات غير المتوقعة فمنها : - طباعة النموذج بدلا من التقرير وقد يتم طباعة الاثنين معا - عدم طباعة الصفحات المحددة وانما يتم طباعة الجميع - هذا الكود يقوم بفتح التقرير وهذه مشكلة بحد ذاتها حيث يستلزم اخفاؤه او تصغيره ثم غلقه وهل هناك بديل ؟ نعم وهو يقوم بكل لطف وصمت بطباعة صفحات محددة من تقارير عدة والحل سطران فقط ومن اراد الزيادة فعليه ان يكررهما ما شاء الاول يقوم بتحديد التقرير لا فتحه DoCmd.SelectObject acReport, "استقطاعات", True والثاني لطباعة الصفحات المحددة DoCmd.PrintOut , 14, 13, , 1 رقم 1 يمثل عدد النسخ في المرفقات تحقيق وتطبيق طباعة واختيار الصفحات من عدة تقارير.rar
  4. وعليكم السلام ورحمة الله وبركاته عدد النماذج المفتوحة : CountOpenFrms = Application.Forms.Count السؤال الثاني افتح له مشاركة جديدة
  5. اخونا محمد رفعت شكرا لقبول الدعوة اما مسألتك فإنها محلولة بإذن الله فقط لدي بعض الاستفسارات حتى نخرج بالحل على اكمل وجه انت لديك اكثر من تقرير وحسب عرضك هما اثنان وتريد طباعة الصفحات بترتيب معين مثلا تبدأ من النهاية السؤال : هل عدد الصفحات دوما 14 ام انها تزيد وتنقص حسب البيانات المدخلة وحسب الظروف ؟ فإن كانت تتغير فمن غير المستحسن ادراج الارقام داخل الكود وانما نعوض عنها بمتغيرات تمثل ارقام الصفحات بانتظارك ...
  6. تم التعديل حسب الطلب الاول db1.rar
  7. نعم لانه غالبا يتم ادراج اكثر من صنف واحد في الفاتورة وحينها سيتم تكرار اسم الفرع واسم العميل في كل سجل وهذا الشيء غير مقبول في قواعد البيانات اختر واحدا فقط ليكون هو رأس الفاتورة : الفرع او العميل سؤال : لماذا تقحم الفرع في رأس الفاتورة ؟ اليس لكل فرع برنامجه الذي يخصه ؟
  8. انظر هنا http://www.officena.net/ib/index.php?showtopic=49961
  9. تعني رقم المفتاح او الزر في لوحة المفاتيح تجد هنا ارقام المفاتيح http://www.officena.net/ib/index.php?showtopic=48801#entry295956
  10. انا قمت بالتعديل فقط على عجالة لتحقيق الطلب اليك الكود الآن بعد التدقيق ( تم اجراء بعض التقديم والتأخير وحذف مالا يلزم ) Dim rcos, r As Long Private Sub Command1_Click() On Error GoTo Err r = rcos + 20 txtNumbers = "" Dim s For s = rcos To r txtNumbers = txtNumbers & "973" & txtnum & " , " DoCmd.GoToRecord , , acNext rcos = rcos + 1 If rcos = r Then Exit Sub End If Next s Err: If Err.Number = 2499 Then Exit Sub End Sub Private Sub Form_Load() rcos = 1 End Sub
  11. If KeyCode = 13 Then DoCmd.GoToRecord , , acNewRec End If تم تطبيق الكود على الحقل n يمكنك نقله الى اي حقل تريد 1.rar
  12. هما اخوان الا ان الاستعلام اكثر مرونة هذا مثال للاستاذ محمد صالح يعالج هذا الأمر mas123-nameparts.rar
  13. تفضل الدالات الخاصة ببرنامج الآكسس.rar
  14. تم تعديل الكود Option Compare Database Dim rcos, r As Long Private Sub Command1_Click() On Error GoTo Err r = rcos + 20 txtNumbers = "" Dim s For s = rcos To r DoCmd.GoToRecord , , acNext txtNumbers = txtNumbers & "973" & txtnum & " , " rcos = rcos + 1 If rcos = r Then Exit Sub End If Next s DoCmd.GoToRecord , , acFirst Err: If Err.Number = 2499 Then Exit Sub End Sub Private Sub Form_Load() rcos = 1 End Sub جلب ارقام كمجموعات بالتتالي.rar
  15. تم التعديل وانظر كيف تم تعديل مصدر بيانات النموذج وظفنا استعلامين ينوبان عن الجدولين db1.rar
  16. الصق الجمل التالية في محرر التقرير Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer) sPageTxt = 0 End Sub Private Sub detail_print(Cancel As Integer, PrintCount As Integer) If PrintCount = 1 Then sPageTxt = sPageTxt + [total] End If End Sub باعتبار sPageTxt هو اسم حقل المجموع في تذييل الصفحة و total هو اسم الحقل المراد جمعه
  17. من اسباب عدم ظهور النتيجة : - مربع التحرير ListFare جعلت مصدر بياناته اسم الفرع والصحيح ان يكون رقم الفرع - ومن الاسباب وهو المشكلة الاساسية " قاعدة البيانات المرفقة" فعندما قمت انا بجلب كائناتها الى قاعدة جديدة عملت على أكمل وجه وبتوفيق الله اكتشفت الخلل داخل الكود في هذا السطر : Dim rs As Recordset فنحتاج الى اضافة بسيطة ليصبح هكذا : Dim rs As dao.Recordset db1.rar
  18. الرسائل هذه تعني وجود نقص في مكتبات قاعدة البيانات ولكن لماذا تخلط الامثلة بعضها مع بعض حيث ان المثال الموجود في الرابط اعلاه يعمل 100% والوحدة النمطية الموجودة فيه عبارة عن سطر واحد
  19. أسأل الله الكريم ان يعفو عنا وعنك وأن ينعم عليك بالشفاء شفاء لا يغادر سقما
  20. BrowseFolder هذه وحدة نمطية عامة وهي الخاصة بفتح مربع الحوار الذي ستعين منه مكان النسخة ابحث عنها في المحرر او داخل الوحدات العامة فان لم تجدها فارجع الى مصدر الكود الذي نقلته منه
  21. الحل من وجهة نظري بعدما اعيتني الطريقة الأولى هو البحث عن الحرف بطريقة اخرى ثم استبداله بحرف او رقم آخر وبعد ذلك نجري عملية التصفية فمثلا نضع في عمود جديد في الاستعلام الجملة التالية Replace([txt1];"ة";"1") بهذا يتم استبدال الحرف بالرقم1 وفي المعايير للحقل الجديد نفسه نضع المعيار التالي : Like "*" & 1 بحث عن التاء المربوطة .rar
  22. تم اضافة النموذج المطلوب ، فهل من رد علينها راجع مثالك لم يتم اضافة النموذج رغم خفة دمك وظرفك ، ولكن للاسف لم تحل الموضوع ، بل لم تفهم الموضوع اصلا للاسف؟ 2- بل انت لم تعرض سؤالك كما يجب ووضعت عنوانا ناقصا وتم تعديله فمطلوبك غير مفهوم حيث لم توضح مطلوبك الا في المشاركة الخامسة ولم ترفق النموذج المطلوب ؟ 3- ومع هذا تنعت معلمك بعدم الفهم ؟
×
×
  • اضف...

Important Information