اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

Foksh

أوفيسنا
  • Posts

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

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

  • Days Won

    179

كل منشورات العضو Foksh

  1. Me.Upfield = Me.Upfield & " " & Format(Date, "yyyy,mmm,dd") أو Me.Upfield = Me.Upfield & " " & Format(Date, "yyyy,dd,mmm") جرب ما يحقق غايتك
  2. صدقاً حاولت أن افهم الفكرة من خلال المرفق الذي كنا نعمل عليه ، ولم تتوضح ، لذا وإلتزاماً منك أرجو أولا المتابعة لإنهاء المشكلة المتعلقة بهذا الموضوع ، ثم لا مانع لدي بمتابعتك في موضوع جديد للوصول الى حل لمشكلتك التي أرجو منك أيضاحها بطريقتك وبأسلوبك الرائعين ، مع دعمها بمرفق يساعدنا على ايجاد حل مناسب يلبي حاجتك
  3. وعليكم السلام ورحمة الله وبركاته ،، أخي الكريم يوجد أكثر من طريقة واسلوب وحل ، ولكن قبل الشروع بذكر أحدها سأنصحك نصيحة متفرعة = 1. الإبتعاد عن التسميات العربية للجداول والحقول والنماذج ومكوناتها . 2. عدم استخدام "-" في التسميات ، والأفضل استخدام "_" إن كنت مضطراً . الآن في النموذج سنقوم بحذف جميع الأكواد ولا حاجة لها ولا حاجة للزر أيضاً ، ثم في مديول جديد ألصق الكود التالي :- Public Sub UpdateEmployeeFiles() Dim db As DAO.Database Dim rs As DAO.Recordset Dim strPath As String Dim strFileName As String strPath = CurrentProject.Path & "\" Set db = CurrentDb Set rs = db.OpenRecordset("جدول1", dbOpenDynaset) If Not rs.EOF Then rs.MoveFirst Do Until rs.EOF strFileName = strPath & rs!رقم_الموضف & ".pdf" rs.Edit If Dir(strFileName) <> "" Then rs!لديه_ملف = "نعم" rs!مسار_الملف = strFileName Else rs!لديه_ملف = "لا" rs!مسار_الملف = Null End If rs.Update rs.MoveNext Loop End If rs.Close Set rs = Nothing Set db = Nothing End Sub وفي النموذج يكفينا الإستدعاء للدالة في حدث عند التحميل كما يلي :- Private Sub Form_Load() UpdateEmployeeFiles End Sub حيث أن الدالة ستقوم بتحديث قيمة الحقل في كل مرة تفتح فيها النموذج للموظفين الذين لديهم ملف PDF أو لا . أيضاً سيتم تعديل مسار الملف اذا كان موجوداً بدلاً من استخدامك للكود السابق في حدث "في الحالي" . FILE.zip
  4. ما عاش اللي يتعبك معلمي الفاضل ،، بأقرب فرصة إن شاء الله سأحاول السير على خطاك لتلافي هذه المعضلة 😇
  5. وعليكم السلام ورحمة الله تعالى وبركاته.. هل جربت في التنسيق لمربع النص هذا ان يكون بهذا الشكل ؛- yyyy,mmm,dd أو بهذا التنسيق أيضاً yyyy\,dd\,mmm
  6. مساهمة بعد تعديلها لتعمل على اكسل بدلاً من اكسيس ولست متأكد منها :- في وحدة نمطية جديدة = Option Compare Database #If VBA7 Then Private Declare PtrSafe Function OpenProcessToken Lib "advapi32.dll" ( _ ByVal ProcessHandle As LongPtr, _ ByVal DesiredAccess As Long, _ ByRef TokenHandle As LongPtr _ ) As Long Private Declare PtrSafe Function GetTokenInformation Lib "advapi32.dll" ( _ ByVal TokenHandle As LongPtr, _ ByVal TokenInformationClass As Long, _ ByRef TokenInformation As Any, _ ByVal TokenInformationLength As Long, _ ByRef ReturnLength As Long _ ) As Long Private Declare PtrSafe Function GetCurrentProcess Lib "kernel32" () As LongPtr Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As LongPtr, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long _ ) As LongPtr #Else Private Declare Function OpenProcessToken Lib "advapi32.dll" ( _ ByVal ProcessHandle As Long, _ ByVal DesiredAccess As Long, _ ByRef TokenHandle As Long _ ) As Long Private Declare Function GetTokenInformation Lib "advapi32.dll" ( _ ByVal TokenHandle As Long, _ ByVal TokenInformationClass As Long, _ ByRef TokenInformation As Any, _ ByVal TokenInformationLength As Long, _ ByRef ReturnLength As Long _ ) As Long Private Declare Function GetCurrentProcess Lib "kernel32" () As Long Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long _ ) As Long #End If Public Function IsRunAsAdmin() As Boolean Const TOKEN_QUERY As Long = &H8 Const TokenElevation As Long = 20 Dim hToken As LongPtr Dim elev As Long Dim retLen As Long If OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, hToken) <> 0 Then If GetTokenInformation(hToken, TokenElevation, elev, LenB(elev), retLen) <> 0 Then IsRunAsAdmin = (elev <> 0) End If End If End Function Public Sub RestartAsAdmin() Dim exePath As String Dim dbArgument As String exePath = Application.FullName dbArgument = """" & Application.CurrentProject.FullName & """" ShellExecute 0, "runas", exePath, dbArgument, vbNullString, 1 Application.Quit End Sub Public Sub CreateTextFile() Dim FilePath As String Dim FileNum As Integer If Not IsRunAsAdmin Then MsgBox "البرنامج بحاجة إلى صلاحيات مسؤول (Administrator)." & vbCrLf & _ "سيتم إعادة تشغيل Access بطلب صلاحيات مرتفعة...", _ vbExclamation, "تحتاج صلاحيات" RestartAsAdmin Exit Sub End If FilePath = "C:\Windows\fs.txt" FileNum = FreeFile Open FilePath For Output As #FileNum Print #FileNum, "fs" Close #FileNum MsgBox "تم إنشاء الملف بنجاح في:" & vbCrLf & FilePath, _ vbInformation, "نجاح" End Sub الإستدعاء سيكون في الزر على سبيل المثال = CreateTextFile
  7. من أحد مشاريعي القديمة ، جرب هذا الكود في حدث عند فتح التقرير Private Sub Report_Open(Cancel As Integer) Dim lngRecordCount As Long Dim ctl As Control lngRecordCount = DCount("*", Me.RecordSource) For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then If lngRecordCount > 25 Then ctl.FontSize = 12 ctl.Height = 284 Else ctl.FontSize = 14 ctl.Height = 357 End If End If Next ctl End Sub
  8. وعليكم السلام ورحمة الله وبركاته ،،، لا اعلم ان كان هذا الموضوع سيفيدك بشيء ، ولكن الق نظرة عليه وهذا الموضوع :- وهذا الموضوع القديم لك أخي الكريم :-
  9. لي 3 اسئلة خطرت على بالي بعد القراءة للموضوع بشكل نقاط :- كيف يتم التعامل مع الإجازات التي تتخللها عطلات رسمية أو أسبوعية ؟ ما هو الغرض من الحقل isVacation في tblDailyRecords ؟ كيف يتم حساب مدة الإجازة الفعلية ( باستثناء العطل ) ؟
  10. قم بتعديل الاستعلام "qryUnionTemp" الى :- SELECT Tbl_ZAWJ.IDP, [Tbl_ZAWJA].[Nom2] & " " & [Tbl_ZAWJA].[Prenom2] AS FullNames, [Tbl_ZAWJA].[Date_Naiss2] & "بـ " & [Tbl_ZAWJA].[مكان الميلاد] AS Date_Place, "زوجة" AS Typeer FROM Tbl_ZAWJ LEFT JOIN Tbl_ZAWJA ON Tbl_ZAWJ.IDP = Tbl_ZAWJA.IDP WHERE Tbl_ZAWJ.IDP = Forms!A3!IDP UNION ALL SELECT Tbl_Enf.IDP, [Tbl_Enf].[إسم الطفل] & " " & [Tbl_ZAWJ].[Prenom1] AS FullNames, [Tbl_Enf].[تاريخ الميلاد] & "بـ " & [Tbl_Enf].[مكان الميلاد] AS Date_Place, "بنت" AS Typeer FROM (Tbl_ZAWJ LEFT JOIN Tbl_ZAWJA ON Tbl_ZAWJ.IDP = Tbl_ZAWJA.IDP) LEFT JOIN Tbl_Enf ON Tbl_ZAWJA.IDM = Tbl_Enf.IDM WHERE Tbl_Enf.IDP = Forms!A3!IDP AND (Year(Date()) - Year([Tbl_Enf].[تاريخ الميلاد])) > 17 AND Tbl_Enf.الجنس = "أ"; فقط تم اضافة الشرط في السطر الأخير
  11. لم تأت على الشرط المحدد بالإناث فقط !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  12. ولا يهمك أخي الكريم ، متمنياً لك ايجاد السلوك وتطبيقه على مشروعك الرئيسي .
  13. ما توصلت انت له اليوم ، كنت قد عرضته عليك بتاريخ 19/04/2025 في هذه المشاركة هنا أخي الكريم ,, ولكن لا بأس بمحاولة شخصية .. تحياتي لك
  14. ارفق حلك هنا الذي خرجت به لتشاركنا المعلومة والفائدة ولك الأجر والثواب
  15. ارفق حلك هنا الذي خرجت به لتشاركنا المعلومة والفائدة ولك الأجر والثواب
  16. أخي العزيز @طاهر اوفيسنا ، طريقتك في العمل التي تسير عليها سترهقك في كل مرة تحتاج فيها لتنفيذ فكرة جديدة لاحقاً .. على العموم ومحتفظاً بملاحظاتي ،، انظر هذا المرفق ان كان يفي بالغرض بعد دوخة وتوهان للوصول الى المطلوب . تم الإستعانة باستعلام تجميعي واستعلام تحديد وجدول مؤقت لتنفيذ أهدافك فتح تقرير FACE13.zip
  17. قال عبقري قال ههههههه لا أحد يسمعك ويصدق الله يستر بيتك ، انا ما زلت بحاول أفهم وأركز في الطريقة اللي يجب تنفيذ المطلوب بشكل كامل من خلال زر واحد ، لكن تقطع الأفكار بسبب الشغل جعلتني لا أميز الفكرة الصحيحة التي يجب الاتجاه لها .. لكن ما رأيك بأن تعمل على سجل واحد و يوم واحد ومدرسة واحدة بحيث تقسم مجموعات من 60 و 70 مسائي وصباحي في الجداول ، بالشكل الذي تريد النتيجة ان تكون عليه كي أستقر على رأي محدد في خيالي اعتبرها مساعدة منك
  18. واعتقد انها نقطة لصالح الاستعلامات وسرعة احضار المعلومات الحسابية من الجداول .. نعم الفرق واضح جداً .. جزاك الله خيراً على صنيعك
  19. أخي الكريم ، بما أنه تم حل مشكلة عنوان المشاركة باختيارك أفضل إجابة ، وتماشياً مع سياسة المنتدى وقوانينه أنصحك بفتح موضوع جديد مستقل حتى تفصل بين الطلبين .. راجياً أن تجد حل لمشكلتك بأقرب فرصة . ولو كنت أملك لك حلاً لطرحته هنا .
  20. سأحاول ترجمة فكرتك في أول فرصة إن شاء الله..
  21. تمام أخي الكريم ، الآن سأزودك بمرفق ، انقر الزر وتابع النتيجة في جدولي الشفهي واللياقة ان كانت صحيحة أو المطلوبة .. فكرة توزيع تلقائي لمستويين.mdb
  22. دون الربط ، هل هذا ما تريده ؟
  23. لاحظت ان جميع درجات الحضور في الشهادة للفصل الثاني للصف الأول والثاني على سبيل المثال = 140 ( هل النتيجة صحيحة ؟ ) أيضاً البطئ أصبح في التنقل بين الصفحات للتقرير الخاص بالشهادة ايضاً وجب التنويه الى تبديل مصدر بيانات مربع النص Text355 في تقرير الشهادة من fsl_id إلى term_Num على ما اعتقد ..
  24. أخي الكريم @أحمد عمروف ، سؤال للتوضيح بخصوص النقطة أعلاه فيما يخص الجدول الرابع ، ما تقصده هل سيتم ادراج التوزيعات فيه ؟؟؟؟؟؟؟؟ صدقاً قرأتها عدة مرات وبادرني الشك حول صحة ما فهمته سابقاً .. لا عليك ، الحال من بعضه هههههههه 🔥 سؤالان فقط قبل أن أبدأ بتحديد مساري في التنفيذ لأنه متشعب جداً :- هل تريد أن نحسب تاريخ اللياقة تلقائياً بربط نهاية الشفوي مباشرة + تخطي العطل ( سيتم تحديد أيام العطل مثل " الجمعة والسبت " ) ؟ أم يكفي أن نسجل تاريخ بداية الشفوي (31/5/2025) وبعدها نحسب اللياقة يدوياً ؟ عند توزيع جلسات اللياقة لو كان عندنا عدد أقل من 70 أو 60 في بعض الأيام ، هل نترك الجلسة ناقصة كما هي ؟ أم نملأ الفارق من طلاب اليوم التالي ؟؟؟ (حسب كلامك فهمت أننا نتركها ناقصة ، لكن للتأكد منك قبل التنفيذ )
×
×
  • اضف...

Important Information