-
Posts
4560 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
202
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
وعليكم السلام ورحمة الله وبركاته ،، أخي الكريم قبل البدء بطرح الحلول ، هل يوجد اي شروط للسجل الذي تريد حذف أول 3 أرقام منه كما ذكرت ، أم سيكون على جميع السجلات في الحقل EmpID داخل الجدول T1 ؟؟ اذا كان بدون شروط ، فهنا أنت تحتاج لاستعلام تحديث بسيط كالتالي :- UPDATE T1 SET EmpID = Left(EmpID, Len(EmpID) - 3) WHERE Len(EmpID) > 3; في مثالك بعد التعديل ، شوف السجلات قبل تشغيل الاستعلام Query1 وبعد تشغيله إن كانت النتيجة سليمة .. DDFinding Differences-Last.mdb
-
نرجو من مشرفينا الكرام إغلاق هذا الموضوع ، فقد تم الحل في موضوع آخر ، وتم الإعلان والتوجيه له في المشاركة السابقة.
-
العفو اخي الكريم 😇 أين كانت مشكلتك ؟؟
-
تفرق ايه ؟؟؟ الإستدعاء واحد من هنا أو من هناك .. على العموم انا خارج المنزل وبعيد عن الكمبيوتر ، بأقرب فرصة نتابع 😇
-
اخي الكريم ما تم فقط هو اضافة الدالة السابقة ، وإنشاء مربع نص في التقرير فقط لا غير . ولم يتم تعديل أو فتح أي جزء آخر للأسف 🙄 .
-
لا اعلم طبيعة العمل في مشروعك الذي تقوم بالتطبيق عليه ، ولكن كما رأيت في ملفك المرفق تم التطبيق بنفس الخطوات التي ذكرتها لك سابقاً.. او ارسل نسختك ليتم التنفيذ عليها.
-
ولا يهمك اخي سامر .. 😇
-
طيب أخي @2saad ، حتى لا نحمّل الاستعلام مصدر سجلات التقرير حملاً زائداً ( من وجهة نظري ) ، قمت بإنشاء دالة بسيطة تقوم بجلب التلاميذ الذين الدمج لهم <> 1 ، كالتالي :- Public Function GetDamgStudents(lagnaID As Long) As String Dim sql As String Dim hasRecords As Boolean sql = "SELECT Studentname FROM Tbl_student WHERE id_lagna = " & lagnaID & " AND damg_id <> 1 AND alsaf_Id = " & Forms!frm_Reports!ComboSaf With CurrentDb.OpenRecordset(sql) hasRecords = (Not .EOF) Do Until .EOF GetDamgStudents = GetDamgStudents & !Studentname & vbCrLf .MoveNext Loop .Close End With If Not hasRecords Then GetDamgStudents = "لا يوجد تلاميذ دمج لهذه اللجنة" Else GetDamgStudents = Trim(GetDamgStudents) End If End Function وعليه قمت بإنشاء مربع نص = "lstDamgStudents" مصدر بياناته استدعاء الدالة بهذا الشكل :- =GetDamgStudents([id_lagna]) وهذه صورة للنتيجة ، علماً أنك لم تقم بارفاق الملف الصحيح كما في الصورة ( ولا أعتقد أنه ضروري ، بما انك تنقل التعديلات الي مشروعك الرئيسي ) وعليه ، يصبح تعديلي في هذا الملف :- Data21.zip * ملاحظة ، تم عمل تنسيقات بسيطة لاخفاء مربع النص عندما لا يكون في اللجنة تلاميذ دمج ، وتستطيع الاستغناء عن هذه الفكرة طبعاً .
-
ان كان التعبير والشرح غير كافي ، فارسل صورة توضح المطلوب يا صديقي ( على اعتبار انه نفس الطلب الرئيسي لك )
-
انصحك بالبدء بفهم طبيعة تركيب وانشاء استعلام ، ثم توسع للذهاب الى الفلترة من خلال الـ VBA 😉 قمت بانشاء الاستعلام في وضع التصميم أولاً وتعريف المعاملات من خلال الزر ، ثم تضمن الشروط . حيث قمت بإضافة الشروط كما في الصورة التالية مراعياً اظهار السجلات كاملة عند فتح النموذج :- أما فيما يخص جزء PARAMETERS ( أو ما يعرف بالمعاملات ) وشرحها ، فهي كالآتي بشرح مختصر بسيط :- يتم توجيه الحديث مباشرة أنه يا آكسيس هناك بعض القيم سيتم إدخالها من النموذج ( Frm_Bons ) ، فقم بحفظها مؤقتاً لاستخدامها في الفلترة التي سيتم تطبيقها . وتم تطبيق جزء الشروط ( WHERE ) ، كما رأيت سابقاً مع استخدام الدالة Like لعدم التقيد بقيمة محددة كاملة ، بل يمكنك كتابة جزء من القيمة النصية المطلوب البحث عنها والفلترة ، بمعنى أصح وإن جاز التعبير هو نظام يشبه محركات البحث المعتادة مثل جوجل . يعني باختصار ، الاستعلام يعمل عمل فلتر الماء على مراحل يمرر البيانات عبر مرشح العميل أولاً ، ثم مرشح نوع البون ، ثم مرشح التاريخ ، ثم مرشح المنتج . وبالتالي أفضل الاستعلام أكثر من الفلترة من خلال الأكواد لسهولة ومرونة التعامل معه بشكل بصري أكثر من الكتابي . هذا والله أعلم طبعاً 😇
-
استبدل الإستعلام السابق ، بالاستعلام التالي :- PARAMETERS [Forms]![Frm_Bons]![cmpagen] Long, [Forms]![Frm_Bons]![cmpkind] Text ( 255 ), [Forms]![Frm_Bons]![fromdate] DateTime, [Forms]![Frm_Bons]![todate] DateTime, [Forms]![Frm_Bons]![cmb_prod] Text ( 255 ); SELECT tbl_Bons.Bon_nu, tbl_Bons.BonDate, tbl_Bons.Bon_kind, tbl_Bons.agent_id, tbl_Bons.carNo, tbl_Bons.driver_nm, tbl_Bons.Prod_no, tbl_Bons.Qty, tbl_Bons.sale_price, tbl_Bons.Remark, [sale_price] * [Qty] AS txtall FROM tbl_Bons WHERE (tbl_Bons.agent_id=Forms!frm_Bons!cmpagen Or Forms!Frm_Bons!cmpagen Is Null) And (tbl_Bons.Bon_kind Like "*" & Forms!Frm_Bons!cmpkind & "*" Or Forms!Frm_Bons!cmpkind Is Null) And ((tbl_Bons.BonDate>=Forms!Frm_Bons!fromdate Or Forms!Frm_Bons!fromdate Is Null) And (tbl_Bons.BonDate<=Forms!Frm_Bons!todate Or Forms!Frm_Bons!todate Is Null)) And (tbl_Bons.Prod_no Like "*" & Forms!Frm_Bons!cmb_prod & "*" Or Forms!Frm_Bons!cmb_prod Is Null); تطبيق الفلترة على 4 مراحل كما تريد ، ومن رأيي الإستعلام أفضل لك للتعامل مع الفلترة المتعددة
-
تريد الأسهل أم الأصعب لك ولعملك ؟؟ ممكن توضح أكثر ؟
-
العفو أخي الكريم .. لا تنسى إغلاق مواضيعك 😇 .
-
كلامك سليم 100% ، ولكن هناك حل لهذه المشكلة أيضاً نستخدم هذا الكود في حدث "في الحالي - On Current" مع الكود السابق Private Sub Form_Current() Dim bVisible As Boolean bVisible = (Me.total_out <> 0) With Me.CmdM .Transparent = Not bVisible .Enabled = bVisible End With With Me.CmdL .Transparent = Not bVisible .Enabled = bVisible End With With Me.CmdB .Transparent = Not bVisible .Enabled = bVisible End With End Sub DD-JO_2010.accdb
-
وعليكم السلام ورحمة الله وبركاته .. فليسمح لي أخي @kkhalifa1960 ، لم لا نستخدم الدالة "Transparent" !!!! في حدث عند الرسم ( On Paint ) للجزء ( التفاصيل - Detail ) للنموذج ، نكتب الكود التالي :- If Me.total_out = 0 Then Me.CmdM.Transparent = True Me.CmdL.Transparent = True Me.CmdB.Transparent = True Else Me.CmdM.Transparent = False Me.CmdL.Transparent = False Me.CmdB.Transparent = False End If والنتيجة في الصورة التالية :- مرفق مثال الأستاذ خليفة مشكوراً على طرحه ، مع أن الأحق بإرفاق ملف هو أخونا @jo_2010 ، حتى لا نقع في اختلاف الأفكار والتسميات .... إلخ DD-JO_2010.accdb
-
وعليكم السلام ورحمة الله وبركاته ،، أخي الكريم ، قم بتعديل استعلام النموذج الى الاستعلام التالي :- PARAMETERS [Forms]![Frm_Bons]![cmpagen] Long, [Forms]![Frm_Bons]![cmpkind] Text ( 255 ), [Forms]![Frm_Bons]![fromdate] DateTime, [Forms]![Frm_Bons]![todate] DateTime; SELECT tbl_Bons.Bon_nu, tbl_Bons.BonDate, tbl_Bons.Bon_kind, tbl_Bons.agent_id, tbl_Bons.carNo, tbl_Bons.driver_nm, tbl_Bons.Prod_no, tbl_Bons.Qty, tbl_Bons.sale_price, tbl_Bons.Remark, [sale_price] * [Qty] AS txtall FROM tbl_Bons WHERE (tbl_Bons.agent_id=Forms!frm_Bons!cmpagen Or Forms!Frm_Bons!cmpagen Is Null) And (tbl_Bons.Bon_kind Like "*" & Forms!Frm_Bons!cmpkind & "*" Or Forms!Frm_Bons!cmpkind Is Null) And ((tbl_Bons.BonDate>=Forms!Frm_Bons!fromdate Or Forms!Frm_Bons!fromdate Is Null) And (tbl_Bons.BonDate<=Forms!Frm_Bons!todate Or Forms!Frm_Bons!todate Is Null)); وفي مربعات النص الخاصة بالتواريخ ( من - إلى ) و مربعي التحرير والسرد ( cmpagen و cmpkind ) اجعل لهم الحدث بعد التحديث = Me.Requery أما بخصوص الزر CmdRemoveFilter لأزالة الفلترة ، فقد تم تعديله كالتالي :- Private Sub CmdRemoveFilter_Click() Me.FilterOn = False Me.cmpagen = Null Me.cmpkind = Null Me.fromdate = Null Me.todate = Null Me.Requery End Sub ملفك بعد التعديل :- 10.accdb
-
استفسار : هل توجد طريقة لتغيير واجهة موقع اوفسينا الى العربية
Foksh replied to sm44ms's topic in قسم الأكسيس Access
هههههههه ، هو لفظ تعودت عليه ، ولكن العبارة الصحيحة فعلاً "اختر تمت الإجابة" سيتم عمل مسح للكاش بعد هذه الرسالة -
وعليكم السلام ورحمة الله وبركاته ، أهلاً بك في مشاركتك الأولى معنا أخي الكريم . ونتمنى أن تجد الفائدة والمعلومة التي تبحث عنها , دعني ألفت انتباهك الى ضرورة التقيد بسياسة وقوانين المنتدى ، بحيث يتم ارفاق ملف بسيط للمشكلة وشرح وافي وكافي للمطلوب ، حتى تتوضح اصورة لمن يقرأ مشكلتك ويساهم في ايجاد حل مناسب لها . أهلاً وسهلاً ، وشكراً لك رحابة صدرك كما أود لفت انتباهك الى ان زر اختيار افضل إجابة مخصص لتختار الإجابة التي حققت طلبك بشكل كامل . وهي دلالة على ان الموضوع قد تم انهائه بحل المشكلة .
-
أخي طاهر ، الواضح من خلال الكود انك تعتمد على مربع النص IDM كشرط للحصول على رقم الهامش للزوجة ، ولكن!! مربع النص IDM عند الكود التالي :- If SearchListZ.ListIndex = -1 Then Me.IDM = SearchListZ.Column(0, 1) Else: Me.IDM = SearchListZ.Column(0) Cr = DLookup("Hamech", "Tbl_ZAWJA", "IDM =" & Me.IDM) If Cr = 4 Then MsgBox " تنبيه ! هذه الزوجة متوفيه" DoCmd.Close acForm, "A1" تكون قيمته = تاريخ ميلاد الزوجة ، وهنا لا تتم المقارنة بالشرط بشكل صحيح . لذا ، انشئ مربع نص جديد على سبيل المثال Tx_IDM ، واجعل قيمته = رقم الزوجة Me.Tx_IDM = [Forms]![Search_Frm]![IDM] ثم عدل الجزء السابق ليصبح :- If SearchListZ.ListIndex = -1 Then Me.IDM = SearchListZ.Column(0, 1) Else: Me.IDM = SearchListZ.Column(0) Cr = DLookup("Hamech", "Tbl_ZAWJA", "IDM =" & Me.Tx_IDM) If Cr = 4 Then MsgBox " تنبيه ! هذه الزوجة متوفيه" DoCmd.Close acForm, "A1" وعليه سيظهر لك مسج انه هذه الزوجة متوفية ، ونفس الشيء عند الزوج في مربع النص IDP ، هو شرط لجلب قيمة الهامش ، ولكن قيمته = تاريخ ميلاد الزوج قمت بذكر المشكلة وتركت الحل لك لتتبين لك الأمور بشكل واضح .
-
أخي طاهر ، الواضح من خلال الكود انك تعتمد على مربع النص IDM كشرط للحصول على رقم الهامش للزوجة ، ولكن!! مربع النص IDM عند الكود التالي :- If SearchListZ.ListIndex = -1 Then Me.IDM = SearchListZ.Column(0, 1) Else: Me.IDM = SearchListZ.Column(0) Cr = DLookup("Hamech", "Tbl_ZAWJA", "IDM =" & Me.IDM) If Cr = 4 Then MsgBox " تنبيه ! هذه الزوجة متوفيه" DoCmd.Close acForm, "A1" تكون قيمته = تاريخ ميلاد الزوجة ، وهنا لا تتم المقارنة بالشرط بشكل صحيح . لذا ، انشئ مربع نص جديد على سبيل المثال Tx_IDM ، واجعل قيمته = رقم الزوجة Me.Tx_IDM = [Forms]![Search_Frm]![IDM] ثم عدل الجزء السابق ليصبح :- If SearchListZ.ListIndex = -1 Then Me.IDM = SearchListZ.Column(0, 1) Else: Me.IDM = SearchListZ.Column(0) Cr = DLookup("Hamech", "Tbl_ZAWJA", "IDM =" & Me.Tx_IDM) If Cr = 4 Then MsgBox " تنبيه ! هذه الزوجة متوفيه" DoCmd.Close acForm, "A1" وعليه سيظهر لك مسج انه هذه الزوجة متوفية ، ونفس الشيء عند الزوج في مربع النص IDP ، هو شرط لجلب قيمة الهامش ، ولكن قيمته = تاريخ ميلاد الزوج قمت بذكر المشكلة وتركت الحل لك لتتبين لك الأمور بشكل واضح .
-
لماذا في الخاص أخي طاهر ,, المنتدى قائم على الفائدة العامة وللجميع ، أم هل هو صعب عليك أن تقوم بفتح موضوع جديد !!
-
استفسار : هل توجد طريقة لتغيير واجهة موقع اوفسينا الى العربية
Foksh replied to sm44ms's topic in قسم الأكسيس Access
العفو اخي الكريم ، فضلاً وليس أمراً .. لا تنسى اغلاق الموضوع باختيار افضل اجابة . -
كيف يمكن فتح النموذج المنبثق في الأعلى دائماً ؟
Foksh replied to sm44ms's topic in قسم الأكسيس Access
ارسل ملفك !!