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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    128

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

  1. اذا كان المقصود من كلام أخونا صاحب الموضوع هو الكتابة على ملف PDF يستعمله كقالب !!!! فهذه نقطة لا ولم ولن يتم تطبيقها من خلال اكسيس إلا بإنشاء تقرير ثم تصديره كملف Pdf . غير ذلك فلن تحصل على إختراع يلبي حاجتك وفكرتك.
  2. استبدل الدالة القديمة ، بالدالة التالية ، Private Sub AddToTempSelected() On Error GoTo ErrorHandler Dim db As DAO.Database Dim rs As DAO.Recordset Dim strSQL As String Dim anneeValue As Variant Dim gradeValue As Variant Dim wilayaValue As Variant Dim existingWilaya As String Dim wilayaArray As Variant Dim wilayaExists As Boolean Dim i As Integer Dim currentYear As Integer Dim previousYear As Integer Set db = CurrentDb() currentYear = Me.ANNEE3.Column(0) previousYear = currentYear - 1 anneeValue = previousYear & "/" & currentYear gradeValue = Me.GRADE3.Column(0) wilayaValue = Trim(Me.lst_XX.Column(0)) strSQL = "SELECT wilaya FROM temp_selected " & _ "WHERE annee = '" & Replace(anneeValue, "'", "''") & "' " & _ "AND grade = '" & Replace(gradeValue, "'", "''") & "'" Set rs = db.OpenRecordset(strSQL) If Not rs.EOF Then existingWilaya = Nz(rs!wilaya, "") If existingWilaya <> "" Then wilayaArray = Split(existingWilaya, " - ") wilayaExists = False For i = LBound(wilayaArray) To UBound(wilayaArray) If Trim(wilayaArray(i)) = wilayaValue Then wilayaExists = True Exit For End If Next i If Not wilayaExists Then If existingWilaya <> "" Then existingWilaya = existingWilaya & " - " & wilayaValue Else existingWilaya = wilayaValue End If strSQL = "UPDATE temp_selected SET wilaya = '" & Replace(existingWilaya, "'", "''") & "' " & _ "WHERE annee = '" & Replace(anneeValue, "'", "''") & "' " & _ "AND grade = '" & Replace(gradeValue, "'", "''") & "'" db.Execute strSQL, dbFailOnError End If Else strSQL = "UPDATE temp_selected SET wilaya = '" & Replace(wilayaValue, "'", "''") & "' " & _ "WHERE annee = '" & Replace(anneeValue, "'", "''") & "' " & _ "AND grade = '" & Replace(gradeValue, "'", "''") & "'" db.Execute strSQL, dbFailOnError End If Else strSQL = "INSERT INTO temp_selected (annee, grade, wilaya) " & _ "VALUES ('" & Replace(anneeValue, "'", "''") & "', '" & Replace(gradeValue, "'", "''") & "', '" & Replace(wilayaValue, "'", "''") & "')" db.Execute strSQL, dbFailOnError End If CleanUp: If Not rs Is Nothing Then rs.Close Set rs = Nothing Set db = Nothing Exit Sub ErrorHandler: MsgBox "حدث خطأ أثناء محاولة تحديث البيانات", vbCritical + vbMsgBoxRight, "خطأ" Resume CleanUp End Sub حيث سيتم تخزين القيمة في الجدول مباشرة بالتنسيق الذي تريده ( السنة التي تم اختيارها = 2025 ، سيتم تخزينها = 2024 / 2025 في الحقل بعد ان تم تغيير نوعه الى حقل نصي ) BASE_e.accdb
  3. أخي الكريم ، بعد تحميل المرفق وهو نفسه المرفق السابق في موضوعك الأول ، كنا قد وددنا منك أولا أن تشرح لنا آليه العمل على مشروعك ، بما أنك ارلت كامل المشروع . يعني اشرح لنا آلية العمل على المشروع ، والسبب طبعاً أن من سيقوم بتحميل المرفق لن يقوم بدراسة كامل مشروعك ويستغرق منه الأمر ساعات حتى يفهم فكرتك وطريقتك .. أرجو أن أكون قد أوضحت لك المطلوب منك . أو تقوم بتعديل المرفق بحيث يحتوي فقط الأقسان التي لها علاقة بالمطلوب لتصغير مساحة دراسة مشروعك مع شرحك طبعاً
  4. بأقرب فرصة سنحاول معاً إيجاد حل ، حال وصولي للكمبيوتر 🤗.
  5. الحمد لله إنها أمورك كما تريد 😇 قمت بتعديل الإستعلام الأخير ليسهل قراءته بما إنك تعمل على حقول وجداول قد تختلف عن المرفق قليلاً. .
  6. طيب .. بطريقتي سأسأل .. هل الفرق هو الحقول التالية :- TNO, NASS, nass1 MSNO, MS_NAMEX من جدول Tab_Msaneed ID_Xsub, Code, Parentx, Total, LVLno, Xsub MAIN_sub من جدول TAB_Subject_X يعني مقصدي انت تريد اضافة كافة الحقول الى الاستعلام الذي خرجت به ويلبي حاجتك في القيم المطلوب عرضها ، صحيح ؟؟؟ مع العلم أنك تستطيع إزالة الشرط :- AND TAB_Subject.ID IN (76, 159, 1873) هل هذا الاستعلام يلبي احتياجك على سبيل المثال :- SELECT TAB.MNO, TAB.TNO, TAB.NASS, TAB.nass1, Tab_Msaneed.MSNO, Tab_Msaneed.MS_NAMEX, TAB_Subject.ID, TAB_Subject.ID_Xsub, TAB_Subject.SName, TAB_Subject.Code, TAB_Subject.Parentx, TAB_Subject.Total, TAB_Subject.LVLno, TAB_Subject.LVL1, IIf(TAB_Subject.LVL1 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L1 WHERE L1.LVL1 = TAB_Subject.LVL1 AND L1.LVL2 = 0 AND L1.LVL3 = 0 AND L1.LVL4 = 0)) AS LVL1name, TAB_Subject.LVL2, IIf(TAB_Subject.LVL2 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L2 WHERE L2.LVL1 = TAB_Subject.LVL1 AND L2.LVL2 = TAB_Subject.LVL2 AND L2.LVL3 = 0 AND L2.LVL4 = 0)) AS LVL2name, TAB_Subject.LVL3, IIf(TAB_Subject.LVL3 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L3 WHERE L3.LVL1 = TAB_Subject.LVL1 AND L3.LVL2 = TAB_Subject.LVL2 AND L3.LVL3 = TAB_Subject.LVL3 AND L3.LVL4 = 0)) AS LVL3name, TAB_Subject.LVL4, IIf(TAB_Subject.LVL4 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L4 WHERE L4.LVL1 = TAB_Subject.LVL1 AND L4.LVL2 = TAB_Subject.LVL2 AND L4.LVL3 = TAB_Subject.LVL3 AND L4.LVL4 = TAB_Subject.LVL4)) AS LVL4name, TAB_Subject.Xsub, TAB_Subject_X.MAIN_sub, TAB.TYPE1, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE1 AND NOM1 = 1) AS TYPE1name, TAB.TYPE2, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE2 AND NOM1 = 2) AS TYPE2name FROM ((TAB INNER JOIN Tab_Msaneed ON TAB.MUSNAD = Tab_Msaneed.MSNO) INNER JOIN TAB_Subject_X ON TAB.MNO = TAB_Subject_X.MNO) INNER JOIN TAB_Subject ON TAB_Subject_X.SUB_ID = TAB_Subject.ID ORDER BY TAB.TNO;
  7. جميع الصفوف ( للمدرسة الواحدة أو جميع المدارس ) ستبدأ في يوم واحد للشفهي ؟؟؟؟؟ بحاجة للتوضيح أكثر ,, سنتوقف عن العمل على توزيع اللياقة ، وسنعمل على الشفهي لحين خروجك بنتيجة صحيحة ، وخذ بعين الاعتبار وجود يوم الجمعة كإجازة لا يتم التوزيع فيه حالياً . بانتظار شرحك أكثر لكل النقاط والإحتمالات ( لتلافي الوقوع في مطبات سابقة في مواضيع مختلفة لعدم شرح المطلوب بشكل واضح ) ..
  8. أخي طاهر ، غلق الموضوع باختيارك أفضل إجابة
  9. 😕 لماذا تختار الشرح المبهم والذي لا يؤدي الى توضيح الفكرة والهدف .. الحقول التي غير موجودة في استعلامي هي ؟؟؟ ( أرجو تحديدها ) ولا تنسى أنني اتعامل مع مرفقك وليس مع المرفق الذي تملكه وتطبق عليه ان كان مختلفاً في بنيته وتركيبه .
  10. وعليكم السلام ورحمة الله وبركاته ,, لتطبيق فكرتك البسيطة ، اعتقد ان حاجتك لاستخدام جدول مؤقت هي أفضل شيء . ومن ثم يتم اضافة القيم التي يتم اختيارها اليه وجعله مصدر للتقرير . جرب هذه الفكرة علها تفيدك 😎 . BASE_e.accdb
  11. هذا أحد احتمالات لم تكن في حسبانك ، ورقمها 1 - 4 ، وعليه سيتم اضافة جملة Case لهذا الشكل الجديد من الإحتمالات .. Case (zawjValue = 1 And zawjaValue = 4) يوجد مربع نص = Txx في التقرير ، غير مهم ، وتستطيع حذف اي شيء متعلق به في الكود ، فهو كان فقط لتحديد الإحتمالات التي كنت أعمل عليها . فتح تقرير FACE16.zip
  12. الفرق في عدم وجود بعض الحقول ، صحيح ؟؟ ام ماذا ؟؟؟
  13. الزوجة متوفية لم تكن ضمن اسلوب العمل والاحتمالات التي حددتها ,, 🙄 لهذا طلبت منك سابقاً وضح جميع الاحتمالات ، ولكنك لم تأخذ الموضوع بشكل جدي وحقيقي وقابل للحصول في احتمال . على العموم ارسل مرفقك الأخير بعد تعديلاتك التي أجريتها مؤخراً
  14. امممم تقريباً بدأ افهم 😅😅 جرب هذا الاستعلام !!! SELECT TAB_Subject.ID, TAB_Subject.LVL1, IIf(TAB_Subject.LVL1 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L1 WHERE L1.LVL1 = TAB_Subject.LVL1 AND L1.LVL2 = 0 AND L1.LVL3 = 0 AND L1.LVL4 = 0)) AS LVL1name, TAB_Subject.LVL2, IIf(TAB_Subject.LVL2 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L2 WHERE L2.LVL1 = TAB_Subject.LVL1 AND L2.LVL2 = TAB_Subject.LVL2 AND L2.LVL3 = 0 AND L2.LVL4 = 0)) AS LVL2name, TAB_Subject.LVL3, IIf(TAB_Subject.LVL3 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L3 WHERE L3.LVL1 = TAB_Subject.LVL1 AND L3.LVL2 = TAB_Subject.LVL2 AND L3.LVL3 = TAB_Subject.LVL3 AND L3.LVL4 = 0)) AS LVL3name, TAB_Subject.LVL4, IIf(TAB_Subject.LVL4 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L4 WHERE L4.LVL1 = TAB_Subject.LVL1 AND L4.LVL2 = TAB_Subject.LVL2 AND L4.LVL3 = TAB_Subject.LVL3 AND L4.LVL4 = TAB_Subject.LVL4)) AS LVL4name, TAB.TYPE1, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE1 AND NOM1 = 1) AS TYPE1name, TAB.TYPE2, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE2 AND NOM1 = 2) AS TYPE2name FROM TAB, TAB_Subject_X, TAB_Subject WHERE TAB.MNO = TAB_Subject_X.MNO AND TAB_Subject_X.SUB_ID = TAB_Subject.ID AND TAB_Subject.ID IN (76, 159, 1873) ORDER BY TAB_Subject.ID; استخدمت الدالة IIf في كل حقل من حقول أسماء المستويات ، ونجعل الاسم يظهر فقط إذا كانت القيمة المقابلة > 0 ، وإلا = Null هل التالي صحيح في الصورة ؟
  15. 😅 الموضوع أكثر من متشعب .. ولكن كمحاولة لست متأكداً من نتائجها ، قمت بالتجربة على قيم محددة في الاستعلام التالي ، جربه فضلاً أخي الكريم @nssj . SELECT TAB_Subject.ID, TAB_Subject.LVL1, (SELECT TOP 1 SName FROM TAB_Subject AS L1 WHERE L1.LVL1 = TAB_Subject.LVL1 AND L1.LVL2 = 0 AND L1.LVL3 = 0 AND L1.LVL4 = 0) AS LVL1name, TAB_Subject.LVL2, (SELECT TOP 1 SName FROM TAB_Subject AS L2 WHERE L2.LVL1 = TAB_Subject.LVL1 AND L2.LVL2 = TAB_Subject.LVL2 AND L2.LVL3 = 0 AND L2.LVL4 = 0) AS LVL2name, TAB_Subject.LVL3, (SELECT TOP 1 SName FROM TAB_Subject AS L3 WHERE L3.LVL1 = TAB_Subject.LVL1 AND L3.LVL2 = TAB_Subject.LVL2 AND L3.LVL3 = TAB_Subject.LVL3 AND L3.LVL4 = 0) AS LVL3name, TAB_Subject.LVL4, (SELECT TOP 1 SName FROM TAB_Subject AS L4 WHERE L4.LVL1 = TAB_Subject.LVL1 AND L4.LVL2 = TAB_Subject.LVL2 AND L4.LVL3 = TAB_Subject.LVL3 AND L4.LVL4 = TAB_Subject.LVL4) AS LVL4name, TAB.TYPE1, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE1 AND NOM1 = 1) AS TYPE1name, TAB.TYPE2, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE2 AND NOM1 = 2) AS TYPE2name FROM TAB, TAB_Subject_X, TAB_Subject WHERE TAB.MNO = TAB_Subject_X.MNO AND TAB_Subject_X.SUB_ID = TAB_Subject.ID AND TAB_Subject.ID IN (76, 159, 1873) ORDER BY TAB_Subject.ID; عله يكون بداية طيبة ..
  16. وعليكم السلام ورحمة الله وبركاته .. حاولت فهم الموضوع من معطياتك أخي الكريم ولكني لم أوفق .. ان أمكن توضيح أكثر فنكون من الشاكرين
  17. إذا الآن يستحق الموضوع اغلاقه بفضل الله تعالى 😉
  18. هل جميع الإحتمالات التي تخص هذا الموضوع تمت بنجاح ؟؟؟ موضوع التنسيق الخاص بالتواريخ ضمن ضوابط وشروط محددة ، انصحك بفتح موضوع جديد مستقل له .
  19. استدعاء الدالة يا صديقي من خلال زر على سبيل المثال .. في اكسيس ، تم تنفيذها بشكل ميسر ودون اي مشاكل ، أما للفكرة التي في خيالك ان كانت من أجل التفعيل ومنع النقل الغير مصرح به للمشروع ، فيوجد أساليب كثيرة ممكن تطبقها على مشروعك . لست ضليع بالمستوى الذي لدى الأخوة هنا في قسم اكسيل ، ولكني في اكسيس أأكد لك أنه ذلك يسير بطرق وحلول كثيرة وكثيرة وكثيرة ,,
  20. سؤال جميل جداً .. برأيي هل من الممكن أن يكون السبب لتحديد الخصم للصنف / أصناف محددة وليس للفاتورة بشكل عام !! فقد تتيح له فرصة الخصم على اصناف محدة وليس جميع الاصناف ، أو الإستفادة من فكرة العروض على الأصناف ( إن لم يخني التعبير )
  21. أخي الكريم @أحمد عمروف ، تفضل هذا التعديل على التوزيع الشفوي و توزيع اللياقة في زرين منفصلين ، التوزيع الشفهي حسب ما فهمت منك سيكون بتاريخ 31/05/2025 ، واللياقة افترضت تاريخ 10/06/2025 للتجربة ، على العموم ، راقب النتيجة في الجدولين وأخبرني بمدى دقتها أو صحتها أم لا !!!! فكرة توزيع تلقائي لمستويين (2).zip
  22. تمام ، بناءً على كلامك ، سيكون التعديل كالتالي ، وأنصح بدراسة وتجربة جميع الإحتمالات حتى تلم بها دون اي مشاكل .. استبدل التعديل السابق بالتالي في التقرير :- Private Sub ProcessNoRemarriageCertificate() Me.L3.Visible = False Me.L2.Visible = True Me.L1.Visible = True Call InitializeControlsVisibility Dim zawjValue As Integer, zawjaValue As Integer zawjValue = Nz(Me.Tbl_ZAWJ_Hamech.Value, 0) zawjaValue = Nz(Me.Tbl_ZAWJA_Hamech.Value, 0) Dim dateDivorce As Date, dateDeath As Date On Error Resume Next dateDivorce = Nz(DLookup("[تاريخ (الوفاة - الطلاق)]", "N_Mariag"), 0) dateDeath = Nz(DLookup("[تاريخ الوفاة]", "N_Mariag"), 0) On Error GoTo 0 Select Case True ' حالة "لم تطلق منذ زواجها" Case (zawjValue = 1 And zawjaValue = 1) Me.k5.Visible = False Me.Da5.Visible = True Me.Za5.Visible = True ' حالة "عدم إعادة الزواج وهي أرملة" Case (zawjValue = 2 And zawjaValue = 1) Me.k6.Visible = False Me.Da6.Visible = True Me.Za6.Visible = True ' حالة "عدم إعادة الزواج وهي مطلقة" Case (zawjValue = 1 And zawjaValue = 2) Me.k7.Visible = False Me.Da7.Visible = True Me.Za7.Visible = True ' حالة "الزواج المنعقد بين السيد والسيدة" Case (zawjValue = 1 And zawjaValue = 1) Me.k8.Visible = False Me.Za8.Visible = True Me.Com8.Visible = True Me.Ne8.Visible = True ' الحالة الجديدة أخي طاهر عندما يكون الزوج متوفي والزوجة مطلقة (zawjValue = 2 And zawjaValue = 2) Case (zawjValue = 2 And zawjaValue = 2) If dateDeath > dateDivorce And dateDivorce <> 0 And dateDeath <> 0 Then ' إذا توفي الزوج بعد تاريخ طلاق الزوجة Me.k7.Visible = False Me.Da7.Visible = True Me.Za7.Visible = True Else Me.k7.Visible = True Me.Da7.Visible = False Me.Za7.Visible = False End If End Select DoCmd.Close acForm, "A3" End Sub Private Sub InitializeControlsVisibility() Dim controlNames As Variant controlNames = Array("k5", "Da5", "Za5", "k6", "Za6", "Da6", _ "k7", "Za7", "Da7", "k8", "Za8", "Com8", "Ne8", _ "k1", "Za1", "Da1", "k2", "Za2") Dim ctrlName As Variant For Each ctrlName In controlNames On Error Resume Next Me.Controls(ctrlName).Visible = (Left(ctrlName, 1) = "k") On Error GoTo 0 Next ctrlName End Sub
×
×
  • اضف...

Important Information