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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    128

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

  1. أخي @طاهر اوفيسنا ، توضيحك للقيم الخاصة بالهامش في الجداول جاءت لك بفائدة كبيرة وهذا الى حد ما جزء من التأسيس الصحيح . تم استخدام هياكل تحكم أفضل من الجمل الشرطية . حيث استبدلت عبارات If-ElseIf المتعددة ببنية Select Case أكثر وضوحاً واستقرار مع دالة مساعدة بسيطة ، في المرفق التالي :- فتح تقرير FACE15.zip وفي الواقع انا تلافيت التعديل والعبث في مكونات جداولك بعد تعليقك على تعديلاتي في التقرير 😅 . ردك جعلني أتراجع عن المتابعة الى حد ما سابقاً ولكن الحمد لله تيسرت بطريقتك المشروعة .
  2. اعتذر منك عن المواصلة ، فعملك يحتاج لإعادة بنااااااء . وخصوصاُ فكرة الهوامش الغير متوحدة ، بما أنك أوجدت جدول للهوامش فمن المفترض ان يضم جميع الإحتمالات وبأسلوب صحيح وليس كما في الجدول الخاص بالهامش = Tbl_Hamech هامش العملية على قيد الحياة و غير مطلقة على قيد الحياة و مطلقة بتاريخ : مطلقة بتاريخ : ومتوفيه بتاريخ : متوفية بتاريخ : وفي الجدول الخاص بالزوج = Tbl_ZAWJ الهامش متوفي بتاريخ : متوفي بتاريخ : على قيد الحياة بينما في الجدول الخاص بالزوجة = Tbl_ZAWJA الهامش على قيد الحياة و مطلقة بتاريخ : على قيد الحياة و غير مطلقة على قيد الحياة و مطلقة بتاريخ : فمن المفترض ان يلم الجدول الخاص بالهوامش بجميع الحالات والتي يمكن ان تساعدك في تحقيق طلبك . وعليه فأن القيمة في الحقل في جدول الزوج والزوجة للحقل الهانش ستكون بما يناظرها في جدول الهوامش .. هذه وجهة نظري الغير ملزمة لك ، ما لم يكن هناك وجهة نظر أخرى لأحد الأساتذة , أو إن لم أخرج لك بطريقة أخرى تحافظ على ما تريده ، مع العلم أنني استشرتك في التعديل على فكرة التقرير ، وقد سمحت لي بما يتحقق مع مطلبك ثم عدلت عن الفكرة بإنها تغير من بنية التقرير ( بسبب قيود إدارة الحالة المدنية الجزائرية .
  3. وعليكم السلام ورحمة الله وبركاته ، صدقاً لم أتجاهل طلبك ، ولكن لضغط العمل سبب في تأخري بالرد ليس إلا ,, سأحاول غداً ان شاء الله تعديل الفكرة حسب ملفك الأخير
  4. أخي @طاهر اوفيسنا ، ممكن توضح لي الحقل Hamech ???????? قيمته في جدول الزوجة Tbl_ZAWJA = الهامش على قيد الحياة و مطلقة بتاريخ : على قيد الحياة و غير مطلقة على قيد الحياة و مطلقة بتاريخ : بينما في الاستعلام = 2 OR 4 الأمر يستدعي إصلاح الكثير من الأخطاء للحصول على طلبك ،
  5. أخي @طاهر اوفيسنا ,, جرب هذا التعديل البسيط بعد ان تجاهلت ما كنت اعمل عليه سابقاً ,, فتح تقرير FACE14.zip عدلت عن السلوك السابق ، واتبعت سلوك جديد في التنفيذ ، جربه ان كان ناجحاً . فأنت أدرى مني بسلوك برنامج وآلية العمل عليه .
  6. ماتت الأفكار عند هذه النقطة ، بعد ان انتهينا من تنفيذ الفكرتين الأولى والثانية
  7. وعليكم السلام ورحمة الله وبركاته ,, أخي الكريم انت تطلب مشروع متكامل وليس طلب واحد .. حاول تجزئة طلباتك الى مواضيع منفصلة بدءً بالمهم والأساسي حتى تحصل على نتيجة تحقق لك غايتك ..
  8. سؤالي لك أخي طاهر .. هل شرط التقيد بتصميم التقرير واجب ، أم تريد أن أجد طريقة أخرى أبسط وأوفر دون الحاجة لوجود خط على النص الغير متوافق مع الحالة !!! فهمت مقصدي ؟؟
  9. مرفق جزء من أحد المشاريع السابقة ، لفاتورة البيع والشراء مع المستلزمات ،، تم حذف أجزاء كثيرة من المشروع وأكواد واستعلامات ليس لها علاقة بالمطلوب ,, New DB.accdb
  10. بعد تجربة سابقة لفكرة الجدول الواحد أو جدول الحركات ، وجدت أنها أفضل فكرة لتصميم برنامج محاسبي أو كاشير يختص بالبيع والشراء .. اذا وجدت الملف سأرفقه هنا عله يساعدك أخي @Ahmed_J في الوصول الى هدفك وطلبك ..
  11. أخي @طاهر اوفيسنا ، كل الإحترام والتقدير لك ولأهلنا في الجزائر الشقيق ,, ورغم أني أحاول فهم اسلوبك في التوضيح ، إلا أنني سأطلب منك لطفاً توجيه النقاط المطلوبة والشطر الغير مكتمل ( شرحاً وافياً ) بالعربية الفصحى ، فقط تختلط علي مصطلحات تؤدي الى فهمي الخاطئ لمقصودكم منه .
  12. دعماً للأفكار المطروحة ، جرب هذه الفكرة بعد ان تمت تجربتها 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
  13. Me.Upfield = Me.Upfield & " " & Format(Date, "yyyy,mmm,dd") أو Me.Upfield = Me.Upfield & " " & Format(Date, "yyyy,dd,mmm") جرب ما يحقق غايتك
  14. صدقاً حاولت أن افهم الفكرة من خلال المرفق الذي كنا نعمل عليه ، ولم تتوضح ، لذا وإلتزاماً منك أرجو أولا المتابعة لإنهاء المشكلة المتعلقة بهذا الموضوع ، ثم لا مانع لدي بمتابعتك في موضوع جديد للوصول الى حل لمشكلتك التي أرجو منك أيضاحها بطريقتك وبأسلوبك الرائعين ، مع دعمها بمرفق يساعدنا على ايجاد حل مناسب يلبي حاجتك
  15. وعليكم السلام ورحمة الله وبركاته ،، أخي الكريم يوجد أكثر من طريقة واسلوب وحل ، ولكن قبل الشروع بذكر أحدها سأنصحك نصيحة متفرعة = 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
  16. ما عاش اللي يتعبك معلمي الفاضل ،، بأقرب فرصة إن شاء الله سأحاول السير على خطاك لتلافي هذه المعضلة 😇
  17. وعليكم السلام ورحمة الله تعالى وبركاته.. هل جربت في التنسيق لمربع النص هذا ان يكون بهذا الشكل ؛- yyyy,mmm,dd أو بهذا التنسيق أيضاً yyyy\,dd\,mmm
  18. مساهمة بعد تعديلها لتعمل على اكسل بدلاً من اكسيس ولست متأكد منها :- في وحدة نمطية جديدة = 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
  19. من أحد مشاريعي القديمة ، جرب هذا الكود في حدث عند فتح التقرير 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
  20. وعليكم السلام ورحمة الله وبركاته ،،، لا اعلم ان كان هذا الموضوع سيفيدك بشيء ، ولكن الق نظرة عليه وهذا الموضوع :- وهذا الموضوع القديم لك أخي الكريم :-
  21. لي 3 اسئلة خطرت على بالي بعد القراءة للموضوع بشكل نقاط :- كيف يتم التعامل مع الإجازات التي تتخللها عطلات رسمية أو أسبوعية ؟ ما هو الغرض من الحقل isVacation في tblDailyRecords ؟ كيف يتم حساب مدة الإجازة الفعلية ( باستثناء العطل ) ؟
  22. قم بتعديل الاستعلام "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.الجنس = "أ"; فقط تم اضافة الشرط في السطر الأخير
  23. لم تأت على الشرط المحدد بالإناث فقط !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  24. ولا يهمك أخي الكريم ، متمنياً لك ايجاد السلوك وتطبيقه على مشروعك الرئيسي .
×
×
  • اضف...

Important Information