outnet قام بنشر مارس 29, 2011 قام بنشر مارس 29, 2011 اخواني ارجو المساعدة في المشكل الحالي لدي قاعدة بها جدول يتضمن محموعة من الاسماء و الرموز اريد تصميم استعلام بحيث الاشخاص الدين لهم نفس الرمز يتم تجميع التسجيلات في خانة واحدة بدل مجموعة مثلا الاشخاص الدين لهم الرمز 10 يكون المقابل لها هو "محمد بدر"-"علي نور"-"خالد مصطفى"-"أحمد رشيد" اريد تجميع التسجيلات التي لها نفس الرمز في تسجيل واحد بدل عدة تسجيلات المرفق يتضمن القاعدة base.zip
أفضل إجابة منتصر الانسي قام بنشر مارس 30, 2011 أفضل إجابة قام بنشر مارس 30, 2011 بعد اذن الاخ nart lebzo تفضل اخي مثالك بعد التعديل تحياتي,,, base.rar 4
ابوخليل قام بنشر مارس 30, 2011 قام بنشر مارس 30, 2011 يا سلام عليك شيء جميل حقا وانما استوقفني هذا السطر وهذا اللفظ اطويل الذي بداخله ، If rs.AbsolutePosition = rs.BOF Then وأيضا عبارتي BOF و EOF يعني بصريح العبارة نريد من فيض علمك كما عودنتا شرح لهذه الوحدة النمطية Public Function Horizontal(tabelle As String, Feld1 As String, Feld2 As String, valFeld1) Dim DB As Database, rs As Recordset Set DB = CurrentDb Set rs = DB.OpenRecordset("select distinct " & Feld2 & " from " & tabelle _ & " where " & Feld1 & "='" & valFeld1 & "' order by " & Feld2) Do If rs.AbsolutePosition = rs.BOF Then Horizontal = rs(Feld2) Else Horizontal = Horizontal & ", " & rs(Feld2) End If rs.MoveNext Loop Until rs.EOF rs.Close DB.Close Set rs = Nothing Set DB = Nothing End Function تكرما وتفضلا وبقدر ما يسمح به وقتك وتقبل تحياتي
أبو آدم قام بنشر مارس 30, 2011 قام بنشر مارس 30, 2011 اخي منتصر جميل جدا ... وشكرا لجهدك الطيب ، ونتيجة جميلة الشكر لأنك أرحتني ، منذ ساعات و انا احاول حلها ، لأن الفكرة اعجبتني شكرا .... شكرا
منتصر الانسي قام بنشر مارس 30, 2011 قام بنشر مارس 30, 2011 تكرم عينك اخي ابوخليل ولكن في البداية لابد من التوضيح بان هذه الدالة استقيتها من مثال اجنبي ولا اريد ان اسند لنفسي فضل ليس لي ولكن من بساطتها يمكن فهمها بسهولة... والان الى الشرح Public Function Horizontal(tabelle As String, Feld1 As String, Feld2 As String, valFeld1) هذا سطر تعريف الدالة ومتغيراتها والتي تتمثل في اسم الجدول او الاستعلام , اسم الحقل المراد التجميع بحسبه , اسم الحقل الذي سيتم تجميعه , اسم الحقل الذي سيرتبط به حقل التجميع (وأعتقدانه يمكن فهمها اكثر من واقع المثال) Dim DB As Database, rs As Recordset Set DB = CurrentDb هنا يتم تعريف متغيرين الأول من نوع Database أي قاعدة بيانات (وجعلناها قاعدة البيانات الحالية التي نعمل بها) والثاني rs من نوع Recordset وهذا النوع من المتغيرات وبشكل مبسط يمكن تعريفه كأنه جدول أو إستعلام Set rs = DB.OpenRecordset("select distinct " & Feld2 & " from " & tabelle _ & " where " & Feld1 & "='" & valFeld1 & "' order by " & Feld2) هنا اسندنا للمتغير rs جملة SQL التي تمثل مصدر بياناته Do If rs.AbsolutePosition = rs.BOF Then هذه بداية الحلقة التكرارية التي ستتنقل بين سجلات الـ Recordset ثم تقوم جملة IF هنا بإختبار ما إذا كان موقع السجل الحالي (AbsolutePosition) في بداية (BOF) الـ Recordset Horizontal = rs(Feld2) عندها يجعل النتيجة تمثل قيمة الحقل المجمع Else Horizontal = Horizontal & ", " & rs(Feld2) End If وإلا تكون النتيجة هي قيم الحقل المجمع في السجلات السابقة مضافاً اليها الفاصلة (ويمكن تعديلها بما تشاء) ثم قيمة الحقل المجمع للسجل الحالي rs.MoveNext الإنتقال للسجل التالي Loop Until rs.EOF إختبار ما إذا وصلت الحلقة التكرارية إلى آخر سجل (EOF) في الـ Recordset rs.Close DB.Close Set rs = Nothing Set DB = Nothing End Function عندها يتم إغلاق الـ Recordset و الـ DB وتصفية الذاكرة من أي قيم محفوظة فيها وإنهاء الدالة هذا شرح مبسط فأرجو أن يكون واضح تحياتي,,, 3
ابوخليل قام بنشر مارس 30, 2011 قام بنشر مارس 30, 2011 سلمت أناملك إذا هذه الخاصية AbsolutePosition تعطي رقم السجل الحالي ( يعني :أول سجل رقمه 1)
أبو آدم قام بنشر مارس 30, 2011 قام بنشر مارس 30, 2011 سلمت يمينك اخي منتصر انا لدي تعليق تفاهمي اذا سمحتم لي انا احترم الامانة العلمية وانا احترم الفهم و الاستيعاب والقدرة على التطبيق والاحتواء لعناصر العملية التعليمية والعلمية وتراكماتها انا اعتقد ان العلم ملكية جماعية تراكمية ما دام العلم قد اتيح ونشر وتيسر فهو ملكية جماعية اتاحها من نشرها او تيسرت عن طريقه ، فحين تحجب وتحتكر وتسجل تكون ملكية خاصة لا يجوز اختراقها او انتهاكها، وما عدا ذلك فهو متاح مباح. انا عندي (تعلمت هذا التطبيق من منتصر الانسي ، ولا يهمني من اين اتى به، فالتطبيق و ادراك كيفية الاستخدام يدخلك في قائمة الملكية) فان تذكرت المصدر التسلسلي للمعلومة ، واحببت ان يذكره ،،، فشكرا ، والا فالامر ليس ذو اهمية واخي ابو خليل تعلمت منه الكثير مما لا اعلم ، وله في هذا الكثير ... فضل بعد الله ، فان لم يذكر المصدر التسلسلي ، فذلك لا يضيع اجره وعلمه، ولا يعني انه نسب لنفسه ما لا يستحق ، هو او نارت لبزو او منتصر الانسي. اخي منتصر الحبيب بأعلاه علم تعلمناه عنك ، يسند اليك ، ولك به الفضل ، ونفتخر بك وبه ، وانت مبدع ولست بناقل. وشكرا
منتصر الانسي قام بنشر مارس 30, 2011 قام بنشر مارس 30, 2011 اخي العزيز جزاك الله كل خير على الكلام الجميل وكما تقول دائماً مانحن الا طلبة علم نعلم ونتعلم من بعضنا وانا معك في كل ماقلته ولكن ذكري للمصادر هو من باب تكريم صاحب الفكرة ولأضع نفسي في مكاني الصحيح . تحياتي,,,
outnet قام بنشر مارس 30, 2011 الكاتب قام بنشر مارس 30, 2011 يعجز اخواني اللسان عن اعطاءكم حقكم و شكرا لمن اجاب و لمن شكر المجيب و لكل من حاول المساعدة و دمتم للمنتدى دخرا
Omar_Kreem قام بنشر يناير 10, 2012 قام بنشر يناير 10, 2012 بارك الله فيكم أدب جم، ومستوى رفيع .. زادكم الله من فضله.
ابا حفص قام بنشر أبريل 21, 2012 قام بنشر أبريل 21, 2012 (معدل) ممكن طلب بصراحة انا حاولت اعدل الكود ليناسبني معرفتش والله ...الاستعلام بتاعي اسمه الاقرارات .. الكود اللي عايز اجمع PRID .... وعايز اجمع FullName ممكن حضرتك توضح للمبتدئ مثلي اي الاماكن بالظبط تغير ياريت هاي لايت علي الاماكن التي لابد ان تغير لتصلح لاي استخدام تم تعديل أبريل 21, 2012 بواسطه amrhewala
ابا حفص قام بنشر أبريل 21, 2012 قام بنشر أبريل 21, 2012 ممكن طلب بصراحة انا حاولت اعدل الكود ليناسبني معرفتش والله ...الاستعلام بتاعي اسمه الاقرارات .. الكود اللي عايز اجمع PRID .... وعايز اجمع FullName ممكن حضرتك توضح للمبتدئ مثلي اي الاماكن بالظبط تغير ياريت هاي لايت علي الاماكن التي لابد ان تغير لتصلح لاي استخدام
ابا حفص قام بنشر أكتوبر 7, 2012 قام بنشر أكتوبر 7, 2012 هل لو وضعت اكثر من خلية للتجميع عليها سيعمل الكود ... بمعني التجميع علي رقم الكود والتاريخ في نفس الوقت
mccaao قام بنشر أكتوبر 11, 2012 قام بنشر أكتوبر 11, 2012 طيب كيف يمكن التجميع الأفقي اعتمادا على حقل رقمي
ابا حفص قام بنشر يونيو 13, 2019 قام بنشر يونيو 13, 2019 On 3/30/2011 at 6:12 PM, منتصر الانسي said: تكرم عينك اخي ابوخليل ولكن في البداية لابد من التوضيح بان هذه الدالة استقيتها من مثال اجنبي ولا اريد ان اسند لنفسي فضل ليس لي ولكن من بساطتها يمكن فهمها بسهولة... والان الى الشرح Public Function Horizontal(tabelle As String, Feld1 As String, Feld2 As String, valFeld1) هذا سطر تعريف الدالة ومتغيراتها والتي تتمثل في اسم الجدول او الاستعلام , اسم الحقل المراد التجميع بحسبه , اسم الحقل الذي سيتم تجميعه , اسم الحقل الذي سيرتبط به حقل التجميع (وأعتقدانه يمكن فهمها اكثر من واقع المثال) Dim DB As Database, rs As Recordset Set DB = CurrentDb هنا يتم تعريف متغيرين الأول من نوع Database أي قاعدة بيانات (وجعلناها قاعدة البيانات الحالية التي نعمل بها) والثاني rs من نوع Recordset وهذا النوع من المتغيرات وبشكل مبسط يمكن تعريفه كأنه جدول أو إستعلام Set rs = DB.OpenRecordset("select distinct " & Feld2 & " from " & tabelle _ & " where " & Feld1 & "='" & valFeld1 & "' order by " & Feld2) هنا اسندنا للمتغير rs جملة SQL التي تمثل مصدر بياناته Do If rs.AbsolutePosition = rs.BOF Then هذه بداية الحلقة التكرارية التي ستتنقل بين سجلات الـ Recordset ثم تقوم جملة IF هنا بإختبار ما إذا كان موقع السجل الحالي (AbsolutePosition) في بداية (BOF) الـ Recordset Horizontal = rs(Feld2) عندها يجعل النتيجة تمثل قيمة الحقل المجمع Else Horizontal = Horizontal & ", " & rs(Feld2) End If وإلا تكون النتيجة هي قيم الحقل المجمع في السجلات السابقة مضافاً اليها الفاصلة (ويمكن تعديلها بما تشاء) ثم قيمة الحقل المجمع للسجل الحالي rs.MoveNext الإنتقال للسجل التالي Loop Until rs.EOF إختبار ما إذا وصلت الحلقة التكرارية إلى آخر سجل (EOF) في الـ Recordset rs.Close DB.Close Set rs = Nothing Set DB = Nothing End Function عندها يتم إغلاق الـ Recordset و الـ DB وتصفية الذاكرة من أي قيم محفوظة فيها وإنهاء الدالة هذا شرح مبسط فأرجو أن يكون واضح تحياتي,,, جزاك الله خيرا استاذنا .. كيف يمكنني اضافة اكتر من متغير .. بمعني اريد اضافة اكتر من شرط للتجميع
أبورحيل قام بنشر نوفمبر 28, 2019 قام بنشر نوفمبر 28, 2019 لك الشكر أستاذ منتصر الانسي لكن ما العمل في حالة سجل فارغ تظهر الفاصلة إما في البداية أو فاصلتين بين سجلين
الردود الموصى بها