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

أبو إبراهيم الغامدي

أوفيسنا
  • Posts

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

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

  • Days Won

    13

كل منشورات العضو أبو إبراهيم الغامدي

  1. قمت بتصوير الشاشة قبل أن تضغط ٍ Start Demo.. هذا كل مافي الأمر
  2. مكتابات Windows API لا تحتاج إلى تسجيل! ووضعها في المجلد System أو System32 إنما هو وضع افتراضي تنظيمي.. يمكنك وضعخا في أي موضع والإشارة إلى ذلك الموضع عند الاعلان عنها. شيء طبيعي لأنه ليس لها نظام يحكمها.. هذا يتوقف عليك أنت!
  3. السلام عليكم جميعا لا أعتقد أنك بحاجة إلى التعديل لنظام 64 بت.. على كل حال لعل المثال الذي تعمل عليه فيه بعض النقص.. عندي نسخة أعتقد إنها نظيفة ضمنتها نموذج Notification من مشاركة سابقة لي.. بدون ترتيب جربه من فضلك systray.zip
  4. السلام عليكم جميعاً.. متابع بشغف.. في انتظار المنتج النهائي.. قريباً إن شاء الله الاستاذ جعفر أرجو أن تضع هنا نسخة قاعدة البيانات التي أشرت إليها متضمنةً للتعديلات الجديدة
  5. وعليكم السلام ورحمة الله وبركاته @ابو زاهر ربِ أسألك أن تشفي زاهراً..و أن تعظم أجر والديه بصبرهما.. آمين مشاركة جيدة جداً... فكرة البرامج واضحة.. لكن التفاصيل فيها بعض التشويش استخدمت نمط التززين.. الآسيوي في الواجهة.. و الأمريكي في شاشة الدخول,, والأوربي في الباقي تقريا.. تكرار استخدام التصميم الواحد لأكثر منغرض؛ ليس سيئا.. لكن السيء أن يعاد نسخ التصميم بقدر تلك الأغراض. استخدم الجداول مباشرة في النماذج الفرعية بدلا من النماذج الجدولية إذا كنت تحرص على استخدامها.. الأصدارين الأخيرين من أوفس توفر أحداثا للجداول.. استفد منها إلى مستقبل زاهر بإذن الله
  6. وعليكم السلام @عبد الله قدور نعم بالإمكان.. والقاعدة التي أرقتها بالمثال تتضمن جداول إذا كانت الحماية على مستوى قاعدة البيانات فإن أكسس يحثك على إدخالها.. أما إذا كانت على مستوى محرر الشفرة فإن أكسس يتجاهلها! الشفرة التاليه هي أخصر شفرة للإضافة والحذف.. الأولى للإضافة والثانية للحذف Public Sub addRef() On Error Resume Next Application.VBE.ActiveVBProject.References.AddFromFile "C:\Program Files\Microsoft Office\Office11\MSO11.DLL" End Sub Public Sub removeRef() Dim ref As Object On Error Resume Next Set ref = Application.VBE.ActiveVBProject.References("Office") Application.VBE.ActiveVBProject.References.Remove ref End Sub
  7. للأسف لم اتشرف بالاطلاع على هذه المشاركة إلا الآن... فاتني الكثير!
  8. الاستفادة تكون بالتالي.. إمكانية التعديل على النرجع بدون الحاجة إلى الوصول إلى المستخدم في حال كان المرجع على الخادم.. دمج أكثر من قاعدة بيانات لاستخدامها في مكان واحد كأن يكون هناك قاعدة بيانات للمخزون وأخرى للموظفين وأخري للأرشفة.. وهكذا
  9. كانت Northwind مثالا فقط، ضع أي قاعدة بيانات تريد وبقدر ما تشاء.. الجميل هنا أنه بإمكانك دمج أكثر من قاعدة بيانات واحدة لتعمل جميعها وبشكل مدمج في قاعدة بيانات واحدة... في الحقيقة لم أجرب ذلك.. لكن لا أعتقد أن لذلك أثر على قاعدة البيانات.. نظم (32،64) لها أثر على بيئة التشغيل فقط.
  10. السلام عليكم جميعا.. لا يخفى على شريف علمكم أهمية المكتبات المرجعة في تطوير وتحسين قواعد بيانات أكسس، ومن المستحيل جداً أن تجد قاعدة بيانات بدون مكتبة مرجعة ما؛ سواءً كانت افتراضية أو مضافة من قبل المطور. .. لكن ما أعتقد أن بعضنا يجهله هو ما هية تلك المكتبات وكيفية ربطها والاستفادة منها.. والمكتبات المرجعية هي عبارة عن وظائف عامة Public Functions قائمة بذاتها أو مدرجة ضمن أصناف Classes، تم برمجتها لتستخدم على نطاق واسع. يمكن الوصول إلى المكتبات المتوفرة في ويندوز عن طريق مربع الحوار الخاص بإضافة المكتبات، أو عن طريق الشفرة عبر الإعلان عن متغير من نوع References، وما يميز هذا الأخير هو أنه يمكنك من تحديد مسار المكتبة وفحصه برمجيا؛ وبالتالي تصيد الخطأ ومعالجة.. << من الخطأ الشائع اعتقاد البعض أن ملفات المكتبات المرجعية يجب أن تكون ضمن مجلد نظام ويندوز System32 Folder! وهذا غير صحيح.. لكن ويندوز يقوم بوضعها هناك أفتراضياً؛ لسهولة الوصول والمشاركة بين التطبيقات، ولتقليل تكرار الملفات وخفض مساحة التخزين >> >> أكسس مكتبة مرجعية.. > عند إضافة قاعدة بيانات أكسس كمكتبة مرجعية يقوم أكسس << بدمج >> قاعدة البيانات الرئيسية بقاعدة البيانات المرجع لتصبح قاعدة بيانات واحدة.. > يمكن إضافة قاعدة بيانات أكسس كمكتبة مرجعية بجميع إمتدادتها المعروفة (mda,mdb,mde;accda,accdb,accde). > يمكن أيضاً أن تحتوي قاعدة البيانات على نماذج، تقارير، وحدات نمطية.. > يمكن تشغيل النماذج والتقارير بعد تغليفها بوظائف عامة. ** تجربة المثال.. * قمت بإنشاء قاعدة بيانات خالية من كل شيء إلا من ميكرو الإقلاع Autoexec، ووظيفة معززة للإقلاع تحتوي هي أيضا على وظيفة تقوم بفتح نموذج يحتوي على قائمة سرد بها أسماء النماذج في قاعدة بيانات المرجع. * قاعدة بيانات المرجع هي NorthWind 2007 * أضفت في هذه القاعدة وحدة نمطية أنشأت بها بعض الوظائف ومنها وظيفة إقلاع النموذج الذي سبق الإشارة إليه.. إليكم المثال Adding DataBase As Reference.zip
  11. مبارك عليك أخي شيفان.. حضورك في المنتدى أكبر من هذا اللقب.. وهو لا يطال قامتك..
  12. بارك الله فيك أخوي جعفر وفي جميع أخواننا أعضاء المنتدى.. أول.. أصيب وأخطي.. عادي.. عضو جديد مشاركات ماوفت أربعين في راحة بال ومستانس بالأخوان على العموم كل شيء بقدر.. والله يقدر ما فيه الخير لي ولأخواني الأعزاء.... محبكم أبو إبراهيم
  13. هذا الملف المعدل من قبلي.. جربه Warehouses_System_up.zip
  14. أشكرك أخي @أبو عبدالله الحلوانى على تهنئتك لي وأتمنى أن أكون عند حسن ظنكم جميعا. لا فرق سوى تبعية النموذج للوظيفة! ونحن في الأصل عرفنا المتغير ptInputResult على أنه عام وبناءً عليه يمكنك الوصول إلى المتغير من أي مكان دون الرجوع الوظيفة.. لكن انفكت التبعية هنا.. والإشكالية هنا فنية برمجية بمعنى أن هذا الاسلوب غير مقبول برمجيا. لكون الوظائف (Functions) لا تعيد إلا قيمة واحدة فقط.. ولا تعيد قيمة متعددة إلا إذا أعلنت عنها أنها من نوع (Type)! هذا هو السبب! ومع هذا كله يمكن إعادة استخدام النموذج وملؤه بالبيانات بطريقة أبينها لك وللأخ @sandanet يمكن أن تكون الطريقة بالنسبة للبعض أفضل من الوظيفة! إليكم الطريقة عن طريق محرر الشفرة افتح وحدة نمطية جديدة وسمها ما شئت (mdlForms)، ثم قم باضافة الشفرة التالية Dim UF As New Form_USysInputBox Sub UserDlg() On Error Resume Next '-- تعبئة البيانات متسلسة UF.Caption = "صلاحية الدخول" UF.lblPrompt.Caption = "فضلا أدخل اسم المستخدم وكلمة المرور" UF.lblInputOne.Caption = "اسم المستخدم" UF.lblInputTwo.Caption = "كلمة المرور" UF.OnClose = "=SetClose()" '-- اظهر النموذج UF.Visible = True '-- القيمة العائدة من مربع النص مباشرة Debug.Print UF.txtInputOne Debug.Print UF.txtInputTwo End Sub Function SetClose() Set UF = Nothing End Function
  15. افتح الاستعلام في عرض محرر SQL ثم قم بإزالة السطر المحمر فقط ويصلح الأمر SELECT Transaction.number, Transaction.name, Add_doc.Zdate, Transaction.Qty_in, issue_doc.Zdate, Transaction.Qty_out, Add_doc.Supplier, issue_doc.Customer FROM [Names] INNER JOIN (issue_doc RIGHT JOIN (Add_doc RIGHT JOIN [Transaction] ON Add_doc.Add_doc = Transaction.Add_doc) ON issue_doc.Issue_doc = Transaction.Issue_doc) ON Names.Number = Transaction.number GROUP BY Transaction.number, Transaction.name, Add_doc.Zdate, Transaction.Qty_in, issue_doc.Zdate, Transaction.Qty_out, Add_doc.Supplier, issue_doc.Customer HAVING (((Add_doc.Zdate)>=[forms]![ddd]![t1] And (Add_doc.Zdate)<=[forms]![ddd]![t2])) ORDER BY Transaction.number DESC , Transaction.name DESC , Add_doc.Zdate DESC , Transaction.Qty_in DESC , Transaction.Qty_out DESC , issue_doc.Customer DESC;
  16. تفسير هذا النص يعني أنك لا يمكن استخدام DoCmd.Openform مباشرة لفتح النموذج ولاكن من داخل الوظيفة.. أما استخدامه كواجهة رئيسية فهذا راجع لك!
  17. لأنه تابع للوظيفة UInpuBox .. بمعني أن هذه الوظيفة هي المسئولة عن إقلاع النموذج، وهي التي تزوده بالمعطيات (عناوين الحقول النصية، رسالة الحث، عنوان النموذج) .. النموذج بدون الوظيفة خالي من هذه المعطيات! وسبب إنشاء هذه الوظيفة هو لإعادة كتابة المعطيات بما يتلائم مع البيانات الراجعة من الوظيفة.. وهذه صور النموذج باستخدام الوظيفة وبدونها
  18. لا بأس.. في الحقبقة ليس هناك كبير فائدة من تعريف النموذج كنظام.. وإنما هو اسلوب اتبعه في أكسس. أما لماذا ؟ فلأن هذا النموذج مصمم للاستخدام (كتابع).. ولا يمكن استخدامه مباشرة. وأما الناحية الفنية من هذا الاسلوب.. فهو ينبه المستخدم ذو الصلاحيات الموسعة إلى أن هناك أشياء تتبع النظام يجب صيانتها من العبث! ولهذا يقوم أكسس بالتعامل معها على هذا الأساس.
  19. وأنا كذلك أشكرك وأشكر جميع أعضاء المنتدى الذين اتسعت صدورة لقبول مشاركاتي ومداخلاتي.. وأتمنى أن أكون عضوا نافعا قدر الإمكان.. أما ما يتعلق بمجال صفحات HTML.. أو قل استخدام مكون مستعرض ويب وإمكانية استخدامة في تصميم واجهات أكسس فسوف أقوم بوضع مشاركة بسيطة في القريب العاجل أبين فيها بعض المفاهيم المتعلقة بهذا الموضوع... ولا يزال الوقت مبكرا للتركيز على هذا المجال حتي من ميكروسوف!
  20. نعم.. هذا هو الحل السهل والمناسب .. وهو طريقتي أيضا عندما أقوم بإنشاء وظائف ترجع قيمة متعددة.. هناك طريقة أخرى مكلفة بعض الشيء لكنها مرتبة ودقيقة تستخدم في وظائف برمجة واجهة تطبيق وندوز (API) الطريقة مطبقة في هذا المثال CustomInputBox2.zip
  21. في نظري تظل القيمة الراجعة من الإدخال إشكالا .. ومع هذا إليكم هذه التجربة ودعونا نناقش الإشكال سويا. هذه صيغة الوظيفة Sub CustomInputBoxExample() Dim A A = UInputBox("الهوية", "الاسم", "اكتب البيانات المطلوبة", "تجربة") Debug.Print A End Sub وهذه هي التجربة CustomInputBox.zip
  22. أقترح عليك استخدام المؤقت Timer لقياس الأداء أجريت بعض التعديلات .. FullYearDatesH.accdb.zip
×
×
  • اضف...

Important Information