بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
3703 -
تاريخ الانضمام
-
Days Won
149
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
حبيبي يا بشار ، الله يسعدك ، الحمد لله بخير .. انت اللي مختفي يا زلمة .. جرب هذا التعديل بحيث انه يمر على كل السجلات ، طبعاً لم يتم تعديل اي فكرة من الاستعلامات الـ 3 اللي انت عاملها .. Private Sub e2_Click() Dim i As Integer Dim ctl As Form Set ctl = Me.dff.Form Dim foundValid As Boolean foundValid = False For i = 0 To ctl.Recordset.RecordCount - 1 ctl.Recordset.AbsolutePosition = i If ctl.Controls("hgf").Value = True Then foundValid = True ctl.Controls("c4").Value = Nz(ctl.Controls("c1").Value, 0) - Nz(ctl.Controls("c3").Value, 0) End If Next i If Not foundValid Then MsgBox "لم يتم إدخال أدوية - سيتم الخروج الآن", vbExclamation, "إدارية" DoCmd.Close Exit Sub End If Me.dff.Requery DoCmd.SetWarnings False DoCmd.OpenQuery "efkt_aa", acViewNormal DoCmd.OpenQuery "del_efktc", acViewNormal DoCmd.OpenQuery "ry", acViewNormal DoCmd.SetWarnings True Me.Requery Me.Refresh Me.e2.Enabled = False MsgBox "تم بنجاح", vbInformation, "إدارية" DoCmd.Close DoCmd.OpenForm "efkt" End Sub
-
وعليكم السلام ورحمة الله وبركاته أخي بشار .. بعد تجربة المرفق ، يتم انقاص قيمة الكمية من السجل الأول فقط في ملفك المرفق .. أو يمكنك التوضيح اكثر ليتم فهم المطلوب بشكل جيد عن القيمة المطلوب انقاصها من السجل الأول !!!!
-
بعد إذن معلمي الفاضل @ابوخليل ، قمت بدمج الإستعلامين كما فعلت في السابق ، مع إضافة شرطين ( الفصل والصف ) . أخي @2saad انشئ استعلام جديد وألصق الكود التالي :- PARAMETERS [Forms]![frm_Reports]![ComboSaf] Short, [Forms]![frm_Reports]![termNum] Short; TRANSFORM IIf([Forms]![frm_Reports]![termNum]=1,First(qry_master.mgmo1),First(qry_master.mgmo2)) AS FirstOfmgmo SELECT qry_master.alsaf_Id, qry_master.draseDate, qry_master.Stucard, qry_master.Studentname, qry_master.fsl_id, qry_master.Stugalos, qry_master.StuSery, qry_master.gender, qry_Temp.vHodor, qry_Temp.alnesbah, qry_Temp.tgyeem1, qry_Temp.hala FROM qry_master LEFT JOIN qry_Temp ON qry_master.Stucard = qry_Temp.Stucard WHERE (((qry_master.alsaf_Id)=[Forms]![frm_Reports]![ComboSaf])) GROUP BY qry_master.alsaf_Id, qry_master.draseDate, qry_master.Stucard, qry_master.Studentname, qry_master.fsl_id, qry_master.Stugalos, qry_master.StuSery, qry_master.gender, qry_Temp.vHodor, qry_Temp.alnesbah, qry_Temp.tgyeem1, qry_Temp.hala PIVOT qry_master.madaNum In (1,2,3,4,5,6,7,8,9,10,11,12,13,14); واجعله مصدر سجلات التقرير السابق نفسه ، وجرب النتيجة .
-
وعليه ، "قضي الأمر الذي فيه تستفتيان" وعليه تم الحل بالتعديل الذي أشار إليه أستاذي الفاضل ( أساس الموضوع ) 😇 .
-
وعليكم السلام ورحمة الله وبركاته ، أخي الكريم ، ودون العبث في تأسيس الإستعلامات الرئيسية لديك التي قام بها معلمي الفاضل @ابوخليل والتي هي أساس النجاح الذي وصل إليه المشروع الى هذه اللحظة ، سأقوم بانشاء استعلام جديد وسأفترض تسميته = qry_DarajatData مبنياً على فكرة دمج الإستعلامين ( qry_drjat_term1 و qry_drjat_term2 ) في استعلام واحد يحقق الغاية التي تريدها ، وسيكون كود SQL لهذا الاستعلام الجديد كالآتي :- PARAMETERS [Forms]![frm_Reports]![ComboSaf] Short, [Forms]![frm_Reports]![termNum] Short; TRANSFORM IIF([Forms]![frm_Reports]![termNum]=1, First(qry_master.mada1), First(qry_master.mada2)) AS FirstOfmada SELECT qry_master.alsaf_Id, qry_master.draseDate, qry_master.Stucard, qry_master.Studentname, qry_master.fsl_id, qry_master.Stugalos, qry_master.StuSery, qry_master.gender, qry_Temp.vHodor, qry_Temp.alnesbah, qry_Temp.tgyeem1, qry_Temp.hala FROM qry_master LEFT JOIN qry_Temp ON qry_master.Stucard = qry_Temp.Stucard WHERE (((qry_master.alsaf_Id)=[Forms]![frm_Reports]![ComboSaf])) GROUP BY qry_master.alsaf_Id, qry_master.draseDate, qry_master.Stucard, qry_master.Studentname, qry_master.fsl_id, qry_master.Stugalos, qry_master.StuSery, qry_master.gender, qry_Temp.vHodor, qry_Temp.alnesbah, qry_Temp.tgyeem1, qry_Temp.hala PIVOT qry_master.madaNum In (1,2,3,4,5,6,7,8,9,10,11,12,13,14); واجعل هذا الاستعلام الجديد مصدر سجلات التقرير rep_Kashf ولاحظ النتيجة ان كانت سليمة أم لا ,, مرفقك بعد التعديل Data19.zip
-
المشروع بحاجة الى اعادة بناء ، وخصوصاً موضوع الجداول والعلاقة فيما بينها ، ثم النقطة المتكررة دائماً وهي الإبتعاد عن الأسماء المحجوزة لآكسيس من أسماء الحقول والجداول والعناصر ... إلخ الآن النقطة الثانية انظر الصورة التالية لمصدر سجلات النموذج :- ما علاقة الجداول Data,Location_all,Location في النموذج . هذا أولاً .. ثانياً هل الجدول Data (وهو اسم محجوز لآكسيس) ، يتم تخزين قيم من النموذج الى هذا الجدول ؟؟؟؟؟ إن كان لا !! فلا حاجة لوجوده كمصدر سجلات ( من وجهة نظري ) لجلب البيانات منه . ومن هنا سكفيك وجود الجدول Fawri فقط كمصدر لتخزين القيم من النموذج مع ضبط الحدث بعد التحديث بحيث عند اختيار اسم الموظف يتم ادراج القيم الخاصة به الى مربعات النص في النموذج . هذه وجهة نظري ( الغير ملزمة طبعاً ودائماً ) .. مرفق لفكرة بدائية بسيطة لجلب القيم للموظف الذي تم اختياره من الكومبوبوكس جربه وأخبرني بالنتيجة .. Pepsi.zip
-
وعليكم السلام ورحمة الله وبركاته ، افتح موضوع جديد اخي الكريم ، وان شاء الله بتلقى إجابة لسؤالك .
-
تم الحل في هذا الموضوع : البحث عن تكرار في فترة زمنية سابقة ب 03 شهور
-
العفو أخي الكريم @2saad
-
العفو أخي الكريم ,,
-
جميل جداً .. اذا تفضل هذا الاستعلام بعد ضبط الفرز بشكل تصاعدي للتاريخ SELECT R.[تاريخ المستند], R.[نوع المستند], R.[رقم المستند], W.[اسم المادة ومواصفاتها], W.[الرقم الرمزي], IIf(R.[نوع المستند]='وارد مخزني',W.[الكمية رقما],Null) AS [كمية واردة], IIf(R.[نوع المستند]='صادر مخزني',W.[الكمية رقما],Null) AS [كمية مصروفة], (SELECT Sum(IIf(R2.[نوع المستند]='وارد مخزني', W2.[الكمية رقما], 0)) - Sum(IIf(R2.[نوع المستند]='صادر مخزني', W2.[الكمية رقما], 0)) FROM [راس الوارد] AS R2 INNER JOIN [اطراف الوارد] AS W2 ON R2.[كود المستند] = W2.[كود المستند] WHERE W2.[الرقم الرمزي] = W.[الرقم الرمزي] AND ( R2.[تاريخ المستند] < R.[تاريخ المستند] OR ( R2.[تاريخ المستند] = R.[تاريخ المستند] AND R2.[رقم المستند] < R.[رقم المستند] ) OR ( R2.[تاريخ المستند] = R.[تاريخ المستند] AND R2.[رقم المستند] = R.[رقم المستند] AND W2.[كود الطرف] <= W.[كود الطرف] ) ) ) AS [الرصيد التراكمي] FROM [راس الوارد] AS R INNER JOIN [اطراف الوارد] AS W ON R.[كود المستند] = W.[كود المستند] ORDER BY R.[تاريخ المستند], W.[الرقم الرمزي], R.[تاريخ المستند], R.[رقم المستند], W.[كود الطرف];
-
حسناً أخي @Ahmed_J ، قبل الشروع في تنفيذ فكرتك ، هل المطلوب تحقيقه بهذه النتيجة ؟؟؟ Query3 تاريخ المستند نوع المستند رقم المستند اسم المادة ومواصفاتها الرقم الرمزي كمية واردة كمية مصروفة الرصيد التراكمي 2025-05-06 وارد مخزني 46324 ورق A4 11111 10 10 2025-05-08 صادر مخزني 100 ورق A4 11111 1 9 2025-05-09 صادر مخزني 45 ورق A4 11111 5 4 2025-05-09 صادر مخزني 45 ورق A4 11111 3 1 2025-05-06 وارد مخزني 46324 ورق A3 22222 8 8 2025-05-09 صادر مخزني 45 ورق A3 22222 5 3
-
البحث عن تكرار في فترة زمنية سابقة ب 03 شهور
Foksh replied to RAIANESAMI's topic in قسم الأكسيس Access
العفو أخي الكريم .. -
العفو أخي الكريم ،، ما عليك فعله هو كالآتي ، تحديد مربعات النص من 1 - 12 ، ثم التوجه الى التنسيق الشرطي ، وتقوم بإضافة شرطين كالآتي :- التطبيق في المرفق التالي :- Data19.zip
-
البحث عن تكرار في فترة زمنية سابقة ب 03 شهور
Foksh replied to RAIANESAMI's topic in قسم الأكسيس Access
وهذا هو الاستعلام أخي الكريم :- SELECT t1.* FROM test AS t1 INNER JOIN (SELECT a.[رقم الزبون], a.[إسم المادة], a.[حجم المادة] FROM test AS a INNER JOIN ( SELECT [رقم الزبون], [إسم المادة], [حجم المادة], MAX([تاريخ الفاتورة]) AS MaxDate FROM test GROUP BY [رقم الزبون], [إسم المادة], [حجم المادة] ) AS b ON a.[رقم الزبون] = b.[رقم الزبون] AND a.[إسم المادة] = b.[إسم المادة] AND a.[حجم المادة] = b.[حجم المادة] WHERE a.[تاريخ الفاتورة] >= DateAdd("m", -3, b.MaxDate) GROUP BY a.[رقم الزبون], a.[إسم المادة], a.[حجم المادة] HAVING COUNT(*) > 1 ) AS t2 ON (t1.[حجم المادة] = t2.[حجم المادة]) AND (t1.[إسم المادة] = t2.[إسم المادة]) AND (t1.[رقم الزبون] = t2.[رقم الزبون]) WHERE (((t1.[تاريخ الفاتورة])>=DateAdd("m",-3,(SELECT MAX(x.[تاريخ الفاتورة]) FROM test AS x WHERE x.[رقم الزبون] = t1.[رقم الزبون] AND x.[إسم المادة] = t1.[إسم المادة] AND x.[حجم المادة] = t1.[حجم المادة] )))); رغم أنني سأكرر عليك ما تم الإشارة إليه في الكثير من المواضيع ، وهي استعمالك للأسماء العربية في الحقول و أسماء الجداول ... إلخ من مكونات قاعدة البيانات . -
هل تريد فعلاً العودة الى تلوين مربع النص حسب قيمته ؟؟؟؟ يعني اذا كان مربع النص 1 = أصفر = لون الخلفية أصفر !!!! واذا كان مربع النص 7 مثلاً = أزرق = لون خلفيته = أزرق !!!! نرجو منك التوضيح لأنك - واعذرني دون قصد - تفتقر الى الشرح المفهوم في معظم طلباتك وتكون عادة مبهمة وغير صريحة في تحديد المطلوب . بالنسبة الى طلبك وإن كان فعلاً ها ما تريده ، فأنا لن أعود بك الى ما كنت عليه سابقاً وسأجعلك تحاول تنفيذ ذلك من خلال التنسيق الشرطي فعلاً لمربعات النص المستهدفة في التلوين ,.
-
البحث عن تكرار في فترة زمنية سابقة ب 03 شهور
Foksh replied to RAIANESAMI's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. أخي الكريم ، في استعلامك ، تظهر النتائج بهذا الشكل :- استعلام1 ID تاريخ الفاتورة رقم الزبون إسم المادة حجم المادة 1 2025-03-01 1001 سردين 1000غ 8 2025-03-01 1001 سردين 1000غ 12 2025-03-01 1006 جبن 500غ 13 2025-02-20 1006 جبن 500غ 14 2025-01-01 1006 جبن 500غ 15 2024-12-01 1006 جبن 500غ 16 2024-11-01 1006 جبن 500غ 17 2024-10-01 1006 جبن 500غ الآن كنوع من التوضح ، هل النتيجة التي تريدها = :- Query1 ID تاريخ الفاتورة رقم الزبون إسم المادة حجم المادة 1 2025-03-01 1001 سردين 1000غ 2 2025-01-01 1002 سردين 100غ 3 2025-01-01 1003 اللحم 500غ 4 2025-09-01 1004 طماطم 1000غ 5 2025-01-01 1005 طماطم 500غ 6 2025-01-01 1006 مشروب عازي 1ا 8 2025-03-01 1001 سردين 1000غ 9 2025-01-01 1001 سردين 50غ 10 2025-04-01 1002 مشروب عازي 2ل 11 2025-02-01 1006 طماطم 500غ 12 2025-03-01 1006 جبن 500غ 13 2025-02-20 1006 جبن 500غ 14 2025-01-01 1006 جبن 500غ 15 2024-12-01 1006 جبن 500غ أم هل لك أن توضح بشكل أكبر بناءً على مثالك ما النتائج التي يجب أن تظهر لك ؟؟؟ أم هذه النتيجة :- Query2 ID تاريخ الفاتورة رقم الزبون إسم المادة حجم المادة 1 2025-03-01 1001 سردين 1000غ 8 2025-03-01 1001 سردين 1000غ 12 2025-03-01 1006 جبن 500غ 13 2025-02-20 1006 جبن 500غ 14 2025-01-01 1006 جبن 500غ 15 2024-12-01 1006 جبن 500غ -
اخي احمد ، استثني حقل تاريخ آخر حركة فليس له علاقة في نتيجة الاستعلام 😅 . حتى حقل نوع آخر حركة لا يفيدك بشيء 😇 . فما يهمك هو الرصيد التراكمي النهائي. أما خلاف ذلك فأعتقد انني لم استوعب هدفك جيداً.
-
تفضل ، هذا الاستعلام للتجربة .. SELECT W.[اسم المادة ومواصفاتها], W.[الرقم الرمزي], W.[وحدة القياس], Sum(IIf(R.[نوع المستند]='وارد مخزني',W.[الكمية رقما],0))-Sum(IIf(R.[نوع المستند]='صادر مخزني',W.[الكمية رقما],0)) AS [الكمية الموجودة], Max(R.[تاريخ المستند]) AS [تاريخ آخر حركة], (SELECT TOP 1 R2.[نوع المستند] FROM [راس الوارد] AS R2 INNER JOIN [اطراف الوارد] AS W2 ON R2.[كود المستند] = W2.[كود المستند] WHERE W2.[الرقم الرمزي] = W.[الرقم الرمزي] ORDER BY R2.[تاريخ المستند] DESC, R2.[رقم المستند] DESC, W2.[كود الطرف] DESC ) AS [نوع آخر حركة] FROM [اطراف الوارد] AS W INNER JOIN [راس الوارد] AS R ON W.[كود المستند] = R.[كود المستند] GROUP BY W.[اسم المادة ومواصفاتها], W.[الرقم الرمزي], W.[وحدة القياس]; النتيجة = Query2 اسم المادة ومواصفاتها الرقم الرمزي وحدة القياس الكمية الموجودة تاريخ آخر حركة نوع آخر حركة ورق A3 22222 بند 3 2025-05-09 صادر مخزني ورق A4 11111 بند 1 2025-05-09 صادر مخزني
-
لا مشكلة ، ولكن في المرفق لا يوجد نماذج !!!
-
وعليكم السلام ورحمة الله وبركاته ، رغم أنني لا أشجع دائماً على استخدام المسميات العربية للحقول والجداول ، إلا أنه وعلى ما يبدو لا خلاص من النُصح بخصوص هذه النقطة . على العموم .. من خلال جداولك التي ارفقتها ، وبناءً على القيم التي فيها كحركة وارد للصنف ، في جدولك مادتين هما :- اطراف الوارد اسم المادة ومواصفاتها الرقم الرمزي ورق A4 11111 ورق A3 22222 ورق A4 11111 ورق A3 22222 ورق A4 11111 ورق A4 11111 هل هذا صحيح أولاً ؟ أي أن الرقم الرمزي هو معرف المادة ؟؟؟؟ ان كان ما توضح لي صحيحاً ، فإنه كنتيجة الوارد سيكون عندك الناتج كالآتي :- اطراف الوارد اسم المادة ومواصفاتها الرقم الرمزي الكمية الموجودة ورق A4 11111 19 ورق A3 22222 13 هل هذا التصور صحيح ؟؟ أم ان النتيجة المتوقعه = Query1 اسم المادة ومواصفاتها الرقم الرمزي الكمية الموجودة ورق A3 22222 3 ورق A4 11111 1
-
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
Foksh replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
ما دفعني الى البحث في الانترنت عن بعض المصادر التي تتعلق بهذه النقطة . هذه بعض الصفحات التي تحدثت عن المشكلة التي ذكرتها سابقاً :- توضح مايكروسوفت أن استخدام نفس الاسم لمشروع VBA ( و / أو ) وحدة أو مكتبة مرجعية يمكن أن يؤدي إلى تعارضات ، ويُنصح بتغيير أحد الأسماء لتجنب ذلك . المصدر : Microsoft Learn . تشير مايكروسوفت إلى أن تسمية مشروع VBA بنفس اسم كائن موجود في آكسيس ( مثل "Form" أو "Application" ) يمكن أن يؤدي إلى تعارضات ، وقد يتم تعديل الاسم تلقائياً بإضافة شرطة سفلية لتجنب ذلك . المصدر : Microsoft Learn . في منتديات الدعم الخاصة بمايكروسوفت ، أبلغ مستخدمون عن ظهور أخطاء عند محاولة إضافة مراجع لمكتبات مثل "Microsoft DAO 3.6 Object Library" بسبب تعارض الأسماء مع وحدات موجودة بنفس الاسم . المصدر: Microsoft Community . ⚠️ هل يمكن أن يؤدي ذلك إلى حذف الأكواد ❓ بينما تعارض الأسماء لا يؤدي مباشرة إلى حذف الأكواد ، إلا أنه قد يتسبب في تلف مشروع VBA ، مما يؤدي إلى اختفاء الوحدات النمطية أو عدم القدرة على الوصول إليها . في بعض الحالات ، قد تظهر رسائل خطأ مثل "The database cannot be opened because the VBA project contained in it cannot be read" عند فتح قاعدة البيانات . المصدر : Stackoverflow . -
العفو أخي الكريم ، ان كان طلبك قد تحقق ، فيرجى منك فضلاً لا أمراً باغلاق الموضوع باختيار أفضل إجابة للمشاركة التي كانت حلاً يرضيك ,
-
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
Foksh replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
في إحدى التجارب التي لفتت انتباهي لهذه النقطة كانت عندما قمت بتصميم مشروع قديم ،وكنت تلقائياً بعد فتح قاعدة البيانات وإضافة المكتبات التي اريدها للمشروع ، أقوم بشكل افتراضي بتسمية المشروع في محرر الأكواد إلى اسم المشروع الذي أصممه مطابقاً لاسم قاعدة البيانات التي تم انشاءها . فمثلاً اسم المشروع = "Accounting Software" على سطح المكتب ، واسم المشروع في محرر الأكواد كما أشرت سابقاً = "Accounting Software" أيضاً ، فصادفتني مشكلة عند بدء تشغيل المشروع من نموذج البداية كالمعتاد وهي انه ظهرت رسالة خطأ في أوامر بدء التشغيل للنموذج . ولأنها عادة كانت عندي بالتسمية المتشابهة كما أشرت أعلاه ، قمت بتغيير اسم المشروع في محرر الأوامر . وهنا كانت النقطة الفاصلة التي لفتت انتباهي ان الرسالة لم تظهر أبداً . وهذا ما جعلني أطرح هذه النقطة . لا أعلم السبب الحقيقي !! ولكني في حينها لم أذهب الى البحث عن السبب بشكل جدي . -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
Foksh replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
دي بسيطة جداً .. اليوم ان شاء الله في جهاز البيت لدي نسختين 2010 - 32 / 2026 - 64 ، وفي العمل لدي النسخة 2019 - 64 . خطر ببالي نقطة حصلت معي سابقاً وكانت فعلاً سبب مشكلة في إحدى قواعد البيانات . وهي تغيير اسم المشروع في محرر الأكواد كما في الصورة التالية .. وهذه القاعدة نفسها التي ارفقها أخونا طاهر ولكن بعد تغيير اسم المشروع ، مع عدم تغيير نواة الأكواد من 32 إلى 64 ( حسب النسخة الحالية التي لدي الآن = 2016 - 64 ) ش ع2025.zip