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

كوماندير

03 عضو مميز
  • Posts

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

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

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

  1. اشكرك اخي الفاضل جعفر وجدت الرابط http://allenbrowne.com/ser-36.html ولكن في الحقيقة لم استوعب الكثير منه فهلا تفضل احد جهابذة المنتدى بالتفصيل ؟
  2. السلام عليكم ورحمة الله وبركاته اعزائي الاعضاء الكرام مساكم الله بالخير تمهيد : لدي برنامج يحتوي العديد من الجداول التي تحتوي حقولاً من نوع تاريخ / وقت (Date/Time) ، والقيمة الافتراضية لهذه الحقول هو اما Date() او Time() السؤال : كيف اجعل التاريخ المخزن فيها يكون باحد الشكلين اما : (dd/mm/yyyy ) او (dd/ mmmm/ yyyy ) حسب ما احدد في النموذج او التقرير ، ويكون التاريخ المعتمد لهذه الحقول هو التاريخ الميلادي ، وتكون تسميات الاشهر التسميات الانجليزية بغض النظر عن اعدادات جهازي من النواحي التالية : 1)- لوكانت المنطقة او الدولة لجهازي هي دولة لاتعتمد التاريخ الميلادي كتاريخ رسمي مثلاً نفترض ان المنطقة الزمنية لجهازي هي السعودية التي تعتمد التقويم الهجري. 2)- و / او لوكان تنسيق التاريخ لجهازي هو التنسيق mm/dd/yyyy او yyyy/mm/dd او اي تنسيق غير التنسيق dd/mm/yyyy
  3. اشكرك اخي ع التفاعل واشكرك ع الرد اعتقد انه من الصعوبة ان يدخل المستخدم ل مدير المهام عند الحاجة. طريقتي هي لعمل جسر عبور لتجنب الاخطاء. ارجو الافادة.
  4. السلام عليكم ورحمة الله وبركاته بسبب الانطفاء الغير متوقع للجهاز لاي سبب ، اريد عمل قاعدة بيانات نسميها مثلاً ReSetDb وظيفة هذه البرنامج هو البحث عن اي ملف بصيغة laccdb ( locked access database ) وحذف هذه الملفات ثم فتح قاعدة البيانات AlqemmaDb واغلاق قاعدة البيانات ReSetDb تفاصيل اكثر : بعد العديد من التجارب، اذا حدث لاي سبب انطفاء للجهاز والبرنامج AlqemmaDb.accdb مفتوحا فان ملف AlqemmaDb.laccdb يبقى متاحاً وعند تشغيل الجهاز مرة اخرى وفتح البرنامج AlqemmaDb.accdb مرة ثانية في وجود الملف AlqemmaDb.laccdb تحدث اخطاء. وللتخلص من ذلك قررت عمل برنامج اكسس اخر اسميته ReSetDb المطلوب من الاخير البحث عن اي ملف ينتهي بالامتداد laccdb وحذفه ثم فتح قاعدة البيانات AlqemmaDb.accdb المطلوب : اريد مساعدة في عمل كود يبحث عن اي ملف. Laccdb وحذفه نهائيا من الجهاز ثم فتح برنامج AlqemmaDb.accdb
  5. اخي الكريم انا استخدم اكسس 2007 ولم تعمل معي هذه النسخه تظهر لي رسالة لم يتم التعرف على تنسيق قاعدة البيانات. هلا تفضلت وارفقت لي نسخة تعمل ع الاصدار 2007 شاكرا ومقدرا مجهودك.
  6. نفس المشكلة اخي الفاضل لايمكن التعرف على تنسيق قاعدة البيانات
  7. للأسف الشديد ظهرت رسالة لايمكن التعرف على تنسيق قاعدة البيانات
  8. السلام عليكم ورحمة الله وبركاته اعزائي الكرام اريد كود لعمل نسخة احتياطية من قاعدة البيانات الحالية ولكن بالشروط التالية : (1)- قاعدة البيانات الحالية اسمها LabDbV1 (2)- اريد عمل نسخة احتياطية يومياً بحيث يكون اسم النسخة الاحتياطية الجديدة مثلاً لهذا اليوم يكون الاسم الحالي + تاريخ اليوم مثلاً: LabDbV1_29_06_2019 وهكذا (3)- اذا كانت قاعدة البيانات الحالية مدمجة ( جداول وبقية الكائنات مع بعض ) فاريد النسخة الاحتياطية للجداول والعلاقات فقط. وان كانت مقسمة فيتم سؤال المستخدم اول مرة يفتح فيها قاعدة البيانات ليحدد ويختار موقع القاعدة الخاصة بالجداول. (4)- ان يتم عمل النسخ الاحتياطية في مجلد جديد يكون ع القرص D واسمه MyLabDbBackup اذا كان هذا المجلد موجوداً والا يتم انشاءه. (5)- تجنباً ومنعاً لامتلاء القرص الصلب ان يتم حذف كل النسخ الاحتياطية السابقة والاحتفاظ بآءخر عشر نسخ احتياطية (اكرر آءخر عشر نسخ احتياطية وليست للعشر الايام الاخيرة ) . وقبل ذلك يتم حذف جميع النسخ من المجلد MyLabDbBackup . (6)- ان يتم حفظ النسخة الاحتياطية بصيغة accdb حتى لو كانت الحالية بصيغة accde ارجو ان يكون طلبي واضحاً .
  9. شكرا جزيلا اخي ابو ابراهيم الغامدي اشكرك كثيرا على بذل وقتك وجهدك ثانية .... الكود الذي تفضلت سيادتك بالتعديل عمل جيدا ... ( كما هو متوقع بالطبع .... ) بالنسبة لكلامك عن الاشياء التي تقول ان الوظيفة لاتدعمها ... ( حسب مافهمت من كلامك انها الاستعلامات الاجرائية (استعلام الالحاق) .... ان كان هذا قصدك .) فقد استدعيت الوظيفه تحت حدث النقرنقرتين لمربع القائمة آنف الذكر كالتالي : If LTDYS(Me.OrderDate, Me.Parent.PtName) = True Then Cancel = True Exit Sub Else Cancel = False DoCmd.SetWarnings False DoCmd.OpenQuery "Q3" DoCmd.SetWarnings True Me!OrdDetSubFrm.Form.Requery Me.ListOne.Requery End If وكانت النتيجة كما كنت ارجوها . Solved
  10. الاعزاء الكرام للاهمية وبما ان الرسالة لاتظهر جيدا لانها باللغة العربية فقد قمت بتحويل الرسالة الى الانجليزية : عندي ثلاثة نماذج : MainFrm وبداخله OrdersSubFrm وبداخله OrdDetSubFrm المشكله لدي هي :اريد رساله تنبه المستخدم عند محاولته تغيير اي من بيانات الثلاثة النماذج بعد مرور ثلاثة ايام من تاريخ اليوم الحالي . طبعا في كل الاكواد استخدم الحقل OrderDate الموجود بالنموذج الفرعي OrdersSubFrm ومقارنته بتاريخ اليوم . ولكن لانني مضطر لاعادة كتابة الكود في كل نموذح (قبل التحديث ) اريد انشاء كود وحيد ويتم استدعائه في كل النماذج . الكود نفسه تقريبا مكرر بنفس النماذج ماعدا السطر : 'In MainFrm MyDate = DateSerial(Year(Me!OrdersSubFrm.Form!OrderDate), Month(Me!OrdersSubFrm.Form!OrderDate),Day(Me!OrdersSubFrm.Form!OrderDate)) 'in the OrdersSubFrm (sub form): MyDate = DateSerial(Year(Me!OrderDate), Month(Me!OrderDate), Day(Me!OrderDate)) ' in the OrdDetSubFrm (sub sub form) : MyDate = DateSerial(Year(Me.Parent!OrderDate), Month(Me.Parent!OrderDate), Day(Me.Parent!OrderDate)) لدي الكود التالي تحت حدث قبل التحديث للنموذج MainFrm Dim MyDate Dim LValue As Integer Dim MnthCnt As String MyDate = DateSerial(Year(Me!OrdersSubFrm.Form!OrderDate), Month(Me!OrdersSubFrm.Form!OrderDate), Day(Me!OrdersSubFrm.Form!OrderDate)) LValue = DateDiff("d", MyDate, Date) If LValue < 10 Then MnthCnt = "day" Else MnthCnt = "days" End If If LValue >= 3 Then If MsgBox("Dear user It has been " & " ( " & LValue & " ) " & MnthCnt & vbCrLf & _ " from the date of this visit for patient:" & "" & Me.PtName & vbCrLf & _ "Do you want to change the information of this patient, to confirm the changes Choose Yes, to cancel select No. ", vbInformation + vbMsgBoxRtlReading + vbMsgBoxRight + vbYesNo, " Change Confirmation " & " " & Me.Parent!PtName) = vbYes Then Cancel = False Else Cancel = True DoCmd.RunCommand acCmdUndo End If End If End If والكود التالي في OrdersSubFrm (sub form) Dim MyDate Dim LValue As Integer Dim MnthCnt As String MyDate = DateSerial(Year(Me!OrderDate), Month(Me!OrderDate), Day(Me!OrderDate)) LValue = DateDiff("d", MyDate, Date) If LValue < 10 Then MnthCnt = "day" Else MnthCnt = "days" End If If LValue >= 3 Then If MsgBox("Dear user It has been " & " ( " & LValue & " ) " & MnthCnt & vbCrLf & _ " from the date of this visit for patient:" & "" & Me.Parent.PtName & vbCrLf & _ " Do you want to change the information of this patient, to confirm the changes Choose Yes, to cancel select No. ", vbInformation + vbMsgBoxRtlReading + vbMsgBoxRight + vbYesNo, " Change Confirmation " & " " & Me.Parent!PtName) = vbYes Then Then Cancel = False Else Cancel = True DoCmd.RunCommand acCmdUndo End If End If والكود التالي في OrdDetSubFrm (sub sub form) Dim MyDate Dim LValue As Integer Dim MnthCnt As String MyDate = DateSerial(Year(Me.Parent!OrderDate), Month(Me.Parent!OrderDate), Day(Me.Parent!OrderDate)) LValue = DateDiff("d", MyDate, Date) If LValue < 10 Then MnthCnt = "day" Else MnthCnt = "days" End If If LValue >= 3 Then If MsgBox("Dear user It has been " & " ( " & LValue & " ) " & MnthCnt & vbCrLf & _ " from the date of this visit for patient:" & " " & Me.Parent.Parent!PtName & vbCrLf & _ " Do you want to change the information of this patient, to confirm the changes Choose Yes, to cancel select No. ", vbInformation + vbMsgBoxRtlReading + vbMsgBoxRight + vbYesNo, " Change Confirmation " & " " & Me.Parent!PtName) = vbYes Then Cancel = False Else Cancel = True DoCmd.RunCommand acCmdUndo End If End If ولدي مربع قائمة في النموذج :OrdersSubFrm (sub form) عند النقر مرتين على اي عنصر من عناصره يقوم بتنفيذ استعلام الحاق . وهذا الكود المستخدم فيه : Dim MyDate Dim LValue As Integer Dim MnthCnt As String MyDate = DateSerial(Year(Me!OrderDate), Month(Me!OrderDate), Day(Me!OrderDate)) LValue = DateDiff("d", MyDate, Date) If LValue < 10 Then MnthCnt = "day" Else MnthCnt = "days" End If If LValue >= 3 Then If MsgBox("Dear user It has been" & " ( " & LValue & " ) " & MnthCnt & vbCrLf & _ "from the date of this visit for this patient :" & "" & Me.Parent.PtName & vbCrLf & _ "Do you want to change the information of this patient, to confirm the changes Choose Yes, to cancel select No. ", vbInformation + vbMsgBoxRtlReading + vbMsgBoxRight + vbYesNo, " Change Confirmation " & " " & Me.Parent!PtName) = vbYes Then Cancel = False DoCmd.SetWarnings False DoCmd.OpenQuery "Q4" DoCmd.SetWarnings True Me!OrdDetSubFrm.Form.Requery Else Cancel = True End If Else DoCmd.SetWarnings False DoCmd.OpenQuery "Q4" DoCmd.SetWarnings True Me!OrdDetSubFrm.Form.Requery End If ارجو مساعدتي في تنفيذ function or sub للقيام بعمل كل هذه الاكواد .
  11. السلام عليكم ورحمة الله وبركاته الافاضل الكرام حياكم الله هل لي ان اعرف : ماهو الفرق بين (set , dim , global , public , private) . ماهو الفرق بين (ByVal , ByRef). ماهو الفرق بين (Function , Sub) ماهو الفرق بين ( Class , module ) ارجو ان اجد شرحا وافيا ولو يكون مرفق بامثلة حتى تكتمل الفائدة يكون افضل .
  12. اخي هل ممكن اجعل كلمة سجل جديد بلون مخصص مثلا : سجل جديد مع الاخذ بعين الاعتبار ان اللون الخاص بمربع النص اسود وليس احمر ماعدا عندما يكون سجلا جديدا ماذا تضيف للتنسيق @;"سجل جديد" كي يصبح بالتنسق الملون ؟
  13. السلام عليكم ورحمة الله وبركاته الافاضل الكرام لدي ثلاثة نماذج : MainFrm وبداخله OrdersSubFrm وبداخله OrdDetSubFrm وكان لدي الكود التالي تحت حدث قبل التحديث للنموذج MainFrm if Me!OrdersSubFrm.Form.RecordsetClone.RecordCount > 0 Then Dim MyDate Dim LValue As Integer Dim MnthCnt As String MyDate = DateSerial(Year(Me!OrdersSubFrm.Form!OrderDate), Month(Me!OrdersSubFrm.Form!OrderDate), Day(Me!OrdersSubFrm.Form!OrderDate)) LValue = DateDiff("d", MyDate, Date) If LValue < 10 Then MnthCnt = "íæã" Else MnthCnt = "íæãÇð" End If If LValue >= 3 Then If MsgBox("ÚÒíÒí ÇáãÓÊÎÏã áÞÏ ãÖÊ ÃßËÑ ãä " & " ( " & LValue & " ) " & MnthCnt & vbCrLf & _ "ãä ÊÇÑíÎ åÐå ÇáÒíÇÑÉ ááãÑíÖ :" & "" & Me.PtName & vbCrLf & _ "åá ÊÑíÏ ÝÚáÇ ÇáÊÛííÑ Ýí ãÚáæãÇÊ åÐÇ ÇáãÑíÖ ÈÚÏ ãÖí åÐå ÇáÝÊÑå ... áÊÃßíÏ ÇáÊÛííÑ ÇÎÊÑ äÚã ¡ áÇáÛÇÁ ÇáÊÛííÑ ÇÎÊÑ áÇ", vbInformation + vbMsgBoxRtlReading + vbMsgBoxRight + vbYesNo, " ÊÃßíÏ ÊÚÏíá " & " " & Me.PtName) = vbYes Then Cancel = False Else Cancel = True DoCmd.RunCommand acCmdUndo End If End If End If والكود التالي تحت قبل التحديث للنموذج OrdersSubFrm Dim MyDate Dim LValue As Integer Dim MnthCnt As String MyDate = DateSerial(Year(Me!OrderDate), Month(Me!OrderDate), Day(Me!OrderDate)) LValue = DateDiff("d", MyDate, Date) If LValue < 10 Then MnthCnt = "íæã" Else MnthCnt = "íæãÇð" End If If LValue >= 3 Then If MsgBox("ÚÒíÒí ÇáãÓÊÎÏã áÞÏ ãÖÊ " & " ( " & LValue & " ) " & MnthCnt & vbCrLf & _ "ãä ÊÇÑíÎ åÐå ÇáÒíÇÑÉ ááãÑíÖ :" & "" & Me.Parent.PtName & vbCrLf & _ "åá ÊÑíÏ ÝÚáÇ ÇáÊÛííÑ Ýí ãÚáæãÇÊ åÐÇ ÇáãÑíÖ ÈÚÏ ãÖí åÐå ÇáÝÊÑå ... áÊÃßíÏ ÇáÊÛííÑ ÇÎÊÑ äÚã ¡ áÇáÛÇÁ ÇáÊÛííÑ ÇÎÊÑ áÇ", vbInformation + vbMsgBoxRtlReading + vbMsgBoxRight + vbYesNo, " ÊÃßíÏ ÊÚÏíá " & " " & Me.Parent!PtName) = vbYes Then Cancel = False Else Cancel = True DoCmd.RunCommand acCmdUndo End If End If والكود التالي تحت قبل التحديث للنموذج OrdDetSubFrm Dim MyDate Dim LValue As Integer Dim MnthCnt As String MyDate = DateSerial(Year(Me.Parent!OrderDate), Month(Me.Parent!OrderDate), Day(Me.Parent!OrderDate)) LValue = DateDiff("d", MyDate, Date) If LValue < 10 Then MnthCnt = "íæã" Else MnthCnt = "íæãÇð" End If If LValue >= 3 Then If MsgBox("ÚÒíÒí ÇáãÓÊÎÏã áÞÏ ãÖÊ " & " ( " & LValue & " ) " & MnthCnt & vbCrLf & _ "ãä ÊÇÑíÎ åÐå ÇáÒíÇÑÉ ááãÑíÖ :" & " " & Me.Parent.Parent!PtName & vbCrLf & _ "åá ÊÑíÏ ÝÚáÇ ÇáÊÛííÑ Ýí ãÚáæãÇÊ åÐÇ ÇáãÑíÖ ÈÚÏ ãÖí åÐå ÇáÝÊÑå ... áÊÃßíÏ ÇáÊÛííÑ ÇÎÊÑ äÚã ¡ áÇáÛÇÁ ÇáÊÛííÑ ÇÎÊÑ áÇ", vbInformation + vbMsgBoxRtlReading + vbMsgBoxRight + vbYesNo, " ÊÃßíÏ ÊÚÏíá " & " " & Me.Parent.Parent!PtName) = vbYes Then Cancel = False Else Cancel = True DoCmd.RunCommand acCmdUndo End If End If وبدلا من تكرار الكود قمت باءنشاء الوظيفة التالية ولكن لانها المحاولة الاولى لانشاء وظيفة فقد احببت رأيكم حتى لا اقع في اخطاء (برغم انها اشتغلت معي كما ارجو ): Option Compare Database Option Explicit Public Function LTDYS(LftDate As Date, MyPtNm As String) Dim MyDate Dim LValue As Integer Dim MnthCnt As String MyDate = DateSerial(Year(LftDate), Month(LftDate), Day(LftDate)) LValue = DateDiff("d", MyDate, Date) If LValue < 10 Then MnthCnt = "íæã" Else MnthCnt = "íæãÇð" End If If LValue >= 3 Then If MsgBox("ÚÒíÒí ÇáãÓÊÎÏã áÞÏ ãÖÊ ÃßËÑ ãä " & " ( " & LValue & " ) " & MnthCnt & vbCrLf & _ "ãä ÊÇÑíÎ åÐå ÇáÒíÇÑÉ ááãÑíÖ :" & "" & MyPtNm & vbCrLf & _ "åá ÊÑíÏ ÝÚáÇ ÇáÊÛííÑ Ýí ãÚáæãÇÊ åÐÇ ÇáãÑíÖ ÈÚÏ ãÖí åÐå ÇáÝÊÑå ... áÊÃßíÏ ÇáÊÛííÑ ÇÎÊÑ äÚã ¡ áÇáÛÇÁ ÇáÊÛííÑ ÇÎÊÑ áÇ", vbInformation + vbMsgBoxRtlReading + vbMsgBoxRight + vbYesNo, " ÊÃßíÏ ÊÚÏíá " & " " & MyPtNm) = vbNo Then ' MyCancel = False ' Else ' MyCancel = True DoCmd.RunCommand acCmdUndo Else Exit Function End If End If Exit Function End Function راجو افادتكم ووضع ملاحظاتكم .
  14. السلام عليكم ورحمة الله وبركاته الاعزاء الافاضل هل من طريقة تمكنني من عرض كلمة "سجل جديد" في حقل من نوع (رقم) في نموذج مستمر . كما في نوع الترقيم التلقائي ؟
  15. السلام عليكم ورحمة الله وبركاته الاخوة الافاضل : لدي قاعدة بيانات اضفت بكل جدول منها حقل AuditTrail لتسجل احداث التغييرات على بيانات الجدول . كما تعلمون اسماء الحقول في الجداول والنماذج باللغة الانجليزية كما يفترض . الكود الموجود بقاعدة البيانات يسجل كل التغييرات التي حدثت ويعطي اسم الحقل الذي حدثت له التعديلات (كما ستلاحظون بالمرفق ) عملت لكل حقل تسمية توضيحية باللغة العربية ( من اعدادت تصميم الجدول الخاصية تسمية توضيحية كل حقل ) . السؤال : كيف يمكن ان اجعل الكود يعيد لي التسمية التوضيحية للحقل بدلا عن اسم الحقل (الذي حدثت له تعديلات ) ، ليعرف المستخدم ماهو الحقل الذي تمت عليه التغييرات ( ذلك للتسهيل على المستخدم ، لانه في العادة تتم تسمية الحقول عن طريق رموز واسماء غير كاملة اضافة الى استبعاد الفراغات بين اسماء الحقول ) ارجو ان اكون وفقت في طرح سؤالي واليكم هذا المثال : MyAuditTrail.rar
  16. السلام عليكم ورحمة الله وبركاته بعد تصفحي للعديد من المواقع والمواضيع وجدت ان هذه الخاصية يجب ان تكون لا ، ماعدا حالات نادرة حسب http://allenbrowne.com/bug-09.html المشكلة : لدي مربع تحرير وسرد اريده يعيد قيمة احد الحقول (حقل نصي طبعا قمت بتغيير خاصية السماح بطول صفري الى لا له) من الاستعلام المصدر لمربع التحرير والسرد عبر الكود التالي الواقع في حدث بعد التحديث لمربع التحرير والسرد Me.NormalValue = Me.SerNo.Column(2) ولكن بعد التحديث لمربع التحرير والسرد اذا كانت قيمة Me.SerNo.Column(2) خاليه فانها تظهر لي الرسالة : لايمكن ان يكون الحقل NormalValue سلسة ذات طول صفري ماهو الحل العلمي الصحيح لذلك . على ان تبقى خاصية السماح بطول صفري للحقل NormalValue الى لا .؟
  17. هل لي ان اعرف لماذا اوقفت كود بعد التحديث لمربع تحرير وسرد العام في نموذج DatesFrm؟ لقد قمت بتشغيل الكود وعند ادراجي لايام عام كامل وانتقالي الى نموذج DatesNoFrm لاضافة ارقام ايام عام كامل ظهر لي نموذج الانتظار ولم يتم الحاق اي سجل الى جدول tblNumersOrder جرب تشغيل الكود الموقف وانظر النتيجة بنفسك ....
  18. لم الاحظ الا ايقافك لسطر do events وبصراحة لم الاحظ تغييرا في الاداء هل غيرت شئ غيره ؟؟؟؟
  19. اشكر تفاعلك كثيرا لاتوجد هناك اي معايير سوى العام الذي اختاره من مربع التحرير والسرد
  20. شكرا اخي ابو ابراهيم هلا ارشدتنا للنص السليم لشفرة الالحاق ؟
×
×
  • اضف...

Important Information