اذهب الي المحتوي
أوفيسنا

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    145

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

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

Important Information