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

jjafferr

أوفيسنا
  • Posts

    9975
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    406

كل منشورات العضو jjafferr

  1. شكرا لك اخي حسام 🙂 في الواقع هذه الاكواد يحتاج لها موضوع مستقل ، بمرفق ، وفيه مثال لكل سطر من الاكواد 🙂 وهي موجودة في قائمة الاشياء اللي "يمكن" يوم من الايام ان اقوم بها ، مو فقط للجزئية التي تفضلت بها فقط ، وانما للورقة كاملة 🙂 جعفر
  2. وعليكم السلام 🙂 هذا الكلام كله لا علاقة له بنسخة الاكسس التي قمت بتنصيبها على جهازك ، وانما له علاقة بصيغة قاعدة بياناتك ، accdb او mdb . نسخ الاكسس سابقا (الى النسخة 2003) كانت تستخدم نظام JET ، كانت تستخدم DAO بإصداراته ، برنامج منفصل عن النظام ، ولكن الاكسس من النسخة 2007 فأعلى ، يستخدم نظام ACE ، وقد دمج DAO في نظامه ، فبدلا عن اختيار DAO ، اختار Microsoft Office xx.x Access database engine Object Library كما هو موضح في الصورة (xx.x يعتمد على نسختك ، انا نسختي 2010 اي 14.0) ، اذا كانت قاعدة بياناتك بصيغة accdb : . بينما اذا كانت قاعدة بياناتك بصيغة mdb ، فـ DAO لا يزال موجود : . جعفر
  3. اوامر نموذج عرض ورقة البيانات تختلف قليلا عن النماذج العادية ، فلا يوجد عرض للكائن ، ولكن يوجد عرض للعمود/الحقل : تنقر باليمين على العمود/الحقل ، ثم تختار Field Width ، فنرى ان امر العرض ليس width ، وانما ColumnWidth . بينما الارتفاع RowHeight ، لا علاقة له بالعمود/الحقل وانما بالنموذج الفرعي شخصيا : . وعلى هذا الاساس ، النموذج التالي : . يصبح . عندما يكون الامر : Private Sub أمر2_Click() 'ذا كان النظام عندك: ' 'بالسنتيمتر ، فيجب ان تضرب الرقم * 576 ' 'بالبوصة ، فيجب ان تضرب الرقم * 1440 ''من فوق Me.frm_2.Top = 0 * 1440 ' ''من اليسار Me.frm_2.Left = 0.199 * 1440 '1.7 ''العرض Me.frm_2.Width = 6.185 * 1440 ' ''الارتفاع Me![frm_2].Height = 1.7 * 1440 'Me.Refresh Me![frm_2]![nNumbers].ColumnWidth = 2.5 * 1440 Me![frm_2].Form.RowHeight = 0.75 * 1440 'Call أمر1_Click 'Me.Refresh End Sub جعفر
  4. وعليكم السلام 🙂 اما انا ، فكنت سأتعامل مع الموضوع كما بالرابط التالي: . طبعا هذا فقط للتوضيح ، والكلام عن ايقونات الملفات التي في الجزء اليمين من الصورة : جعفر
  5. تفضل ، الملف الذي لا يستطيع مبرمج ان يستغني عنه (طبعا في اول ايامه 🙂 ) : جعفر
  6. هلا والله ، الحمدلله قدرنا نرضي زبون نشط 🙂 جعفر
  7. الحمدلله 🙂 1. اذا الارقام في اعدادات الكائن فيه cm (ما اعرف بالاكسس العربي شو يكتب!! ) فانت بالسنتيمتر ، واذا فيه " فانتبنظام البوصة ، او انظر الى اعدادات النظام : . 2. مالك شغل في الجهاز الآخر ، اشتغل على نظام جهازك ، والاكسس تلقائيا يغيره لأي نظام آخر 🙂 هذا نظامي: . مثال ، اريد ان اضع التقرير الفرعي هنا : . فاستعملت حدث الزر امر3 : . والنتيجة : . تفضل انت ، افتح المرفق وانقر على الزر واخبرنا النتيجة 🙂 جعفر 1295.mov.accdb.zip
  8. اعتذر منك ، فلقد نسيت شيء !! هذا الرقم في الكود هو بقياس التويبس Twips ، وهو وحدة قياس مايكروسوفت ، اذا كان النظام عندك: بالسنتيمتر ، فيجب ان تضرب الرقم * 567 بالبوصة ، فيجب ان تضرب الرقم * 1440 فاذا كانت وحدة القياس عندك بالسنتيمتر : من فوق me.A.Top = 12 * 567 من اليسار me.A.Left = 2 * 567 العرض me.A.width = 45 * 567 الارتفاع me.A.Height = 15 * 567 جعفر
  9. وعليكم السلام 🙂 النموذج الفرعي ، مثله مثل اي كائن آخر في النموذج مثل حقول النص والتسميات والازرار وووو ، يمكن التعامل في مكانهم وحجمهم كالتالي (على فرض ان اسم الكائن A) : من فوق me.A.Top = 12 من اليسار me.A.Left = 2 العرض me.A.width = 45 الارتفاع me.A.Height = 15 . . جعفر
  10. السلام عليكم 🙂 شكرا لكم جميعا 🙂 اخي اباجودي ، شكر خاص لك على هذا الدلال والدلع ، ومش عرف ان بتجيب الكلمات دي منين 🙂 عملت تعديل في المرفق ، واصبح الآن يأخذ اطوال مختلفة من السجلات 🙂 جعفر
  11. اعتقد عرفت مكان الخلاف 🙂 حسب نتائج الملف المرفق ، الدائن اكبر من المدين ، لهذا السبب النتيجة يجب ان تكون دائن ، بينما النتيجة عندنا في الدائرة الحمراء مدين ، وهذا الخطأ الذي تتكلم عنه : . ولكنك اردت المعادلة بهذه الطريقة : . فالظاهر انك عكست اول طلبين ، فعليه الكود يجب ان يكون : . وعليه تكون النتيجة: . إلا اذ في شيء آخر ما فهمته انا !! جعفر 1292.1784258757_.accdb.zip
  12. وعليكم السلام 🙂 الاستعلام qry_1 يأخذ جميع بيانات الجداول (مثل بقية استعلاماتك ، ولكن بدون اي معيار) ، والاستعلام qry_Group ، فيقسم البيانات الى مجموعات ، ثم يحسب مجموع قيمة مبلغ كل قسم ، ولا يحسب ترتيب مجموع الدائن والمدين والصافي ، لأننا نقوم بجمعه في هذا الاستعلام (أ. لأني ما ادري كيف قمت انت بعمل حسبة الدائن والمدين والصافي ، ب. لأن احد هذه القيم لم تكن في الجدول ، فقمت بعملية الحسبة احتياطا 🙂 ) . وتقدر تضع معيار التاريخ ، ورقم الملف في هذا الاستعلام ، وباقي العمل يقوم به التقرير ، وفيه مجموع الدائن والمدين والصافي 🙂 جعفر
  13. وعليكم السلام 🙂 تفضلي 🙂 . . والاستعلام: SELECT numbers.textnumbers, Mid([textnumbers],1,InStr([textnumbers],"/")-1) AS L, Mid([textnumbers],InStr([textnumbers],"/")+1) AS R FROM numbers; جعفر
  14. وعليكم السلام بشمهندس 🙂 عملت لك برنامج خاص 🙂 جعفر
  15. السلام عليكم 🙂 عندنا تقرير بهذه الطريقة : . ونريد نعملة بهذه الطريقة : . نعمل التقرير ، ثم نعمل مجاميع لأي من الحقول ، ثم نعمل حقل ليحسب عدد السجلات للمجموعة : . ويجب عمل برواز الحقول شفاف : ---------------------------------------------------------------------- التعديل - 1 ، 27/11/2020 تصحيح البرنامج ، على فرضية اطوال السجلات مختلفة وتحتوي على اكثر من سطر ثم نرسل هذه البيانات للوحدة النمطية Box_Lines التي تقوم بعمل البرواز : نرسل اسم الحقل المطلوب عمل المربع الكبير حوله ، ولون الخط ، ولون البرواز ، وعدد سجلات المجموعة : Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) 'No way to adjust the field Height, so we Draw a Box around the new Height Call apply_Max_Height("rpt", 0, "save", RGB(221, 217, 195)) 'Expand the field to be the size of the combined Records 'Call Box_Lines(fld , Text Fore color, Border Color, Group_Record_Count) 'Call Box_Lines(Me.Name, "save", vbBlack , vbBlack , Me.save_Footer) Call Box_Lines(Me.Name, "save", RGB(16, 37, 63), RGB(221, 217, 195), Me.save_Footer) End Sub . واستخدمت الوحدة النمطية لأخونا العود ابو خليل من هنا ، لضبط اطوال جميع السجلات الى الاطول : طلب كود تنسيق نمو حقول التقرير - قسم الأكسيس Access - أوفيسنا (officena.net) وتقوم الوحدة النمطية Box_Lines بعمل المطلوب ، بعمل حقل واحد (للجقل المطلوب) : Option Compare Database Option Explicit Dim str_Text As String Dim int_Counter As Integer Public fildMaxHeight As Integer Dim ctl As Control ' Public Function Box_Lines(rpt_Name As String, fld_Name As String, rgb_Fore As Long, rgb_Border As Long, Group_Record_Count As Integer) Dim L As Single Dim T As Single Dim W As Single Dim H As Single Set ctl = Reports(rpt_Name)(fld_Name) 'make it simple to understand L = ctl.Left W = ctl.Width T = ctl.Top H = ctl.Height 'take the highst Height If fildMaxHeight > H Then H = fildMaxHeight End If 'this is to know when a new Group starts If ctl <> str_Text Then str_Text = ctl int_Counter = 1 End If ctl.BorderColor = vbWhite ctl.ForeColor = vbWhite Reports(rpt_Name).Line (L, T)-(L, W), rgb_Border 'Left Line Reports(rpt_Name).Line (W, T)-(W, H), rgb_Border 'Right Line 'COULDN'T GET IT TO WORK ' If int_Counter = Group_Record_Count Then 'Last Record ' Reports(rpt_Name).Line (L, H)-(W, H), rgb_Border 'Bottom Line ' End If If int_Counter = 1 Then 'First Record ctl.ForeColor = rgb_Fore 'Text ForeColor Reports(rpt_Name).Line (L, T)-(W, T), rgb_Border 'Top Line End If int_Counter = int_Counter + 1 End Function Public Function find_Max_Height(rpt_Name As String, Section_Number As Integer) fildMaxHeight = 0 For Each ctl In Reports(rpt_Name).Section(Section_Number).Controls If ctl.Height > fildMaxHeight Then fildMaxHeight = ctl.Height End If Next End Function Public Function apply_Max_Height(rpt_Name As String, Section_Number As Integer, Exclude_fld_Name As String, rgb_Border As Long) fildMaxHeight = 0 'get the max Height For Each ctl In Reports(rpt_Name).Section(Section_Number).Controls If ctl.Height > fildMaxHeight Then fildMaxHeight = ctl.Height End If Next 'Draw lines around the fields For Each ctl In Reports(rpt_Name).Section(Section_Number).Controls If ctl.Name <> Exclude_fld_Name Then Reports(rpt_Name).Line (ctl.Left, ctl.Top)-Step(ctl.Width, fildMaxHeight), vbWhite, BF Reports(rpt_Name).Line (ctl.Left, ctl.Top)-Step(ctl.Width, fildMaxHeight), rgb_Border, B End If Next End Function . -------------------------------------------------------------------- النسخة اعلاه فيها خطأ ، فرجاء استعمال النسخة الاحدث ، والتي نستطيع فيها العمل على اكثر من حقل : جعفر 1293.1.Report_Draw_BoxLine.mdb.zip
  16. اعمل استعلام تحديث للحقل A ، واعمل المعايير المطلوبه للاستعلام ، في التحديث ، استعمل: not [A] جعفر
  17. وعليكم السلام 🙂 اذا كان اسم الحقل A ، استعمل : me.A = not me.A جعفر
  18. عُذرا ، هذا الاختلاف يصير لما تنصيب الاكسس يكون انجليزي و عربي !! بدل الفاصلة ، استخدم الفاصلة المنقوطة 🙂 . . كون الحقل Rslt يستعمل نتيجة الطرح بين حقلين ، واللي يأخذ قيمته من حقلين آخرين ، فخلينا نقطع الوسيط ونتواصل مع الاصل ، ولكن ، وبما انك تضيف بيانات في النموذج الفرعي ، فالحدث عند التحميل سيعطيك نتيجة الجمع لما تفتح النموذج لأول مرة فقط !! جعفر
  19. تفضل 🙂 . =IIf([Rslt]=0,"لا يوجد رصيد",IIf([Rslt]>0,"مدين","دائن")) جعفر
  20. تفضل 🙂 التقرير مبني على اساس الاستعلام qry_Group ، والذي يمكنك وضع المعايير فيه ، هكذا التقرير قي وضع التصميم : . وعلى حسب العرض المتوفر ، نعمل عدد الاعمدة : . والنتيجة : . جعفر 1290.السجل.accdb.zip
  21. السلام عليكم 🙂 وهذه طريقة اخرى ، دون المساس بـ Registry الكمبيوتر جعفر
  22. وعليكم السلام 🙂 رجاء اعطنا مثال ، بارقام من برنامجك ، وطريقة النتيجة التي تريدها ، سواء باستخدام اكسل او وورد او صورة ، حتى نقتدي به لطلبك 🙂 جعفر
  23. السلام عليكم 🙂 الاستعلام qry_Attended_Absent يحتوي على صافي البيانات ، حسب ما تصفيه في النموذج ادناه ، والنموذج frm_Main هو الذي تبحث من خلاله ، وبعد ان تختار من الحقول ، يجب ان تنقر على الزر "ابحث" (او اطبع) حتى تحصل على البيانات المطلوبه ، ويمكنك النقر مرتين في اي حقل ، حتى تجعله فارغا ، مما يعني انك تريد جميع بيانات ذلك الحقل : . جعفر 1279.1.attend.accdb.zip
  24. سهلة 🙂 اضف السطر اللي عليه السهم الاحمر ، في الحدث المرفق . اووه ، ما كنت ادري انه في ناس تطالعنا ، لما انا وصاحبي كنا نسولف بصوت عالي 🙂 والافضل ان تغير اسماء النماذج الفرعية الى: هوية افقية ، وهوية عمودية ، في الهوية العمودية عملت لك Listbox ، فاعمل نفس الشيء للهويات العمودية ، بحيث هالنموذجين يكفون لعمل جميع انواع الهويات ، وما يكون فيه داعي لعمل لا نماذج اضافية ولا تقارير 🙂 جعفر
  25. السلام عليكم اخوي محمد 🙂 في الواقع جذبني الى الموضوع ، عدم ارفاقك المرفق مع المشاركة ، واتضح انه بسبب حجم قاعدة البيانات ، وكما توقعت ، فأنت كنت عامل صور الاقسام مضمنه في النماذج والتقارير ، فقمت بفرزها ، فأصبحت رشيقة 🙂 ولم اتطرق لأي شيء آخر 🙂 جعفر 1289.اوفيسنا.zip
×
×
  • اضف...

Important Information