اذهب الي المحتوي
أوفيسنا

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. التغيير الذي عملته ، يجعله يعمل على الشبكة
  2. السلام عليكم وهذا تعديل من الاخ shod90 (شكرا اخي شادي) على ملف Seq.vbs ، بحيث يعمل الكود في المجلد الذي يكون فيه ، فلا يحتاج الى كتابة اسم المسار: dim fso: set fso = CreateObject("Scripting.FileSystemObject") dim CurrentDirectory CurrentDirectory = fso.GetAbsolutePathName(".") dim Directory Directory = CurrentDirectory & "\Seq.mdb" rem http://www.accessmvp.com/jconrad/accessjunkie/macrosecurity.html rem expression.OpenCurrentDatabase(filepath required, Exclusive optional, bstrPassword optional) dim o set o=createobject ("Access.Application") o.automationsecurity=1 ' set macro security LOW. o.opencurrentdatabase Directory o.usercontrol=true set o=nothing . جعفر
  3. تفضل طلبك ، البرنامج بعمل اخونا العود ابو خليل ، وبتعديل بسيط مني جعفر جعفر
  4. يا سلام عليك ، جبتها صح وراح اضيفها لموضوعي الاصل ، علشان الشباب يستفيدوا منها جعفر
  5. من يركب البحر ، لا يخشى من الغرق ولكن الجواب على سؤالك الاصل لا علاقة له بـ "التعقيد" وهنا اخونا العود ابو خليل يتكلم عن التحزيم (انا لم استعمل اي برامج تحزيم ، لذا فلا افهم فيها) ، في موضوع يخص سؤالك كذلك: جعفر
  6. خليني ما اتفاعل ولا اجر نفسي في سؤال جديد المهم ان طلبك تم تنفيذه والحمدلله جعفر
  7. ملف الـ vbs يمكنك عمله برمجيا ، وكذلك يمكنك التحكم برمجيا (commad line) في برنامج تحويل vbs الى exe ، وكلاهما تستطيع عمله بواسطة برنامج اكسس وسيط ، يعني اول ما تفتح برنامج التحزيم ، اجعل برنامج الاكسس الوسيط ينفتح ، ويطلب منك مسار التنصيب ، ومنها يقوم الاكسس بعمل الخطوات اعلاه برمجيا وعند انتهاء هذا البرنامج الوسيط من عمله ، اجعله يحذف نفسه ، او اجعل البرنامج الجديد عندما يفتح ، يحذف البرنامج الوسيط جعفر
  8. تستطيع ان تغير المسار كما تشاء ، هذا مجرد سطر ، وتقدر تكتبه بأي برنامج ، يعني تقدر تعمل هذه الاسطر جميعها برمجيا ، حسب المسار الذي يريده المستخدم جعفر
  9. حياك الله شو قصدك انعاش النموذج؟ جعفر
  10. وعليكم السلام اخي حسين ، انت تعرف جيدا ان المنتدى مفتوح لجميع الاعضاء ، فأي مرفق يوضع فيه ، يستطيع الاعضاء انزاله ، وهو لا يخالف قوانين المنتدى (وقد لا يعرف الاعضاء انك لا ترضى بإستعماله بدون إذنك ، لأنك لم تذكر ذلك في مشاركتك) ، والواجب عمله في اي مشاركة ، هي ارفاق عيّنة من قاعدة بياناتك ، وفيها فقط الجزئية التي تحتاج النظر فيها ، وبأقل قدر من البيانات. والآن الى حل موضوعك: رجاء اعطائي الروابط التي بها مرفقاتك (التي ارفقتها انت في الموضوع) والتي تريد حذفها. جعفر
  11. وعليكم السلام تفضل: me.New_Date= DateAdd("d",[Number of Days]-1,DateSerial(Year(Date()),Month(Date()),1)) اي التاريخ= DateAdd("d",[عدد ايام الحضور]-1,DateSerial(Year(Date()),Month(Date()),1)) جعفر
  12. جيد في الحدث Current ، اوقف كل الحدث ، ومجرد جرب msgbox "OK"
  13. بدل الفاصلة ، استخدم الفاصلة المنقوطة نظام الكمبيوتر عندي انجليزي فيستخدم الفاصلة ، بينما النظم العربية تحتاج الفاصلة المنقوطة جعفر
  14. عليكم السلام اولا تغير Private الى Public حتى تستطيع بقية كائنات الاكسس رؤيتها ، public Sub Form_Current() ثم تستعمل الكود التالي عند مناداة ذلك الحدث: Form_Forme_Fatora. وسيعطيك الاكسس جميع الخيارات التي تستطيع التحكم فيها لذلك النموذج ثم سترى Form_Current() ليصبح الكود عندك Form_Forme_Fatora.Form_Current() . جعفر
  15. وعليكم السلام الكود يجب ان يكون <> Date() - 1 او <>DateDiff("d",-1,Date()) جعفر
  16. وتغيير اخير ، إضافة عرض الحقول بغير بيانات ، الى الحقول التي بها بيانات ، وبهذه الطريقة الحقول دائما تملئ عرض التقرير عمل التجربة في تقرير جديد: . . جعفر 783.عرض تقرير.zip
  17. وعليكم السلام قام اخي @Shivan Rekany بالرد على نفس السؤال هنا: جعفر
  18. عذرا رجاء حذف حدث الحقل ، فقد كنت استعمله للتجربة ونسيت ان احذفه جعفر
  19. السلام عليكم رجاء متابعة عمل الاستعلام CrossTab في اول مشاركة اعلاه، الان نريد التقرير ان يكون الى سنة 2020 مثلا ، فلاحظ اننا اضفنا هذه السنوات في عمود السنوات Yeaa ، والذي هو "مسمى للعمود" Column Heading : . على اساسه ، نرى ان الاستعلام اعطانا اعمدة للسنوات التي اردناها ، والسنه اللي ما فيها قيمة ، تركها فاضية (وهو المطلوب): . طلبت من الاكسس يعمل تقرير من الاستعلام ، ونرى ان الاستعلام هو مصدر بيانات التقرير: . لاحظ طريقة تسميتنا لكائن التسمية ، وقمنا بهذا العمل لتسهيل عمل الكود: . ثم استعملنا هذا الكود ، ليجعل عرض الحقول = 0 ، للسنوات التي لا يوجد بها قيمة ، ويخفيها كذلك: Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) Dim ctrl As Control Dim A As Integer For Each ctrl In Me.Controls If ctrl.ControlType = acTextBox And IsNumeric(ctrl.Name) Then A = DCount("*", "Table1", "[Yeaa]=" & Val(ctrl.Name)) 'Debug.Print "A " & A & "-" & ctrl.Name If A = 0 Then ctrl.Width = 0 ctrl.Visible = False Me("Label_" & ctrl.Name).Width = 0 Me("Label_" & ctrl.Name).Visible = False Else ctrl.Width = 1 * 1440 ctrl.Visible = True Me("Label_" & ctrl.Name).Width = 1 * 1440 Me("Label_" & ctrl.Name).Visible = True End If End If Next End Sub . وهذه هي النتيجة ، اعطانا التقرير السنوات التي بها قيمة فقط: . وللتجربة ، اضفنا قيمة لسنة 2018 . فكانت نتيجة التقرير ، وهو المطلوب: . ولكن لم يعجبني تنسيق التقرير المائل لليسار ، فأردت ان اجعله في وسط الصفحة ، بغض النظر عن بيانات السنوات ، فأضفت حقل فاضي وكائن تسمية ، شفافي الخلفية والاطراف ، وغير مضمن: . وعليه ، تغير الكود ليقوم بتوسعة هذين الحقلين المطاطين ، فاصبح: Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) Dim ctrl As Control Dim A As Integer Dim Empty_Cells As Integer Empty_Cells = 0 For Each ctrl In Me.Controls If ctrl.ControlType = acTextBox And IsNumeric(ctrl.Name) Then A = DCount("*", "Table1", "[Yeaa]=" & Val(ctrl.Name)) 'Debug.Print "A " & A & "-" & ctrl.Name If A = 0 Then ctrl.Width = 0 ctrl.Visible = False Me("Label_" & ctrl.Name).Width = 0 Me("Label_" & ctrl.Name).Visible = False Empty_Cells = Empty_Cells + 1 Else ctrl.Width = 1 * 1440 ctrl.Visible = True Me("Label_" & ctrl.Name).Width = 1 * 1440 Me("Label_" & ctrl.Name).Visible = True End If End If Next Me.Empty_Space.Width = (1 * 1440 * Empty_Cells) / 2 Me.Label_Empty_Space.Width = Me.Empty_Space.Width End Sub . وهذا التقرير بالتنسيق الجديد ، وبدون 2018 . وعند اضافة 2018 في بيانات الجدول ، نلاحظ ان التقرير اخذ تنسيقه الصحيح في وسط الصفحة كذلك: . فإقتراحي ان تجرب احجام الحقول (العرض المستخدم في هذا البرنامج هو 1 بوصة) والخط بما يتناسب في التقرير ، ثم تدخل في الاستعلام السنوات المستقبلية ، ويكون التقرير جاهز لكذا سنة في المستقبل ، الى ان تقوم بعمل تحديث للبرنامج ، وتحذف السنوات القديمة ، وتستبدلها بسنوات مستقبلية جديدة جعفر 783.عرض تقرير.accdb.zip
  20. مرفقك كان فيه مشكلة!! الآن عند استعمال + و - ، يجب ان تكون في حقل التاريخ جعفر 785..accdb.zip
  21. حياك الله
  22. زر الصفحة لأعلى وزر الصفحة لأسفل ، هذه الازرار محجوزة للأكسس ، فأنا غيرت لك الكود علشان تستعمل السهم الاعلى والسهم الاسفل ، بدل الازرار اعلاه: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 'KeyCode = 33 vbKeyPageUp PAGE UP key 'KeyCode = 34 vbKeyPageDown PAGE DOWN key 'KeyCode = 107 vbKeyAdd PLUS SIGN (+) key 'KeyCode = 109 vbKeySubtract MINUS SIGN (-) key 'KeyCode = 38 vbKeyUp UP ARROW key 'KeyCode = 40 vbKeyDown DOWN ARROW key If KeyCode = 107 Then tim = tim + 0.041666 ElseIf KeyCode = 109 Then tim = tim - 0.041666 'ElseIf KeyCode = 33 Then ElseIf KeyCode = 38 Then tim = tim + 1 'ElseIf KeyCode = 34 Then ElseIf KeyCode = 40 Then tim = tim - 1 End If End Sub
  23. 1. اذن الكود الذي ارفقته يعمل!! 2. رجاء ارفاق صورة من رسالة الخطأ. جعفر
×
×
  • اضف...

Important Information