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

Foksh

أوفيسنا
  • Posts

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

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

  • Days Won

    182

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

  1. وعليكم السلام ورحمة الله وبركاته .. بدايةً أهلاً وسهلاً بك أخي الكريم في المنتدى ، ونتمنى أن تجد ما تبحث عنه دائماً . وطبعاً ذلك يتحقق أولاً باتباع قواعد وسياسة المنتدى للحصول على نتيجة لطلبك ؛ بحيث يكون العنوان ذو شرح مختصر يدل على المشكلة . ومن ثم التوضيح في الطلب داخل المشاركة دون البخل ( ) في الكلمات على أصدقائك وأخوتك هنا . وكي تدعم شرحك وجوب وضرورة ارفاق ملف بسيط ليتم التعديل عليه بعد رؤية المشكلة على أرض الواقع .
  2. أخي طاهر ، هل هذا ما تريده ؟؟ إذا كان هو فعلاً ، فانظر ماذا سنفعل . أولاً انشاء مربع نص ولنفترض اسمه = txtRowNumber ، وسنجعل قيمته أو مصدر بياناته = "=1" ليقوم بعد السجلات الحالية في التقرير . ( الإضافات حتى لا نقوم بتعديل أي تركيبة في تقريرك وللتوضيح طبعاً ) ثانياً إنشاء مربع نص أيضاً للتاريخ ولنفترض اسمه = txtAutoDateDisplay . وسنجعل له قيمة مصدر بيانات بناءً على الاستعلام مصدر التقرير = =IIf([txtRowNumber]=Int(DCount("*","tbl_Loans","EmployeeID=" & [EmployeeID] & " AND Auto_Date=#" & [Auto_Date] & "#")/2)+1,[Auto_Date],"") حيث الهدف من فكرتي هو عدّ السجلات بناءً على مربع النص txtRowNumber وقسمتها على 2 للتوسيط وبالتقريب طبعاً حتى لة كان عدد السجلات 10 مثلاً فسيكون العرض في السجل 6 مثلاً . ثالثاً إنشاء مربع نص أيضاً للرقم وسأفترض اسمه = txtEmployeeIDDisplay . وسيكون له قيمة مصدر بيانات = =IIf([txtRowNumber]=Int(DCount("*","tbl_Loans","EmployeeID=" & [EmployeeID] & " AND Auto_Date=#" & [Auto_Date] & "#")/2)+1,[EmployeeID],"") وطبعاً قمت بإخفاء الحقول الأصلية . ولكن عليك تجربة الفكرة على سجلات كثيرة للتأكد من الفكرة . المرفق لتجربته :- Z1.zip
  3. للأسف هذا ما وجدته من خلال البحث أخي الكريم .. قد تجد حلول أخرى لمن مر بهذه المشكلة . ولذلك فقط عندما تجد الحل . تم إلغاء إختيار تمت الإجابة .
  4. وعليكم السلام ورحمة الله وبركاته .. الق نظرة على هذا الفيديو أولاً :- وهذا الرابط هنا الذي يوضح طريقة تسجيل المكتبة من خلال موجه الأوامر ..
  5. وعليكم السلام ورحمة الله تعالى وبركاته.. الملف بصيغة Accde ولا يمكن تعديله وحفظه لما طلبت.
  6. تم التعامل مع المشكلة بتغيير اسلوب التنفيذ في المشاركة الرئيسية .
  7. وعليكم السلام ورحمة الله وبركاته .. مشاركة مع أخي @moho58 . أخي الكريم .. الواجب والأصل أن تحدد الشرط الثاني ما إذا كان رقمي أم نصي أم تاريخ . لأن لكل حالة تحتلف صيغة الكود . فعلى سبيل المثال :- اذا كان الحقل نصي :- Private Sub cmd_rpt_Details_Click() Call Make_QR_Barcode DoCmd.OpenReport "rpt_QR_Item", acViewPreview, , "[N_T]='" & Me.N_T & "' AND [RAIANESAMI]='" & Me.RAIANESAMI & "'" End Sub اذا كان الحقل رقمي :- Private Sub cmd_rpt_Details_Click() Call Make_QR_Barcode DoCmd.OpenReport "rpt_QR_Item", acViewPreview, , "[N_T]='" & Me.N_T & "' AND [RAIANESAMI]=" & Me.RAIANESAMI End Sub أما اذا كان الحقل تاريخ على سبيل المثال :- Private Sub cmd_rpt_Details_Click() Call Make_QR_Barcode DoCmd.OpenReport "rpt_QR_Item", acViewPreview, , "[N_T]='" & Me.N_T & "' AND [RAIANESAMI]=#" & Format(Me.RAIANESAMI, "dd/mm/yyyy") & "#" End Sub لاحظ أنني استخدمت اسمك بدلاً من اسم الحقل والمطابق لشرطه ( مربع النص ) = RAIANESAMI
  8. أخي الكريم ، السلام عليكم ورحمة الله وبركاته .. أهلاً وسهلاً بك كعضو جديد في هذا الصرح الكبير . ونتمنى أن تجد المعلومة والمساعدة التي تبحث عنها بداية وحتى لا تتعرض مواضيعك للحذف وعدم المتابعة ، عليك أولاً بقراءة قواعد المشاركات في المنتدى من خلال :- اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة ثانياً وفيما يخص العناوين ، عليها أن تكون ذات دلالة على المطلوب ( وليس عناوين دراماتية لا تدل على المطلوب ) .
  9. وعليكم السلام ورحمة الله وبركاته ، أنصحك بدايةً بفتح موضوع جديد في قسم الآكسيس ، وليس في قسم مكتبة الموقع . ثانياً اشرح شرحاً وافياً كافياً للمطلوب . فلا أعتقد ان 17 كلمة كافية لتوصيل المعلومة لمن يقرأ موضوعك أخي الكريم . ثالثاً وكي تبدأ بداية سليمة ( وأنت بدأت بداية طيبة جزئياً ) ولكن لتكملها - لا تستعمل أسماء تحتوي فراغات ومسافات لحقول أو مكونات أو عناصر مثل الحقل "Material Description E" . فهذا سيربكك ويصعب عليك الأمور لاحقاً في الاستعلامات أو الأكواد ..... إلخ . فالأصح على سبيل المثال بدلاً من استعمال المسافة أن تستعمل رمز "_" الشرطة السفلية لتصبح النتيجة مثلاً = "Material_Description_E" . افتح موضوعك الجديد في قسم الآكسيس مباشرة وستجد الكثير من الدعم لك 👍 تم اغلاق هذه الموضوع
  10. مع الإستمرار بنفس الأسلوب الحالي لصاحب الطلب ، هذه فكرة بسيطة بدون فكرة التهميز ( مع أني غير مقتنع 😅 ) . الدالة البسيطة :- Sub SearchRecords() On Error GoTo ErrorHandler Dim strSearch As String Dim strFilter As String strSearch = Trim(Nz(Me.txtSearchName.Value, "")) If strSearch = "" Then Me.Filter = "" Me.FilterOn = False MsgBox "تم إظهار جميع السجلات", vbInformation + vbMsgBoxRight, "" Else strFilter = "[الاسم] LIKE '*" & strSearch & "*' " & _ "OR [الدور] LIKE '*" & strSearch & "*' " & _ "OR [المدرسه] LIKE '*" & strSearch & "*' " & _ "OR [سنة التخرج] LIKE '*" & strSearch & "*' " & _ "OR CStr([م]) LIKE '*" & strSearch & "*' " & _ "OR CStr([المجموع]) LIKE '*" & strSearch & "*'" Me.Filter = strFilter Me.FilterOn = True If Me.Recordset.RecordCount > 0 Then MsgBox "تم العثور على " & Me.Recordset.RecordCount & " سجل", vbInformation + vbMsgBoxRight, "" Else MsgBox "لم يتم العثور على نتائج للبحث : " & strSearch, vbExclamation + vbMsgBoxRight, "" End If End If Exit Sub ErrorHandler: MsgBox "حدث خطأ أثناء البحث", vbExclamation + vbMsgBoxRight, "" End Sub واستدعائها عند النقر للزر :- Private Sub cmdSearch_Click() Call SearchRecords End Sub from 93 to 2007.zip
  11. في فكرتك هذه ، سيكون هناك مشاكل ستواجهك بما أن النموذج مخصص للإدخال . فرغم اعتمادك سلوك غير صحيح في التصميم ( كالحقول العريبة بمسمياتها ، أو المكونة من مقطعين .... إلخ ) . فمثلاً لو انت بتدخل بيانات وفي لحظة أردت البحث عن اسم قبل اكتمال باقي البيانات التي كنت تدخلها ، فهنا سيكون لديك سجل غير مكتمل ومحفوظ لأنه عند الخروج أو التحديث للنموذج بأي موضع سيتم حفظ السجل تلقائياً . ناهيك عن مشاكل التكرار التي ستواجهها . لذا برأيي أنصحك أن تقوم بعمل نموذج مخصص للبحث ومنفصل عن نموذج الإدخال . ستجد الكثير من الحلول ولكن اتبع السلوك المنطقي والسليم والذي سيكون مريحاً لك عند البدء بتطوير مشروعك بشل أوسع من مجرد نموذج .
  12. من باب التجربة الشخصية .. اجعل الحدث TimerInterval = 500 وليس 1000 وجرب هل تأثر ( اختلفت النتيجة ) معك الترميش أو الوميض ؟؟؟؟
  13. تم إغلاق التجربة ، شكراً لكل من ساهم في متابعتي للنتيجة وتفاعله معي
  14. هنا سيكون شرطاً لاستيراد الحقول أن يكون كل حقل في اكسل يقابله حقل من نفس نوع البيانات في اكسيس. ولكن ماذا اذا تم إضافة حقول او أعمدة جديدة 😁 !؟ لذا كان الأنسب أن يكون الإختيار حر ويدوي. ولكن قد نضيفها لاحقاً في تعديل جديد.
  15. سيتم متابعة الملاحظة والإضافة في نسخة جديدة للإصدارين .
  16. ما الهدف أخي الكريم ..؟؟؟؟ الأداة وظيفتها حذف السجلات المتكررة بتطابق 100% ضمن القيم في حقولها !!!!!!
  17. كلامك سليم أخي @منتصر الانسي ، وانا قد قمت بتعديل ردي سابقاً بعد ان قمت بنشره ثم الاطلاع على ملفك ، وإضافتي الأخيرة كانت لا حاجة لها .
  18. أخي الكريم ، كان حلك بسيط جداً وهو بإضافة جملتين فقط للتفعيل وجملتين للمنع ، كود حدث في الحالي للنموذج :- Private Sub Form_Current() On Error GoTo ErrorHandler Dim frmSub As Form If Not IsNull(Me.تحليلى_البيع) Then Set frmSub = Me.تحليلى_البيع.Form If Me.NewRecord Then Me.أمر19.Caption = "إغلاق" frmSub.AllowEdits = True frmSub.AllowAdditions = True frmSub.AllowDeletions = True Me.AllowEdits = True Me.AllowDeletions = True ElseIf frmSub.RecordsetClone.RecordCount > 0 Then Me.أمر19.Caption = "تعديل" frmSub.AllowEdits = False frmSub.AllowAdditions = False frmSub.AllowDeletions = False Me.AllowEdits = False Me.AllowDeletions = False Else Me.أمر19.Caption = "إغلاق" frmSub.AllowEdits = True frmSub.AllowAdditions = True frmSub.AllowDeletions = True Me.AllowEdits = True Me.AllowDeletions = True End If End If ExitHandler: Set frmSub = Nothing Exit Sub ErrorHandler: MsgBox "حدث خطأ أثناء تحميل البيانات", vbCritical + vbMsgBoxRight, "" Resume ExitHandler End Sub أو كما أشار إليك الأستاذ @منتصر الانسي ، باستعمال جملة منع و منح صلاحية التعديل فقط ( انا قمت بمنع التعديل والاضافة والحذف ) - باستعمال جملته التالية ولكن في مكانها الصحيح :- Me.AllowEdits = frmSub.AllowEdits وكود الزر لا تعديل عليه بعد التعديل.zip
  19. 📺 قريباً.. انتظرونا في النسخة الأولى من Foksh TV - فوكش تي ڤي 2025 . الفيديو مقتطف ، لمحاولة تصغير حجم الملف نسخة تجريبية بإصدار 64 تحتوي 3 قنوات حالياً ، وهي قيد التطوير 😉 FokshTV - 64.zip
  20. العفو أخي الكريم.. ويسعدنا مشاركتك الحل بالنتيجة لتتوضح المشكلة لمن يمر بها ويقرأ موضوعك.
  21. وعليكم السلام ورحمة الله وبركاته.. بما ان المنتج هو العامل المشترك بين الحركات ، فهذا يعني ان لكل منتج قيم تمثل تاريخ صلاحية وسعر وضريبة وسعر شراء تخصه. لذا المفترض ان تكون الحقول في تفاصيل الفاتورة وليس في رأس الفاتورة. هذه تصوري ، ومتابعتي من الجوال
  22. قد غفلت عنه فعلاً.. ولكن تستطيع انت ان تعدل وتقوم بإضافة سطر السماح بالتعديل او منع التعديل بنفس أماكن السماح والمنع للنموذج الفرعي. ما لم تستطع ، فليوم غد إن شاء الله تعالى
  23. وعليكم السلام ورحمة الله وبركاته .. جرب هذا التعديل بعد التعديل.zip
×
×
  • اضف...

Important Information