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

Foksh

أوفيسنا
  • Posts

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

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

  • Days Won

    149

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

  1. أخي الكريم ، من باب التوضيح هل باعتقادك ان من سيلقي نظرة على المشروع سيضطر لفتح 63 نموذج لمعرفة ايها يعمل وأيها لا يعمل أو لا يظهر ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ وفر علينا هذا العناء وحدد لنا تلك النماذج التي ظهرت مشكلتها معك
  2. Dangerous File Blocked قم بضغط الملف ورفعه هنا ، او ارفع قاعدة البيانات مضغوطة دون الحاجة لتحويلها لملف تنصيبي
  3. بعد الاطلاع على الملف ، مشكلتك في أكواد الحدث في الحالي للنموذج "ادخال" ، تحقق من الأجزاء والمكونات ان كانت موجودة فعلاً أم لا .. وجهة نظر
  4. أيضاً تحقق مما إذا كانت النماذج التي لا تظهر معك لها الخاصيتين :- ( مشروط = نعم / Modal = Yes ) ( منبثق = نعم / Pop Up = Yes )
  5. اخي @moho58 .. جرب هذا السلوك :- Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) On Error Resume Next Dim newKeyCode As Integer Select Case KeyCode Case vbKeyDown DoCmd.GoToRecord , , acNext Case vbKeyUp DoCmd.GoToRecord , , acPrevious Case vbKeyRight newKeyCode = vbKeyLeft KeyCode = newKeyCode Case vbKeyLeft newKeyCode = vbKeyRight KeyCode = newKeyCode End Select End Sub
  6. محاولاتي معك بعيدة عن الكمبيوتر ، غدا إن كان في العمر بقية سنحاول المتابعة للوصول الى حل
  7. ما قصدته بالتحايل ،، Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) On Error Resume Next Select Case KeyCode Case vbKeyDown DoCmd.GoToRecord , , acNext Case vbKeyUp DoCmd.GoToRecord , , acPrevious Case vbKeyLeft Me.SetFocus SendKeys "{TAB}" Case vbKeyRight Me.SetFocus SendKeys "+{TAB}" End Select End Sub عكس المفاتيح لنفس الوظيفة ما قصدته
  8. تحايل على الكود بعكس الوظيفتين ، أو جرب هذا التعديل 🤔 . Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) On Error Resume Next Select Case KeyCode Case vbKeyDown DoCmd.GoToRecord , , acNext Case vbKeyUp DoCmd.GoToRecord , , acPrevious Case vbKeyRight Me.SetFocus Screen.PreviousControl.SetFocus SendKeys "{TAB}" Case vbKeyLeft Me.SetFocus Screen.PreviousControl.SetFocus SendKeys "+{TAB}" End Select End Sub
  9. ولأنني غير متواجد حاليا أمام الكمبيوتر ، سأحاول غدا تقديم اقتراح ما لم تحصل على إجابتك من المعلمين والأساتذة 😇 .
  10. مشاركة عالطاير ، جرب هذا التعديل :- Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) On Error Resume Next Select Case KeyCode Case vbKeyDown DoCmd.GoToRecord , , acNext Case vbKeyUp DoCmd.GoToRecord , , acPrevious Case vbKeyRight Me.SetFocus SendKeys "{TAB}" Case vbKeyLeft Me.SetFocus SendKeys "+{TAB}" End Select End Sub
  11. الملف يعمل على 32 بت ، وانا لدي 64 بت للأسف 😪
  12. وبهذا التعديل : Public Function RoundToNearestHalf(ByVal inputValue As Double) As Double Dim absValue As Double absValue = Abs(inputValue) If absValue - Int(absValue) = 0 Then RoundToNearestHalf = inputValue ElseIf absValue - Int(absValue) < 0.5 Then RoundToNearestHalf = Sgn(inputValue) * (Int(absValue) + 0.5) Else RoundToNearestHalf = Sgn(inputValue) * (Int(absValue) + 1) End If End Function
  13. بما ااني حالياً اتابع من الجوال ، لنجرب هذه الفكرة :- Public Function RoundCustom(inputValue As Double) As Double Dim absValue As Double absValue = Abs(inputValue) RoundCustom = Sgn(inputValue) * (Int(absValue) + IIf(absValue - Int(absValue) <= 0.5, 0.5, 1)) End Function والاستدعاء سيكون في الخلية B1 مثلاً :- =RoundCustom(A1) لست ضليعاً في اكسل لهذا الحد ، ولكن هي فكرة وانتظر تجربتها 😅 من طرفكم أستاذنا الكريم.
  14. وعليكم السلام ورحمة الله وبركاته ،، وانا من المؤيدين لما طرحه معلمنا الفاضل @ابوخليل ، واعتقد بما أن للموضوع علاقة بالإجابة التي اعتمدها صاحب الموضوع ، أرى أن عبارة : تم إعتماد هذا الحل قد تكون مناسبة ، وهنا يأتي دور صاحب الموضوع بأن يُحسن اختيار هذه الميزة التي تم منحه إياها تعبيراً عن أن هذا الحل هو الذي تم اعتماده.
  15. في نموذجك ،، اجعل مصدر سجلاته استعلام يضم الحقول التي تريدها ، وفي الحقل الفريد المشترك بينهم وافترض انه رقم الموظف ، اجعل شرطه الكومبوبوكس الذي تريد منه اختيار الموظف ، واجعل مصدر صفه = حقلين من جدول الموظفين ، الأول رقم الموظف والثاني اسم الموظف . ثم في حدث بعض التحديث اجعله يقوم بتحديث النموذج.. لم أكتب لك ولاااا اي كود 😅
  16. رغم أنك في قسم الآكسيس ، والمفترض ان تطرح سؤالك في قسم الويندوز والبرامج على ما اعتقد ، إلا أنه قد يكون هناك فرصة باستخدام الـ PowerShell كالآتي كمحاولة :- Get-ChildItem -File | Group-Object { $_.BaseName } | ForEach-Object { Compress-Archive -Path $_.Group.FullName -DestinationPath "$($_.Name).zip" } في داخل المجلد الذي يحتوي ملفاتك ، اضغط مفتاح Shift داخل المجلد والزر الأيمن للماوس اختر Open PowerShell window here من القائمة . ثم الصق السطر السابق .
  17. استاذنا @AbuuAhmed ، يسعدنا دائما زياراتكم في قسمنا 🤗 . بالنسبة لي اعتمدت هذه الفكرة التي طرحتها وتم تعديلها سابقاً ، كونها لا تؤثر على مجرى العمليات الحسابية ( اذا اعتمدنا على مساواة القيمة الحقيقية والظاهرة من خلال التنسيقات ) . لذا ذهبت الى تحويل الكود الى دالة عامة كالآتي :- Public Function RoundCustom(ByVal inputValue As Double) As Double Dim absValue As Double absValue = Abs(inputValue) RoundCustom = Sgn(inputValue) * (Int(absValue) + IIf(absValue - Int(absValue) <= 0.5, 0.5, 1)) End Function وللإستدعاء بشكل منفرد لكل عنصر نصي ( مربع نص ) في حدث بعد التحديث مثلاً :- Private Sub Text0_AfterUpdate() Text0 = RoundCustom(Text0) End Sub أما من خلال الإستعلام ، فلنا حاجة للإستدعاء كالآتي :- SELECT RoundCustom([اسم_الحقل]) AS RoundedValue FROM اسم الجدول; كمثال للتوضيح :- SELECT RoundCustom([Salary]) AS RoundedSalary FROM Employees; التعليق هو أطراف أفكار ليس إلا .. 😅 رغم ان الموضوع قد تم حسمه وإغلاقه بأفضل إجابة 😁 .
  18. لا اعلم طريقة وبنية الملف الاصلي .. اذا كان بنائه بنفس الاسلوب فحتما ستواجه مشكلة .. هل انتبهت للحدث عند النقر التالي :- Private Sub اقسام_العمل_Click() [Forms]![اقسام العمل]![اقسام العمل] = [اقسام العمل] End Sub
  19. بإذن الله ، قريباً جداً مهندسنا الغالي
  20. لم تقم بالتوضيح اخي الكريم ، الاحصاء يجب ان يكون مستندا الى شروط واضحة ، فالقيم في الجداول مبهمة وقد لا يعرف معناها إلا إنت ، وتحتاج تتبع حتى تتوضح الصورة لمن يقرأ ويطلع على المرفق .. في التقرير مثلاً :- ما النتيجة التي من المفترض ان تكون فيه ؟؟
  21. السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) سأقدم لكم فيما بعد ( مرحلة التطوير والتعديل الأخيرة ) فكرة لتنفيذ عملية التحديث الهوائي ( Online ) . فيما يلي صورة لفكرة التحديث من مشروع قيد التحضير لصديق لي .. انتظرونا
  22. وعليكم السلام اخي @عمار العبيدي ,, سأقدم لك طريقتين ، ولكن أولاً علينا تصحيح الأخطاء التي في النموذج "استعلام6" وهي انك جعلت مصدر البيانات للكومبوبوكس "السنة و الشهر" من نفس الاستعلام . على العموم ، الطريقتين تعتمدان على تغيير مصدر بيانات الكومبوبوكسين . مع تغيير مصدر السجلات لهما بحيث يجلبان فقط رقم السنة ورقم الشهر حسب الكومبوبوكس الآن من خلال الـ VBA وهي الطريقة الأولى قمت بادخال الاستعلام في الدالة التالية :- Private Sub MonthCounter() Dim db As DAO.Database Dim rst As DAO.Recordset Dim strSQL As String Dim MonthNum As Long If IsNull(Me.السنة) Or IsNull(Me.الشهر) Then Me.عدد_الأشهر_المتجاوزة = Null Exit Sub End If strSQL = "SELECT Count(*) AS عدد_الأشهر_المتجاوزة " & _ "FROM جدول2 " & _ "WHERE Year([بداية الاجازة]) = " & Me.السنة & " " & _ "AND Month([بداية الاجازة]) = " & Me.الشهر & " " & _ "AND ((DateDiff('d',[بداية الاجازة],[نهاية الاجازة])+1)>3 " & _ "OR (DateDiff('m',[بداية الاجازة],[نهاية الاجازة])+1)>0)" Set db = CurrentDb Set rst = db.OpenRecordset(strSQL, dbOpenSnapshot) If Not rst.EOF Then MonthNum = rst!عدد_الأشهر_المتجاوزة Else MonthNum = 0 End If Me.عدد_الأشهر_المتجاوزة = MonthNum rst.Close Set rst = Nothing Set db = Nothing End Sub ويتم استدعائها في حدث بعد التحديث للكومبوبوكس ( السنة و الشهر ) Private Sub السنة_AfterUpdate() Call MonthCounter End Sub Private Sub الشهر_AfterUpdate() Call MonthCounter End Sub والنتيجة في النموذج "استعلام6" أما الطريقة الثانية ، فتعتمد على الدالة DCount باستعلام داخلي داخل مصدر بيانات مربع النص "عدد_الأشهر_المتجاوزة" . بحيث يكون مصدر بياناته هذه الجملة الاستعلامية :- =IIf(IsNull([السنة]) Or IsNull([الشهر]),0,Nz(DCount("*","جدول2","Year([بداية الاجازة]) = " & [السنة] & " AND Month([بداية الاجازة]) = " & [الشهر] & " AND ((DateDiff('d',[بداية الاجازة],[نهاية الاجازة])+1)>3 OR (DateDiff('m',[بداية الاجازة],[نهاية الاجازة]) وهي تقوم بحساب عدد السجلات التي تتطابق مع الشرط . ولسلامة القيمة الظاهرة في مربع النص "عدد_الأشهر_المتجاوزة" قمت باستعمال الدالة الشرطية IIF مع IsNull حتى لا تعود لك النتيجة في المربع بالقيمة Error بل بالقيمة 0 . الملف بعد التعديل ( Database2.accdb )
  23. بناءً على ما تفضلتم به أستاذنا الكبير @AbuuAhmed ، فأنه وجب تعديل اقتراحي ليصبح كالآتي :- Private Sub Text0_AfterUpdate() Dim absValue As Double absValue = Abs(Text0) Text0 = Sgn(Text0) * (Int(absValue) + IIf(absValue - Int(absValue) <= 0.5, 0.5, 1)) End Sub
×
×
  • اضف...

Important Information