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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    145

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

  1. أخي @طاهر اوفيسنا ، ممكن توضح لي الحقل Hamech ???????? قيمته في جدول الزوجة Tbl_ZAWJA = الهامش على قيد الحياة و مطلقة بتاريخ : على قيد الحياة و غير مطلقة على قيد الحياة و مطلقة بتاريخ : بينما في الاستعلام = 2 OR 4 الأمر يستدعي إصلاح الكثير من الأخطاء للحصول على طلبك ،
  2. أخي @طاهر اوفيسنا ,, جرب هذا التعديل البسيط بعد ان تجاهلت ما كنت اعمل عليه سابقاً ,, فتح تقرير FACE14.zip عدلت عن السلوك السابق ، واتبعت سلوك جديد في التنفيذ ، جربه ان كان ناجحاً . فأنت أدرى مني بسلوك برنامج وآلية العمل عليه .
  3. ماتت الأفكار عند هذه النقطة ، بعد ان انتهينا من تنفيذ الفكرتين الأولى والثانية
  4. وعليكم السلام ورحمة الله وبركاته ,, أخي الكريم انت تطلب مشروع متكامل وليس طلب واحد .. حاول تجزئة طلباتك الى مواضيع منفصلة بدءً بالمهم والأساسي حتى تحصل على نتيجة تحقق لك غايتك ..
  5. سؤالي لك أخي طاهر .. هل شرط التقيد بتصميم التقرير واجب ، أم تريد أن أجد طريقة أخرى أبسط وأوفر دون الحاجة لوجود خط على النص الغير متوافق مع الحالة !!! فهمت مقصدي ؟؟
  6. مرفق جزء من أحد المشاريع السابقة ، لفاتورة البيع والشراء مع المستلزمات ،، تم حذف أجزاء كثيرة من المشروع وأكواد واستعلامات ليس لها علاقة بالمطلوب ,, New DB.accdb
  7. بعد تجربة سابقة لفكرة الجدول الواحد أو جدول الحركات ، وجدت أنها أفضل فكرة لتصميم برنامج محاسبي أو كاشير يختص بالبيع والشراء .. اذا وجدت الملف سأرفقه هنا عله يساعدك أخي @Ahmed_J في الوصول الى هدفك وطلبك ..
  8. أخي @طاهر اوفيسنا ، كل الإحترام والتقدير لك ولأهلنا في الجزائر الشقيق ,, ورغم أني أحاول فهم اسلوبك في التوضيح ، إلا أنني سأطلب منك لطفاً توجيه النقاط المطلوبة والشطر الغير مكتمل ( شرحاً وافياً ) بالعربية الفصحى ، فقط تختلط علي مصطلحات تؤدي الى فهمي الخاطئ لمقصودكم منه .
  9. دعماً للأفكار المطروحة ، جرب هذه الفكرة بعد ان تمت تجربتها Private Sub Datail_Format(Cancel As Integer, FormatCount As Integer) On Error Resume Next If Me.Counter > 25 Then Me.StuName.FontSize = 12 Me.StuName.Height = 300 Me.Datail.Height = 300 Else Me.StuName.FontSize = 14 Me.StuName.Height = 600 Me.Datail.Height = 600 End If End Sub
  10. Me.Upfield = Me.Upfield & " " & Format(Date, "yyyy,mmm,dd") أو Me.Upfield = Me.Upfield & " " & Format(Date, "yyyy,dd,mmm") جرب ما يحقق غايتك
  11. صدقاً حاولت أن افهم الفكرة من خلال المرفق الذي كنا نعمل عليه ، ولم تتوضح ، لذا وإلتزاماً منك أرجو أولا المتابعة لإنهاء المشكلة المتعلقة بهذا الموضوع ، ثم لا مانع لدي بمتابعتك في موضوع جديد للوصول الى حل لمشكلتك التي أرجو منك أيضاحها بطريقتك وبأسلوبك الرائعين ، مع دعمها بمرفق يساعدنا على ايجاد حل مناسب يلبي حاجتك
  12. وعليكم السلام ورحمة الله وبركاته ،، أخي الكريم يوجد أكثر من طريقة واسلوب وحل ، ولكن قبل الشروع بذكر أحدها سأنصحك نصيحة متفرعة = 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
  13. ما عاش اللي يتعبك معلمي الفاضل ،، بأقرب فرصة إن شاء الله سأحاول السير على خطاك لتلافي هذه المعضلة 😇
  14. وعليكم السلام ورحمة الله تعالى وبركاته.. هل جربت في التنسيق لمربع النص هذا ان يكون بهذا الشكل ؛- yyyy,mmm,dd أو بهذا التنسيق أيضاً yyyy\,dd\,mmm
  15. مساهمة بعد تعديلها لتعمل على اكسل بدلاً من اكسيس ولست متأكد منها :- في وحدة نمطية جديدة = 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
  16. من أحد مشاريعي القديمة ، جرب هذا الكود في حدث عند فتح التقرير 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
  17. وعليكم السلام ورحمة الله وبركاته ،،، لا اعلم ان كان هذا الموضوع سيفيدك بشيء ، ولكن الق نظرة عليه وهذا الموضوع :- وهذا الموضوع القديم لك أخي الكريم :-
  18. لي 3 اسئلة خطرت على بالي بعد القراءة للموضوع بشكل نقاط :- كيف يتم التعامل مع الإجازات التي تتخللها عطلات رسمية أو أسبوعية ؟ ما هو الغرض من الحقل isVacation في tblDailyRecords ؟ كيف يتم حساب مدة الإجازة الفعلية ( باستثناء العطل ) ؟
  19. قم بتعديل الاستعلام "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.الجنس = "أ"; فقط تم اضافة الشرط في السطر الأخير
  20. لم تأت على الشرط المحدد بالإناث فقط !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  21. ولا يهمك أخي الكريم ، متمنياً لك ايجاد السلوك وتطبيقه على مشروعك الرئيسي .
  22. ما توصلت انت له اليوم ، كنت قد عرضته عليك بتاريخ 19/04/2025 في هذه المشاركة هنا أخي الكريم ,, ولكن لا بأس بمحاولة شخصية .. تحياتي لك
  23. ارفق حلك هنا الذي خرجت به لتشاركنا المعلومة والفائدة ولك الأجر والثواب
  24. ارفق حلك هنا الذي خرجت به لتشاركنا المعلومة والفائدة ولك الأجر والثواب
×
×
  • اضف...

Important Information