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

ابو جودي

أوفيسنا
  • Posts

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

  • Days Won

    202

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

  1. يا استاذ @abanob khairy اتمنى اكون فهمتك صح ومشاركة مع اساتذتى الافاضل الكرام اتفضل جرب المرفق الاتى الحاق(2).accdb
  2. اولا وقبل كل شئ اسأل الله تعالى لوالدكم و والدى وكل المسلين الرحمة والمغفرة وان يحعل الله قبورهم روضة من الجنة يارب العالمين واسأل الله تعالى لوالدتكم و والدتى الحبيبة وكل مريض الشفاء من الله عزوجل وان يرزقكم ويرزقنى وكل المسلمين بر ابائنا وامهاتنا يارب العالمين ثانيا انت نسيت تقول كلمة المرور ومش عارف اجرب يا سلام لو كانت سهلا مثلا 12345 عشان اعرف اجرب
  3. الشرح والمرفق اولا سوف استخدم نموذج غير منضم لادراج البيانات الى الجدول وسوف اقوم بعمل وحدة نمطية واقوم بإضافة الكود الاتى Public Function ClearControls(ByRef Frm As Access.Form) On Error GoTo errClear Dim ctr As Access.Control For Each ctr In Frm.Controls If ctr.Tag = "ctrClear" Then ctr.Value = Null Next ctr Exit Function errClear: MsgBox Err.Number & " " & Err.Description & " in Clear Controls" Resume Next End Function وظيفة الكود الدوران على جميع عناصر التحكم فى النموذج ليقوم بتغيير القيم الى Null وطبعا لانى لو اردت استخدامه على عناصر محدده دون أخرى أو استخدامه فى نماذج اخرى منضمه لن أحدد نوع عناصر التحكم فى الكود ولكن سوف استخدم وظيفة التاج على عناصر التحكم يعنى سوف يقوم الكود بالدوران على جميع عناصر التحكم فى النموذج ليغير قيمها الى Null عند تحقق الشرط وجود كلمة ctrClear فى خاصية التاج على عناصر التحكم مثل الصورة الاتية طبعا يتم استخدام هذا الكود باستدعاءه عند الضغط على زر جديد كالتالى Call ClearControls(Me) والان عند الضغط على زرحفظ نريد منه عند تحقق الشرط بعدم وجود تسجيل لنفس الموظف فى دورة جديدة فى حالة تسجيل نفس الموظف فى دورة أخرى ضمن تاريخ انعقاد الدورتان اى لابد ان تنتهى أى دروة سابقة وكذلك لن يمكن تسجيل تاريخ اقل من أو يساوى تاريخ اى دورة انتهت يكون الكود بالشكل الاتى عند التحقق من التاريخ لو النتيجة المطلوبة صحيحه يتم حفظ البيانات فى الجدول من خلال اضافة البيانات عن طريف الـ Recordset Dim db As DAO.Database: Dim rs As DAO.Recordset: Dim strMsg As String: Dim strTitle As String Dim dtmMaxStartDate As Date: Dim dtmMaxEndDate As Date: Dim dtmNewDate As Date dtmNewDate = Me.txtCstart dtmMaxStartDate = DMax("[Cstart]", "courses", "[num] =" & Me.txtNo) dtmMaxEndDate = DMax("[Cend]", "courses", "[num] =" & Me.txtNo) strMsg = ChrW(32) & ChrW(1607) & ChrW(1606) & ChrW(1575) & ChrW(1603) & ChrW(32) & ChrW(1583) & ChrW(1608) & ChrW(1585) & ChrW(32) & ChrW(1605) & ChrW(1606) & ChrW(1593) & _ ChrW(1602) & ChrW(1583) & ChrW(1577) & ChrW(32) & ChrW(1576) & ChrW(1575) & ChrW(1604) & ChrW(1601) & ChrW(1593) & ChrW(1604) & ChrW(32) & ChrW(1601) & ChrW(1609) & _ ChrW(32) & ChrW(1606) & ChrW(1591) & ChrW(1575) & ChrW(1602) & ChrW(32) & ChrW(1578) & ChrW(1575) & ChrW(1585) & ChrW(1610) & ChrW(1582) & ChrW(32) & ChrW(1575) & _ ChrW(1604) & ChrW(1583) & ChrW(1608) & ChrW(1585) & ChrW(1577) & ChrW(32) & ChrW(1575) & ChrW(1604) & ChrW(1580) & ChrW(1583) & ChrW(1610) & ChrW(1583) & ChrW(1577) & _ ChrW(32) & ChrW(1604) & ChrW(1607) & ChrW(1584) & ChrW(1575) & ChrW(32) & ChrW(1575) & ChrW(1604) & ChrW(1605) & ChrW(1608) & ChrW(1592) & ChrW(1601) & ChrW(13) & _ ChrW(10) & ChrW(1604) & ChrW(1606) & ChrW(32) & ChrW(1610) & ChrW(1578) & ChrW(1605) & ChrW(32) & ChrW(1578) & ChrW(1587) & ChrW(1580) & ChrW(1610) & ChrW(1604) & _ ChrW(32) & ChrW(1576) & ChrW(1610) & ChrW(1575) & ChrW(1606) & ChrW(1575) & ChrW(1578) & ChrW(32) & ChrW(1607) & ChrW(1584) & ChrW(1575) & ChrW(32) & ChrW(1575) & _ ChrW(1604) & ChrW(1605) & ChrW(1608) & ChrW(1592) & ChrW(1601) & ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & ChrW(1571) & ChrW(1608) & ChrW(32) & ChrW(1571) & _ ChrW(1606) & ChrW(1603) & ChrW(32) & ChrW(1578) & ChrW(1581) & ChrW(1575) & ChrW(1608) & ChrW(1604) & ChrW(32) & ChrW(1578) & ChrW(1587) & ChrW(1580) & _ ChrW(1610) & ChrW(1604) & ChrW(32) & ChrW(1578) & ChrW(1575) & ChrW(1585) & ChrW(1610) & ChrW(1582) & ChrW(32) & ChrW(1594) & ChrW(1610) & ChrW(1585) & _ ChrW(32) & ChrW(1589) & ChrW(1581) & ChrW(1610) & ChrW(1581) strTitle = ChrW(1600) & ChrW(1600) & ChrW(1600) & ChrW(1600) & ChrW(1600) & ChrW(1600) & ChrW(1607) & ChrW(124) & ChrW(67) & ChrW(97) & ChrW(117) & ChrW(116) & ChrW(105) & ChrW(111) & ChrW(110) & ChrW(124) & ChrW(1578) & ChrW(1606) & ChrW(1576) & ChrW(1610) & ChrW(1600) & ChrW(1600) & ChrW(1600) If (dtmNewDate >= dtmMaxStartDate) And (dtmNewDate <= dtmMaxEndDate) Then: MsgBox strMsg, vbOKOnly + vbMsgBoxRight, strTitle: Exit Sub Set db = CurrentDb Set rs = db.OpenRecordset("courses", dbOpenDynaset) With rs .AddNew !num = txtNo !namee = txtName !Cname = txtCname !Cstart = txtCstart !Cend = txtCend .Update End With Set rs = Nothing Set db = Nothing واخيرا المرفق دورات (3) .accdb
  4. وبصراحة لأنى كنت فى عجلة من أمرى وقت وضع الاجابة والتى لا تملئنى بكل الرضا لذلك لم اهتم بوضع القاعدة بالتطبيق سوف اقوم الان بعمل الالية التى لو كنت مكانك لاستخدمتها على الفور
  5. فى مربع النص الخاص بكتابة تاريخ بدء الدورة استخدم الكود الاتى قبل التحديث Dim mxDate As Date mxDate = DMax("[Cend]", "courses", "[num] =" & Me.رقم_الموظف & "") If Me.بداية_الدورة <= mxDate Then Cancel = True: Me.Undo: MsgBox "nooooooooooo"
  6. تقدر تعمل تقرير بالصور وتصدير التقرير الى PDF طبعا كلما كانت الدقة عالية كانت سرعة السحب منخفضة ووجب التنويه الى شئ لو حدث تعليق للتطبيق الوسيط استخدم الكود الاتى
  7. هذا ما اتعلمه انا وكل طلاب العلم منكم ومن باقى اساتذتى الكرام جزاكم الله عنا كل خيــــــــر
  8. وعليكم السلام ورحمة الله تعالى وبركاته طيب فكرتى المتواضعة لو اعجبتك سوف أقوم بعمل بعض التعديلات اللازمة لاضفاء مرونة اكثر BASEB (Judy).accdb
  9. اتفضل Show Report On Form.accdb
  10. كما أخبر أخونا الحبيب وانت خير من تعلم يا استاذى القدير ومعلمى الجليل @kkhalifa1960 اننا تعلمنا من اساتذتنا الكرام فى هذا الصرح كما عهدناهم تقديم العون والمساعدة واثراء المشاركات بمختلف الافكار والاجابات التى تعد زخرا لكل ماض و آت بكل حب وكرم وجود والاهم لا يريد ولا ينتظر أحد جزاءً أو شكورا .. هى لله املين من المولى عزوجل القبول ولم اعهدكم هكذا من قبل استاذى الجليل اسأل الله تعالى لى ولكم العفو و العافية و راحة البال و صلاح الحال و سعة الصدر و لباس العافية و حسن الخاتمة احبكم فى الله
  11. استاذى الجليل و معلمى القدير و والدى الحبيب ادامكم الله فوق رؤسنا وبارك لنا فيكم ورزقكم الله تعالى البركة فى العمر والعلم والعمل والاهل والولد كلماتكم هذه وسام على صدرى
  12. برجاء القاء نظرة سريعة على الموضوع الاتى
  13. الزتونه يفضل تنصيب الأوفيس كاملا وإن كان ولابد فيكتفى بتنصيب الأكسس فقط دون باقى حزمة تطبيقات مايكروسوفت أوفيس وهذا هو الأفضل حيث يجنبك الكثير من العوائق مستقبلابسبب عدم وجود الاكسس
  14. طيب UCanAccess هو تطبيق Java JDBC Driver خالص يسمح لمطوري Java وبرامج عملاء JDBC بقراءة/كتابة ملفات قاعدة بيانات Microsoft Access (.mdb و.accdb). لا حاجة إلى ODBC. Features Supported Access formats: 2000, 2003, 2007, 2010 SELECT, INSERT, UPDATE, DELETE statements. Transactions and savepoints Access data types: YESNO, BYTE, INTEGER, LONG, SINGLE, DOUBLE, NUMERIC, CURRENCY, COUNTER, TEXT, OLE, MEMO, GUID, DATETIME Concurrent access from multiple users (i.e., multiple application server threads) Connection pooling ANSI 92 SQL, core SQL-2008 MS Access SQL Main Access functions implementation You can execute select queries defined and saved in Access Criteria in LIKE clause Access date format (e.g., #11/22/2003 10:42:58 PM#) Both double quote " and single quote ' as SQL string delimeters Command Line Console. You can run SQL commands and display their results. CSV export command أما access runtime لا يمكن تعديل تصميم الجداول والاستعلامات والنماذج والتقارير على جهاز لا يحتوي على Access كاملاً ولكن بوجود access runtime يتم من خلاله تشغيل قاعدة البيانات فقط بدون وضع التصميم access runtime لابد ان يتم تحميله حسب الاصدار الذي تحتاجه تبعا للاصدار الذى تم تصميم قاعدة البيانات عليه والنواة الخاصة بها كذلك يعنى مش أى access runtime ينفع مع كل قواعد البيانات
  15. هههههههههه دا شكل القاعدة اللى لسه بنتكلم عنها هتشتغل اهون ومثل ما بينحكى مصائب قوم عند قوم فوائد
  16. جزانا الله واياكم خير الجزاء الحمد لله تعالى الذى هدانا وما كنا لنهتدى لولا ان هدانا الله عزوجل ، الحمد لله الذى تتم بنعمته الصالحات
  17. طيب فى موضوع هنا ممكن يكون مفيد و بصراحة مش فاضى اشوف الفيديو الان بس حبيت اضع الرد اثراء للموضوع
  18. طيب فى هذه الحالة يجب ولابد وحتما من عدم فقدان الملفات الخاصة بالمراجع والمكتبات اذن لابد من حملها داخل القاعدة ووضعها فى مسار محدد و ثابت للارتباط بها من هذا المسار ان شاء الله لى عودة فى المرحلة المتقدمة بحمل المكتبات ان كان فى العمر بقيه نظرا لضيق وقتى حاليا ويمكنك كذلك مراجعة تطبيق الفاتورة الاليكترونية فيه الية حمل ووضع المكتبات والارتباط بها اذا دعت الحاجة لذلك
  19. اتفضل يا افندم قاعدة بياانات الاحتفاظ بتصدير المراجع و المكتبات وكذلك استرجاع المراجع والمكتبات يرجى مراجعتنا بعد التجربة للتأكد ان شاء الله تقريبا بنسبة كبيرة جدا جدا تتعدى الـ 100% سوف تفلح Reference Management.accdb
  20. وهذا رابط الموضوع الذى استخدمت فيه فكرة حمل المراجع والمكتبات واعادة ربطها اليا يمكنكم النظر الى الاكواد وتتبعها ان كنتم فى عجله من امركم الى ان انتهى من الاعداد والتأكد بالتجربة قبل الرجوع اليكم هنا وايضا هنا المهم انك بعد التجربة بأوفيس 2019 تعيد فتح نفس القاعدة التى قمت بفتحها على اوفيس 2019 لترى ان كانت ستعمل مرة أخرى عند فتحها على 2010 او 2013 ام ان المكتبات سوف تسبب تلك المشكلة
  21. سؤال رااااائع جدا جدا جدا جدا وفى محلة ولكن قبل اى شئ لا اعلم النتيجة تلك الفكرة استخدمتها بالفعل عند تصميم قاعدة بيانات الفاتورة الالكترونية لاننى اعتمدت على مكتبة جافا فى كتابة وقراءة الباركود ولكن هناك مراجع ومكتبات ضمن نظام التشغيل لم اقم بتجربة عمل ذلك عليها ولكن تم ذلك بنجاح منقطع النظير فى التعامل مع المراجع والمكتبات الخارجية دعنى اقوم بالتجربة اولا حتى اكون على تمام اليقين من المعلومة عند تقديمها ابشر ان شاء الله
  22. نعم المكتبات المرهونة بإصدار الاوفيس عند اضافتها على اصدار اوفيس ومع فتح القاعدة باصدار أعلى من اللإصدار الذى تم التصميم واضافة المكتبات يتم تحديث خذخ المكتبات تبعا للاصدار الجديد والأحدث طيب أين المشكلة عند فتح نفس القاعدة بإصدار اوفيس أقل فى الاصدار من أخر اصدار أوفيس تم فتح القاعدة به المكتبات يمكن أن يحدث لها Upgrade ولكن ابدا لن يحدث لها downgrade للتبسيط اكثر تم اصدار قاعدة بيانات اكسس 2000 عند محاولة فتح القاعدة على اكسس 2003 تعمل بنجاح ولو تم فتح نفس القاعدة على اكسس 2007 تعمل ايضا بنجاح ولكن عند محاولة فتح نفس القاعدة على اكسس 2000 أو اكسس 2003 لن تعمل وستتوقف المكتبة عن العمل وسوف تحصل على Missing References لاى نوع من المكتبات التى تعتمد على اصدار الاوفيس طبعا هذه تمثل مشكلة كبيرة جدا فى استخدام القاعدة على شبكة محلية عند اختلاف نسخ الاوفيس طبعا وللاهمية هذا كما اشرت مسبقا للمكتبات المرهونة برقم اصدار الاوفيس الربط المسبق Early Binding: 1. ان تختار مكتبة الاكسل (طبعا لهذا المثال) ، 2. ثم الكود يكون شيء من هذا القبيل: Dim oExcel As Excel.Application Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True والمشكلة هنا ، انه اذا اخترت مكتبة اكسل الاقل (مثلا اكسل 😎 ، فأي كمبيوتر يحتوي على اكسل 8 او اكبر (9 ..12..15) فالمكتبة/البرنامج سوف يشتغل بطريقة صحيحه ، بينما اذا كان عندك اكسل 6 ، فستحصل على خطأ ، ولن يعمل الكود الميزة في هذه الطريقة انها اسرع في العمل ، والاهم من هذا ، انها تساعدك في اعطائك الاوامر (مثلا تكتب امر معين ثم تكتب نقطة . فتظهر لك الاوامر التي تستطيع استعمالها). اما اذا استعملنا الربط المتأخر Late Binding فإننا لا نحتاج الى اختيار مكتبة الاكسل ، ونكتب الكود اعلاه هكذا ، والذي يشتغل على جميع اصدارات الاكسل: Dim oExcel As Object Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True المشكلة هنا ، اننا يجب ان نعتمد على انفسنا لعمل الكود ، فالاكسس لن يساعدنا ، وهو ابطأ نوعا ما ونسبيا من الطريقة الاولى
×
×
  • اضف...

Important Information