-
Posts
2166 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
55
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Moosak
-
شكرا لك أستاذنا القدير أبو أحمد 🙂 هذي الأكواد مهمة للحصول على الفترات المطلوبة في كثير من الأحيان .. لكن بالنسبة للأرباع مو الأفضل أنه يكون بداية كل ربع هو اليوم اللي يتلي الربع اللي قبله ؟ 🙂 يعني: الربع الثاني 1/4 الربع الثالث 1/7 الربع الرابع 1/10
-
وعليكم السلام ورحمة الله وبركاته 🙂 الأستاذ حمدي تم عمل المطلوب وتضبيط الكود حسب الطلب 🙂 انتبه إلى أني نقلت أمر الإرسال إلى الزر بدل أمر بعد التغيير للقائمة المنسدلة .. تجرية.mdb
-
تشغيل تبويب و تعطيل التبويبات المتبقية ؟
Moosak replied to بوكفوس عبدالسلام's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 🙂 من غير تنزيل المرفق .. يمكنك أن تفعل ذلك من خلال دوال التحقق من وجود بيانات في جداول ( الولايات والبلديات ) كدالة DCount مثلا .. يتم الفحص عند فتح النموذج الرئيسي .. فإذا كان الرقم الذي تحضره الدالة أكبر من صفر يتم تفعيل القوائم الأخرى .. وإذا كانت صفر فإنها لا تعمل .. هذه هي الفكرة .. جرب تطبيقها بنفسك حتى تثري معلوماتك 🙂 وتوجد لدي طريقة أستخدمها في برامجي عندما يكون لدي شيء أريد التحقق منه دائما في أماكن متفرقة في البرنامج .. هو تحويل عملية التحقق إلى دالة عامة Public Function من نوع (True/False) .. وهذا يسهل علي معرفة النتيجة بمجرد استدعاء اسم الدالة .. بدل تكرار الكواد عدة مرات .. وهذا مثال عليها (التحقق من وجود سجلات في جدول الولايات مثلا ) : Public Function WelayatIsThere() As Boolean If DCount("*", "[Welayat_Tbl]") > 0 Then WelayatIsThere = True Else WelayatIsThere = False End If End Function وبهذا للتأكد من وجود سجلات في جدول الولايات فقط أكتب اسم الدالة هكذا : WelayatIsThere ومباشرة ستجيبك الدالة بنعم أو لا (True/False) 🙂 وهذا مثال لطريقة كتابة الكود باستخدام الدالة السابقة : Me.ListBtn.Enabled = WelayatIsThere وهذه الطريقة تغنيك عن كتابة العديد من الأسطر حيث أن الدالة ترجع أحد القيمتين (True/False) عليها سيتم تمكين القائمة أو لا .. 🙂 -
هل من الممكن توسيط النص داخل مربع القائمة
Moosak replied to Elsayed A Eldiasty's topic in قسم الأكسيس Access
وهذه طريقة جعله يكتب من اليمين إلى اليسار لأستاذنا @jjafferr 🙂 -
خبير جديد تم اضافته لفريق عمل الموقع ، الاخ موسى @Moosak
Moosak replied to jjafferr's topic in قسم الأكسيس Access
شكرا لكم جميعاً ..فرداً فرداً..🌹🌷 ويسعدني ويشرفني أن أستمع إلى آرائكم ونصائحكم وتوجيهاتكم للرقي بالمنتدى.. طبعا تحت عناية إخواني المشرفين أيضاً 🙂🌹 -
حياك الله وبياك أخي طاهر 🙂 أصل هذا الموضوع هو عرض الدالة فقط .. وتوضيح فكرة كيفية حساب القيم النصية في الخلايا بشكل عرضي وليس طولي ( أي الخلايا الموجودة في السجل الواحد) ، وهو ليس برنامج متكامل لحساب الغياب والحضور وأعمال الموظفين ، ولكنها جزئية بسيطة يمكن لمن يحتاجها أن يطورها ويضيف عليها ما يحتاجه من تقارير وبيانات مختلفة 🙂 وأصل هذا الملف هو أيضا برنامج عملته لحساب الإنجازات في المشاريع المنجزة لكل موظف وحساب نسبة الإنجاز .. وسأرفقه لكم بإذن الله .. ولا يهمك 🌹🙂 وتكملة التصميم عليك 😄✌️
-
مساعدة في حفظ مسار ملف ( اضافة - فتح - حذف )
Moosak replied to ازهر عبد العزيز's topic in قسم الأكسيس Access
وعليكم السلام أخي أزهر 🙂 طلبط بسيط بإذن الله ، ولكن سأعرض عليك خدمات أكثر 😊 - هل تريد نقل الملف أيضا إلى مجلد بجانب قاعدة البيانات ؟ - وإضافة زر لفتح الملف .. ؟ - وزر آخر لحذفه ؟ إذا كانت إجابتك بنعم .. فسأرفق لك الأكواد .. أما إذا كنت فقط ستكتفي بالسؤال فهذا هو الكود الذي طلبته 🙂 : On Error GoTo ErrHandler Dim fd As Object Dim filedialogPath As String Set fd = Application.FileDialog(1) fd.AllowMultiSelect = False fd.Title = "حدد الملف المطلوب" fd.Filters.Clear fd.Filters.Add "كل الملفات", "*.*" If fd.Show = True Then 'Debug.Print fd.SelectedItems(1) Me.filesource = fd.SelectedItems(1) Else MsgBox "لم تقم باختيار أي ملف" Exit Sub End If ErrHandler: If Err.Number = 0 Then Exit Sub Else MsgBox "Error Number : " & Err.Number & " :::: " & Err.Description End If -
السلام عليكم ورحمة الله وبركاته .. في ليلة صافية والجو بين البارد والمعتدل .. وأنا أتصفح الفيس بوك .. لمحت سؤال لأحد الإخوة يطلب فيه طريقة لحساب عدد أيام الغياب والحضور للموظفين في نموذج مستمر .. فخطرت على بالي هذه الدالة الصغنونه الظريفة .. فوضعتها موضع التنفيذ مع نموذج دايناميكي لتقويم شهري كنت قد صممته سابقا مع سبق الترصد 😁 وقلت أضعه بين أيدي جنابكم لمن أراد أن يستفيد منه .. ولمن أراد أن ينفعنا بنصائحه الثمينة والسمينة 😅🖐🏼️ وهذه هي الدالة المستخدمة في عمودي مجموع الحضور والغياب : Public Function Count_Present_Absent(P_or_A As String) As Integer ' دالة لحساب عدد أيام الحضور وعدد أيام الغياب من تقويم مكون من 31 يوم ' By: Moosak 'P_or_A = Present or Absent ? وتعني أنت تريد حساب الحضور أم الغياب ' على أفتراض أن أسماء حقول الأيام هي على التوالي : Day1, Day2, Day3 ...... Dim x As Integer Dim Frm As Form: Set Frm = Screen.ActiveForm Dim PresentDays As Integer, AbsentDays As Integer Count_Present_Absent = 0 For x = 1 To 31 If Frm.Controls("Day" & x).Value Like "*ح*" Then ' حساب عدد أيام الحضور PresentDays = PresentDays + 1 ElseIf Frm.Controls("Day" & x).Value Like "*غ*" Then ' حساب عدد أيام الغياب AbsentDays = AbsentDays + 1 End If Next ' الدالة ترجع مجموع عدد أيام الحضور أو مجموع عدد أيام الغياب حسب الطلب If P_or_A = "P" Then Count_Present_Absent = PresentDays ElseIf P_or_A = "A" Then Count_Present_Absent = AbsentDays Else Set Frm = Nothing Exit Function End If Set Frm = Nothing End Function موضوع سريع وعلى الطاير قبل أن تتفلت المعلومات 😊🖐🏼️ تسجيل حضور وغياب الموظفين.accdb
-
وعليكم السلام ورحمة الله وبركاته أخي جمال 🙂 كجواب سريع ( لعدم وجود مرفق في مشاركتك ) .. من خصائص مربع السرد في التقرير > Data > ـ Bound Column إجعلها 2 بدل 1
-
تعديل مسار المرفقات عند نقل البرنامج مع الملفات
Moosak replied to HaniMoursi's topic in قسم الأكسيس Access
سأجيبك بمثال ومرفق : هكذا يتم حفظ الروابط في الجدول ( سواء كانت بمستوى واحد أو مستويين أو كما تشاء ) : ثم ننشيء استعلام للجدول الأصلي ونضيف فيه عمود وظيفته اكمال الروابط بإحضار مسار القاعدة وإضافته للمسار المحفوظ هكذا : وأنا أستخدم هذه الدالة لإحضار رابط قاعدة البيانات ( قاعدة الجداول ) سواء كانت مقسمة أو غير مقسمة : Public Function BECurrentPath() On Error GoTo ErrHandler Dim FullLinkedPath As String Dim LinkedDBPath As String FullLinkedPath = Nz(DLookup("Database", "MSysObjects", "Type=6"), "") If FullLinkedPath <> "" Then LinkedDBPath = Left(FullLinkedPath, InStrRev(FullLinkedPath, "\") - 1) BECurrentPath = LinkedDBPath & "\" Else BECurrentPath = CurrentProject.Path & "\" End If ErrHandler: If Err.Number = 0 Then Exit Function Else MsgBox "Error Number : " & Err.Number & " :::: " & Err.Description End Function Attachments.accdb -
تعديل مسار المرفقات عند نقل البرنامج مع الملفات
Moosak replied to HaniMoursi's topic in قسم الأكسيس Access
أي تعم بالضبط أستاذنا @ابوخليل .. 🙂 وأنا أقترح أن يكتبها في الاستعلام كعمود جديد للرابط كاملا .. أو مصدر بيانات العناصر في النموذج ( مربع نص غير منظم كمثال ) -
خبير جديد تم اضافته لفريق عمل الموقع ، الاخ موسى @Moosak
Moosak replied to jjafferr's topic in قسم الأكسيس Access
أنا والوقت .. كل واحد يركض على صوب 😅🖐🏼️ السمع والطاعة 🙂 -
خبير جديد تم اضافته لفريق عمل الموقع ، الاخ موسى @Moosak
Moosak replied to jjafferr's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 🙂 شكرا لتهانيكم وتبريكاتكم إخواني / آبائي / أساتذتي الأعزاء 🙂 🌹 يكفيني شرفاً ورفعة وجودي بينكم إخواني الأعزاء وما يزيدني هذا المنصب عنكم مقدار درجة ، فأنا منكم وإليكم والسلام عليكم 😅🖐🏼️ والشكر مرفوع للإدارة الكريمة ، والوالد والمهندس والأستاذ العزيز @jjafferr 🙂 نفعني الله بكم ، وأعاننا جميعا على حمل الأمانة 🌹🤲🏼 -
كلها شغالة وظاهرة معي أستاذي العزيز 🙂 فقط تنبيه بسيط وقمت بعمل تعديل بسيط على الكود : بعد التغيير من false الى true أو العكس إضغط مباشرة على Run ثم أعد التشغيل ويعمل معك بإذن الله ولمزيد فائدة أضفت للملف ماكرو جديد وظيفته أنه يمنع استخدام زر F11 واللي يقوم بإظهار الجداول والنماذج عندما تكون مخفية 🙂 أخي سامر جرب انسخ (نسخ / لصق) الماكرو والموديول اللي معاي عندك .. وإذا ما اشتغلت .. أرفق برنامجك علشان نشوف سبب المشكلة 🙂 AutoExec.accdb
-
أعد تشغيل البرنامج مرة أخرى .. لأن التشغيل الأول يحتاج لإعادة تشغيل البرنامج لكي يتم تطبيقها بشكل كامل .. ولن تحتاج لإعادة هذه الخطوة في كل مرة .. هي فقط المرة الأولى 🙂 وهذا مثال مرفق يوضح النتيجة وبه الكود والماكرو .. ولتعديل الماكرو ورؤية العناصر إفتح الملف بزر الـ Shift 🙂 << تم نقل المرفق للمشاركة التالية >> https://www.officena.net/ib/applications/core/interface/file/attachment.php?id=216275&key=be0665907152bc7f887f7580f9fc9983
-
تعديل مسار المرفقات عند نقل البرنامج مع الملفات
Moosak replied to HaniMoursi's topic in قسم الأكسيس Access
الأستاذ العزيز @ابوخليل جابلك الحل للقاعدة الحالية جزاه الله خيرا .. 🙂 وكمقترح وفكرة لحل هذه القضية .. لما تستورد أي ملف في قاعدة البيانات إحفظ في الجدول الجزء اللي بعد المجلد اللي فيه قاعدة البيانات فقط .. وخلي الكود يكمل لك مسارات الملفات .. وبهذي الطريقة ممكن تنقل البرنامج لأي جهاز ثاني بدون ما تتأثر البيانات في الجدول وما يحتاج تغيرها كل مرة تنقل البرنامج .. توضيح ومثال : مثلا هذا رابط الملف كاملا (مع العلم أن ملف قاعدة البيانات موجود في المجلد الذي باللون الأخضر ): D:\MoosaKDataBase\Files\Id_Folder_564\MyWordFile.docx إحفظ في الجدول الجزء الذي باللون الأحمر فقط : D:\MoosaKDataBase\Files\Id_Folder_564\MyWordFile.docx هكذا : Files\Id_Folder_564\MyWordFile.docx ولما تحتاج تستدعي الملف تخلي هاذا الكود يكمل لك الباقي : CurrentProject.path & "\" & a وسيكون الرابط مكتملا هكذا CurrentProject.path & "\" & Files\Id_Folder_564\MyWordFile.docx وظيفة الكود الذي باللون الأزرق هو إحضار رابط المجلد الذي فيه قاعدة البيانات أينما كانت .. ويتغير بتغير موقعها من جهاز إلى آخر .. وسلامتكم 😉🖐🏼️ -
وعليكم السلام ورحمة الله وبركاته 🙂 انسخ هذي الدالة عندك في موديول جديد : Public Function ShowHideRibbon(ShowRibbon As Boolean) On Error GoTo ErrHandler '*********************( إخفاء/إظهار الشريط العلوي وجميع النوافذ )************************** If ShowRibbon = False Then '--------------------------------(إخفاء الريبون والنفجيشن بان) DoCmd.ShowToolbar "Ribbon", acToolbarNo ' Hide Navigation Pane: DoCmd.NavigateTo ("acnavigationcategoryobjecttype") DoCmd.RunCommand (acCmdWindowHide) '--------------------------------(جميع تضبيطات تقفيل القاعدة وإخفاء القوائم ومنع الزر الأيمن والاختصارات) Application.SetOption "Show Status Bar", False CurrentDb.Properties("ShowDocumentTabs") = False Application.SetOption "Auto compact", True Application.SetOption "Remove Personal Information", False Application.SetOption "Themed Form Controls", False Application.SetOption "DesignWithData", False CurrentDb.Properties("AllowDatasheetSchema") = False Application.SetOption "CheckTruncatedNumFields", False CurrentDb.Properties("AllowFullMenus") = False CurrentDb.Properties("AllowShortcutMenus") = False ElseIf ShowRibbon = True Then '--------------------------------(إضهار الريبون والنفجيشن بان) DoCmd.ShowToolbar "Ribbon", acToolbarYes 'Unhide the navigation pane On Error Resume Next Call DoCmd.SelectObject(acTable, , True) Call DoCmd.SelectObject(acMacro, , True) Call DoCmd.SelectObject(acForm, , True) On Error GoTo ErrHandler '--------------------------------(فتح خصائص قاعدة البيانات وإظهار القوائم وتفعيل الزر الأيمن والاختصارات) Application.SetOption "Show Status Bar", True CurrentDb.Properties("ShowDocumentTabs") = True Application.SetOption "Auto compact", True Application.SetOption "Remove Personal Information", True Application.SetOption "Themed Form Controls", True Application.SetOption "DesignWithData", True CurrentDb.Properties("AllowDatasheetSchema") = True Application.SetOption "CheckTruncatedNumFields", True CurrentDb.Properties("AllowFullMenus") = True CurrentDb.Properties("AllowShortcutMenus") = True End If '--------------------------------------------------------------------------- ErrHandler: If Err.Number <> 0 Then MsgBox Err.Number & " \\\\\ " & Err.Description, , "Function: ShowHideRibbon" Resume Next Else Exit Function End If End Function هذي الدالة تخفي لك الشريط العلوي والجداول وجميع العناصر وغيرها .. بعدين أعمل ماكرو جديد واحفظة باسم Autoexec ( ضروري التسمية تكون نفسها بالحرف ) افتح الماكرو واعمل فيه أمر RunCode ونادي الدالة هكذا : =ShowHideRibbon(False) وإذا بغيت تغير رايك وتظهر الشريط العلوي وبقية العناصر تغير ال False إلى True ثم تشغل الماكرول بالضغط على RUN وبعدها تعيد تشغيل البرنامج .. << المرفق >> https://www.officena.net/ib/applications/core/interface/file/attachment.php?id=216275&key=be0665907152bc7f887f7580f9fc9983
-
أنصحك بال #C .. 😊👌🏼 والمنتدى موجود .. بس محتاج تفعيل حبتين https://www.officena.net/ib/forum/183-cnet/
-
اريد كود فى استعلام بديل لهذا الكود [Forms]![from1]![ID]
Moosak replied to حمدى الظابط's topic in قسم الأكسيس Access
أنا جالس 5 دقايق أدور الفرق وما لقيته 😂 شكله أنطلت علي خدعة الشياب 😁 -
بالنسبة للكود هو عبارة عن دالة تعطيها نص معين فتحوله إلى شيفرة من رموز غير مفهومة هكذا : والدالة الثانية تعكس ما تفعله الدالةالأولى .. بحيث تعطيها النص المشفر فترجعه إلى أصله .. هكذا : وعليه ممكن تستخدمي الدالة كوسيط بين نموذج الإدخال والأكواد اللي تحفظ البيانات في الجدول ( تشفير ... وفك التشفير ) .. وهكذا
-
أنا أتيت بنصف الجواب .. أما موضوع المدة التجريبية فما اشتغلت فيه سابقا 😅🖐🏼️