بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
2,361 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
85
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
قاعدة بيانات استلام وتعزيز وتسديد صندوق القرضة الحسنة
Foksh replied to العبيدي رعد's topic in قسم الأكسيس Access
بداية المشروع عندك أعتقد أنها غير سليمة لنقاط عديدة :- في جدول الموظف لديه 3 علاقات مع جداول مختلفة للحقول التالية :- karz = رقم الموظف person = اسم الموظف gehat = القسم التابع له الموظف والصحيح هو ان تقوم بربط رقم الموظف فقط كمفتاح أساسي مع جميع الجداول التي تريد ربط السجلات فيها برقم الموظف . -
أخي @Ahmed_J ، هذه تجربتي بالنقطة الأولى . أعلمني إن كانت النتيجة توافق طلبك . والثانية للنظر فيها بعد اتمام المطلب الأول * ملاحظة :- اضطررت لتغيير المسميات من العربية الى مسميات انجليزية ( متأملاً منك الإهتمام بهذه النقطة في مشاريعك مستقبلاً للوصول إلى نتيجة أفضل وأدق ) Test-2.accdb
-
قاعدة بيانات استلام وتعزيز وتسديد صندوق القرضة الحسنة
Foksh replied to العبيدي رعد's topic in قسم الأكسيس Access
أخي الكريم @العبيدي رعد ، انت تريد انشاء مشروع من البداية ؟؟؟؟ وقد اختصرته بسطرين !!!!!!!! -
العفو استاذي الكبير @Moosak ، هذا التحمس بداية شهر رمضان والحمد لله . أشكرك مرورك الجميل وملاحظتك اذا انت تعينت اليوم تبي تحفظ الرقم من أول يوم وظيفة , وتقول عني نشيط ههههههههه كرت الموظف سيكون كفيل بهذه المهمة ، ولا تريد أحد يختم عنك حضور خخخخخخخخ تم إصلاح الخطأ بإذن الله
-
كود لالغاء صندوق الرساله اثناء الطباعه او تصدير PDF
Foksh replied to hosslom's topic in قسم الأكسيس Access
هل جربت استخدام الكود التالي لإيقاف الرسائل التحذيرية:- DoCmd.SetWarnings False -
اعادة ربط الجداول فى قاعدة بيانات مقسمة(كود الاعادة موجود)
Foksh replied to الحلبي's topic in قسم الأكسيس Access
هل الجداول المرتبطة هي نفسها الجداول الموجودة في قاعدة بيانات الجداول ولا تختلف عنها بجدول زائد أو ناقص 🤔 ؟؟ لأنه في حال عدم التطابق فلن يتم إتمام عملية الربط بشكل سليم 🙄 . وجهة نظر قابلة لعدم الصواب -
زادك الله من علمه ونفعك به أستاذنا ومعلمنا @ابوخليل ، وأشكر مرورك الجميل . وكتوضيح لقراء الموضوع :- على سبيل المثال ان المسؤول قام بتحديد بداية الدوام الساعة 08:00 AM ونهاية العمل الساعة 04:00 PM ، وقام بتحديد مدة 10 دقائق ليتم بعدها احتساب التأخير ، وأيضاً قام بتحديد عدد 2 تأخير ليتم بعدها احتساب الثالث كيوم إجازة . وجاء الموظف الأول وسجل حضور 08:09 AM فلن يتم احتسابه كيوم تأخير حتى لو تكرر . ولو تم تسجيل الحضور الساعة 08:15 AM فسيتم احتسابه تأخيراً مع ظهور كم مرة تأخر هذا الموظف خلال الشهر . وفي حال تكرار التأخير مرتين والثالثة سيتم احتساب له يوم إجازة عند تسجيله الإنصراف . وطبعاً لن يتم تسجيل الحضور والإنصراف للموظف أكثر من مرة في اليوم الواحد . وسيتم توسيع الفكرة لتشمل المغادرة والعودة خلال نفس اليوم ( وقت الدوام ) .
-
السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) لكثرة الطلبات على برنامج إدارة الحضور والإنصراف للموظفين ، وددت مشاركتكم النسخة الأولى الغير مفتوحة المصدر حالياً ، لحين الإنتهاء من التعديلات التي ستتم على البرنامج . دون الإطالة في المقدمة ؛ سأشرح لكم بعض ميزات البرنامج :- أولاً سيتم إضافة الإعدادات الضرورية للبرنامج وهي :- تصنيف الموظفين ( ولكل تصنيف سيتم تحديد عدد أيام الإجازات السنوية له ) . تصنيف الإجازات ( طارئة ، مرضية ، ..... إلخ ) . تحديد وقت بداية ونهاية ساعات العمل الرسمي ، و تحديد مدة السماح للتأخير ( المرونة في العمل ) ، تحديد عدد مرات التأخير ليتم احتساب يوم إجازة في اليوم الأخير من المدة . ثانياً ومن الطبيعي وجود موظفين في قاعدة البيانات ، سيكون قسم لإدخال بيانات الموظفين بشكل بسيط من المعلومات ( ولكم حرية التوسع حسب رغبتكم وحاجتكم كمستخدمين ) ، وطبعاً لكل موظف رقم وظيفي خاص به اعتمد على سلسلة مكونة من التاريخ والوقت الحالي بدون مسافات بهذا التنسيق YYYYMMDDhhmmss ، بحيث لا يكون هناك تكرار نهائي لأي رقم موظف . ثالثاً لوحة تسجيل الحضور والإنصراف عن طريق الرقم الوظيفي ، وتدعم القراءة من الباركود الموجود على باجة الموظف ( طبعاً لاحقاً سيتم إضافة طباعة باجة أو بطاقة للموظف ) ، وفي هذه اللوحة لن تحتاج تحديد الحالة ( حضور أو إنصراف ) فقط أدخل رقم الموظف وسيتم احتساب وقت الحضور وتسجيل مدة التأخير بالدقيقة في الجدول ، وكذلك الأمر للإنصراف . رابعاً لوحة تسجيل الإجازات ، وطبعاً بناءً على المعطيات التي تم إدخالها في نماذج البيانات الأساسية في الإعدادات - سيكون الأمر بسيطاً جداً وتم اعتماد رقم الموظف في المرحلة الأولى من البرنامج وسيتم اعتماد اسم الموظف أيضاً لجلب البيانات لاحقاً . بخطوات بسيطة بعد ادخال رقم الموظف نحدد تاريخ بداية الإجازة ، ثم عدد الأيام المطلوبة كإجازة ، ثم سيتم تلقائياً احتساب يوم نهاية الإجازة ، وطبعاً نوع الإجازة المطلوبة ستقوم باختياره من قائمة نوع الإجازة . خامساً لوحة التقارير ، بحيث سيكون لدينا في المشروع تقرير واحد فقط لكنه سيخدم جميع الطرق التي تريدها كمستخدم ( تقرير للموظفين جميعاً مع وبدون تحديد فترة ، تقرير لموظف واحد مع وبدون تحديد فترة ) . *وطبعاً ما زالت قيد التطوير بشكل خاص ملاحظة:- تم حفظ البرنامج بصيغة Accde كونه قيد التطوير والتعديل حالياً اقترب عيد المسلمين مودعين به شهرهم الفضيل أعاده الله علينا وعليكم باليمن والبركات . وتقبل الله منا ومنكم الطاعات وصالح الأعمال . وسأختم به آخر تعديل على هذا المشروع البسيط ؛ متمنياً أن يكون على قدر الجهد المبذول فيه . وأعتذر بداية عن التأخير في انهاء العمل عليه ، ولكن لضيق الوقت ليس إلا . اليوم انهيت تأسيس الأساسيات في برنامج إدارة الحضور والإنصراف الذي يعمل بنظام بصمة الـ QR . وسأذكر بالتفصيل البسيط ما تم إضافته . الإضافات في النماذج :- ربط قارىء QR يعمل عن طريق الـ USB أو عن طريق الجوال بالنظام . دعم كامل لللغة العربية في قراءة رمز الإستجابة السريعة QR . اعتماد اسم الموظف بالإضافة الى رمز الـ QR . نظام التنبيه لضبط الإعدادات الرئيسية في البرنامج عند تشغيله أول مرة . إحصاء لعدد الموظفين ، الحضور ( على رأس عملهم ) ، المجازين ، المغادرات خلال اليوم . ترحيل بيانات الإجازات والمغادرات والحضور بشكل شهري ( بداية كل شهر ) . الإضافات في الأكواد :- تمت مراجعة جميع الأكواد من أي خطأ محتمل في التنظيم أو آلية العمل . تم إضافة فكرة تثبيت برنامج الربط Barcode2Win من خلال الأكواد ، وفي حال عدم وجوده يتم تحميله من الموقع الرسمي ( يتطلب انترنت ) . تم دمج العديد من الإستعلامات في الأكواد لتقليل مكونات وعناصر النظام وتخفيف العبئ عليه . تم تقسيم العديد من الوظائف لسهولة التعامل معها وصيانتها . تم إضافة نموذج لإعادة تهيئة النظام وتفريغ محتوياته ( الجداول ) ، طبعاً باسوورد تأكيد العملية مدمج في أكواد النموذج . العديد من المميزات التي ستجدونها في المشروع
-
كود لطباعه جميع ملفات PDF في مجلد خارجي بضغطه زر واحده
Foksh replied to hosslom's topic in قسم الأكسيس Access
اذاً لا داعي للتعديل الأخير فضلاً.. لا تنسَ إغلاق الموضوع باختيار أفضل إجابة 😀 -
كود لطباعه جميع ملفات PDF في مجلد خارجي بضغطه زر واحده
Foksh replied to hosslom's topic in قسم الأكسيس Access
تم التعديل. جرب هكذا Sub PrintAllPDFsInFolder() Dim objFSO As Object Dim objFolder As Object Dim objFile As Object Dim strFolderPath As String strFolderPath = CurrentProject.Path & "\Pdf_File\" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(strFolderPath) For Each objFile In objFolder.Files If Right(objFile.Name, 4) = ".pdf" Then ShellExecute 0, "Print", objFile.Path, vbNullString, vbNullString, 0 End If Next objFile Set objFSO = Nothing Set objFolder = Nothing Set objFile = Nothing End Sub -
اعادة ربط الجداول فى قاعدة بيانات مقسمة(كود الاعادة موجود)
Foksh replied to الحلبي's topic in قسم الأكسيس Access
للأسف لم أطلع لاني استخدم الجوال ، ولكني اضطررت لنسخ ملفات مكتبتي إلى الجوال ( سابقاً ) للإستفادة منها متى اضطررت ، ولكني على يقين أن المرفق الذي ارفقتي في مشاركتي الأخيرة لن يزيد عن فكرتك شيء 🤗 -
كود لطباعه جميع ملفات PDF في مجلد خارجي بضغطه زر واحده
Foksh replied to hosslom's topic in قسم الأكسيس Access
على افتراض أن اسم المجلد هو Pdf_File ، جرب هذا الكود:- Sub PrintAllPDFsInFolder() Dim objFSO As Object Dim objFolder As Object Dim objFile As Object Dim strFolderPath As String strFolderPath = CurrentProject.Path & "\Pdf_File\" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(strFolderPath) For Each objFile In objFolder.Files If Right(objFile.Name, 4) = ".pdf" Then ShellExecute 0, "Print", objFile.Path, 0, 0, SW_HIDE End If Next objFile Set objFSO = Nothing Set objFolder = Nothing Set objFile = Nothing End Sub في الزر الذي تريده ، في حدث عند النقر ، استدع الدالة بهذا الأمر :- PrintAllPDFsInFolder وأخبرنا بالنتيجة 😊 -
اعادة ربط الجداول فى قاعدة بيانات مقسمة(كود الاعادة موجود)
Foksh replied to الحلبي's topic in قسم الأكسيس Access
مساهمة في هذا الحديث ، جرب هذا المرفق 😅 ، عله يكون العلاج . في النموذج في حدث عند التحميل انقل الكود الى نموذج البداية في مشروعك . واخبرنا بالنتيجة 😊 * ملاحظة:- الجدول المرتبط هو جدول من قاعدة بياناتي كمثال ، في مشروعك قم باستيراد الجداول من قاعدة بيانات الجداول لديك ، وتأكد من المكتبة التي تسمح للكود بفتح صندوق اختيار الملف ( مايكروسوفت اوفيس 14 أو حسب الإصدار في أوفيس لديك وأعتقد أن لديك اوفيس 2010 ) ReLink.accdb -
اظهار رسالة بعد اكتمال السجل بقيمة المحتوى لحقل معين
Foksh replied to Abdelaziz Osman's topic in قسم الأكسيس Access
مداخلة جانبية مع معلمي الفاضل @ابوخليل . جرب هذا الكود Private Sub Form_AfterUpdate() Dim recordId As Long Dim allFieldsFilled As Boolean allFieldsFilled = True ' قم بفحص ملء كل الحقول Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then ' التأكد من أن الحقل هو حقل نصي If IsNull(ctl.Value) Then allFieldsFilled = False Exit For ' توقف الفحص عندما يتم العثور على حقل غير ممتلئ End If End If Next ctl ' إذا كانت جميع الحقول ممتلئة، قم بعرض رسالة بمحتوى الحقل Id If allFieldsFilled Then recordId = Me.ActiveControl.Value ' استخدم الحقل النشط حاليًا MsgBox "تم إنشاء السجل برقم: " & recordId End If End Sub واعلامنا بالنتيجة 😊 -
ومشاركة مع معلمنا الجليل @ابوخليل جرب هذا الكود أيضاً لتحقيق الهدف. Dim fullName As String Dim firstName As String Dim lastName As String Dim nameParts() As String Dim i As Integer Dim j As Integer Dim middleName As String ' افتراضًا أن القيمة المطلوبة موجودة في حقل النموذج المسمى "FullName" fullName = Me.FullName.Value ' تقسيم الاسم الكامل إلى أجزاء باستخدام الفاصلة كفاصل nameParts = Split(fullName, " ") ' الاسم الأول هو الجزء الأول من الاسم الكامل firstName = nameParts(0) ' الاسم الأخير هو الجزء الأخير من الاسم الكامل lastName = nameParts(UBound(nameParts)) For i = 1 To UBound(nameParts) - 1 ' الاسم الوسيط يتكون من الأجزاء بين الاسم الأول والاسم الأخير middleName = "" For j = 1 To UBound(nameParts) - 1 If j = i Then Continue For End If middleName = middleName & " " & nameParts(j) Next j Debug.Print firstName & " " & Trim(middleName) & " " & lastName Next i جرب هذا الكود واخبرنا بالنتيجة 😊
-
في حدث بعد التحديث لمربع النص Prog Private Sub prog_AfterUpdate() If Me.prog.Value Like "*plan*" Then Me.cast.Value = "complete" End If End Sub جرب الكود واخبرنا بالنتيجة 😊
- 1 reply
-
- 2
-
كان المقصد الحقول ، ولكن خطأ مطبعي من التصحيح التلقائي في الكيبورد 😅
-
@@@@@مساعدة في فتح جداول مقسمة على شبكة داخلية @@@@
Foksh replied to nabil2255's topic in قسم الأكسيس Access
من التبويب أدوات قاعدة البيانات Database Tools اضغط على مدير الجداول المرتبطة Linked Table Manager ستظهر لك قائمة بالجداول المرتبطة. حدد جميع الجداول المرتبطة التي ترغب في إلغاء التقسيم لها. انقر على زر موافق لإلغاء تقسيم الجداول. أو اضغط زر الماوس اليمين على احد الجداول المرتبطة واختر Linked Table Manager وقم بتحديد جميع الجداول ثم موافق لإستعادتها من قاعدة بيانات الجداول. -
بناءً على ما تقدم به أستاذنا @أبوبسمله ، أعتقد ان الصارة النافعة التي تتحدث عنها هي بسبب فتح النموذج بشرط تصفية على سجل محدد . والثانية هذا أمر طبيعي كون النموذج لا يعرض البيانات التي اختفت في نموذج فرعي .
-
جزاكم الله كل خير أستاذ @kkhalifa1960 مبدع ومتميز 🤗
-
لا تعجب من عدم وجود ردود اخي الكريم ،، في فكرتك ارفق ملف لتتوضح الفكرة أكثر 🤗
-
هل النموذج الرئيسي Maximize ؟
-
لحذف السجلات الفارغة من الجداول :- قم بانشاء استعلام حذف واختر الجدول المستهدف ، ثم اختر الحقول ، وحدد الشرط Is Null في الحقول .
-
يا سلاااام عليك وعلى مفرداتك معلمنا الكبير