Omar_Kreem قام بنشر مارس 31, 2019 قام بنشر مارس 31, 2019 (معدل) السلام عليكم ورحمة الله .. حاولت توزيع عمود إلى عدة صفوف بشرط لكن لم أستطع ذلك .. هل يمكن توزيع بيانات صف إلى عدة أعمدة بشرط تشابه الجهات كما فى الصورة؟ بدون استخدام (crosstab) col_to_raw.rar تم تعديل مارس 31, 2019 بواسطه omar19-3 زيادة ايضاح
Omar_Kreem قام بنشر أبريل 1, 2019 الكاتب قام بنشر أبريل 1, 2019 أعتذر إن كان السؤال غير واضح .. الصورة التالية توضح الجدول المراد التعديل عليه .. وهو بهذا الشكل (الجهة ،، الوظيفة الاسم) .. هل يمكن توزيع بيانات صف (الجهة) إلى عدة أعمدة (فيصبح هو رأس العمود) بشرط تشابه الجهات كما فى الصورة؟ بدون استخدام (crosstab)
jjafferr قام بنشر أبريل 14, 2019 قام بنشر أبريل 14, 2019 وعليكم السلام 🙂 ولكن السؤال هنا ، كم حقل تريد في الجدول الجديد؟ هل يعني انك كلما زادت عندك المواد ، تزيد عدد الحقول في الجدول برمجيا؟ طبعا ممكن ، ولكن هذه ليست الطريقة الصحيحة في عمل جداول قواعد البيانات ، والطريقة الصحيحة هي التي عملتها في جدولك ، هكذا . والطريقة الصحيحة لحل مشكلتك هي استعلام Crosstab 🙂 وسؤالي هنا ، ليش ما تريد تستعمل Crosstab ، صحيح له عيوبه ، ولكن له ميزاته كذلك 🙂 الاختيار الآخر اللي يجي في بالي ، هو تصدير البيانات بالطريقة اللي تريدها الى الاكسل بصيغة csv مثلا 🙂 جعفر 1
Omar_Kreem قام بنشر أبريل 16, 2019 الكاتب قام بنشر أبريل 16, 2019 (معدل) بارك الله فيك أستاذ جعفر .. ـ بالنسبة لعدد الأعمدة فتكون بعدد عمود (الجهة). مثلا فى الجدول السابق بعمود الجهة (الماليات، القانون)، وعددها ثابت (ثمان جهات تقريبا) ـ بالنسبة لزيادة عدد الحقول بالجدول وفقاً لزيادة عدد الجهات،، فعدد الحقول ثابت لا يزيد ولا ينقص، والغرض هو الحصول على البيانات بهذا الشكل لاخراجها بعد ذلك فى صورة تقرير بشكل (هيكلى). ـ فإنه لا يتم تحديثه بشكل تلقائى (Crosstab ) بالنسبة لـ استعلام ـ ـ بالنسبة لاستخراج البيانات عن طريق إكسل فهذا ما أفعله فعلا عن طريق ربط مصنف إكسيل بقاعدة البيانات ليكون التحديث تلقائى .. لكن المشكلة هنا أن مصنف إكسيل مرتبط باليوزر الذى تم تصميمه عليه، وهو حاسبى الشخصى بالمنزل، وقد احتاج إلى إخراج البيانات بالشكل الهيكلى فى أى وقت وهو ما يرفضه مصنف إكسيل حيث أنه يريد اليوزر الذى أنشأ فيه. ـ أرفقت تصميم لجدول يوضح الشكل المطلوب .. col_to_raw_2.rar تم تعديل أبريل 16, 2019 بواسطه omar19-3
jjafferr قام بنشر أبريل 16, 2019 قام بنشر أبريل 16, 2019 54 دقائق مضت, omar19-3 said: 1ـ بالنسبة لزيادة عدد الحقول بالجدول وفقاً لزيادة عدد الجهات فمن الممكن تصميم جدول يحتوى على أعمدة بعدد الجهات (وهم تقريباً ثمانية جهات) ويتم برمجياً إدخال البيانات، والغرض هو الحصول على البيانات بهذا الشكل لاخراجها بعد ذلك فى صورة تقرير بشكل (هيكلى). 2ـ فإنه لا يتم تحديثه بشكل تلقائى (Crosstab ) بالنسبة لـ استعلام ـ 3ـ بالنسبة لاستخراج البيانات عن طريق إكسل فهذا ما أفعله فعلا عن طريق ربط مصنف إكسيل بقاعدة البيانات ليكون التحديث تلقائى .. لكن المشكلة هنا أن مصنف إكسيل مرتبط باليوزر الذى تم تصميمه عليه، وهو حاسبى الشخصى بالمنزل، وقد احتاج إلى إخراج البيانات بالشكل الهيكلى فى أى وقت وهو ما يرفضه مصنف إكسيل حيث أنه يريد اليوزر الذى أنشأ فيه. 2- استعلام Crosstab يقدر ان يقوم مقام الجدول ، واذا فهمت قصدك صح في قولك: لا يتم تحديثه بشكل تلقائي ، فقصدك اسماء الاعمدة تزيد وتنقص حسب البيانات الموجودة ، مما يعطيك اخطاء في التقرير ، لذا انصحك قراءة هذا الرابط لأن فيه الحل (حقول ثابته ، كما في الجدول) : كلامي عن Column Heading ، واذا عندك معيار في الاستعلام ، فيجب النظر في Parameters كذلك : . . . 1- ولو اني لا انصح بالقيام بعمل جدول مؤقت (لأنه يزيد من حجم قاعدة البيانات , لا ترجع قاعدة البيانات الى حجمها الطبيعي إلا بعد الضغط والاصلاح) ، ولكن اذا كان كلا ولابد ، فرجاء ارفق الجدول النهائي بجميع اسماء الجهات ، 3- ما كان قصدي ربط بين الاكسس والاكسل ، وانما مجرد تصدير ملف من الاكسس الى مجلد ، ومنه يقرأه الاكسل 🙂 وبغض النظر اي طريق اردت ان تأخذ ، فمحتاجين بيانات اكثر ، وخصوصا عدد الجهات يكون صحيح 🙂 جعفر 1
Omar_Kreem قام بنشر أبريل 17, 2019 الكاتب قام بنشر أبريل 17, 2019 جزاك الله خيرا أستاذ/ جعفر مرفق جدولين : وبه البيانات التى سيتم التطبيق عليها - (trry) جدول (Co_to_Row) وجدول مصمم لوضع البيانات به col_to_raw.mdb
jjafferr قام بنشر أبريل 19, 2019 قام بنشر أبريل 19, 2019 السلام عليكم 🙂 الموضوع كان معقد اكثر مما كنت اعتقد ، وبدأت من جديد اكثر من مرة !! ولكنها خزية تضاف الى شيء اسمه تجربه 🙂 اساس العمل هو استعلام Crosstab ، سهل عمله ، ونتائجه مقبولة 🙂 . . . ولكن لأنك اصررت انك تريد طريقة الجدول ، فأكملنا المشوار من هنا ، بالاستفادة من هذا الاستعلام ، وتحويله الى استعلام إلحاقي ، ليلحق البيانات في الجدول Co_to_Row : . جعلت جميع اسماء الحقول بنفس الطريقة ، والاهم ، اني اضفت حقل الرقم التلقائي: . وتكون البيانات هكذا: . ثم يأتي دور هذا الزر الكبير ، ليقوم بتشغيل الوحدة النمطية ، والتي ستقوم بتعديل البيانات في الجدول . وهذه هي الوحدة النمطية اللتي تقوم بالعمل ، وحاولت ان اجزئها ، واضع الشرح فيها : Public Function ReArrang() '1 Dim rstS As DAO.Recordset Dim rstD As DAO.Recordset Dim RCs As Integer Dim i As Integer Dim N As Integer Dim Co As String Dim jo As String Dim arr_Co() As String Dim arr_jo() As String '2 'append the New data to the Table Co_to_Row DoCmd.SetWarnings False DoCmd.OpenQuery "qry_Append_Co_to_Row" DoCmd.SetWarnings True '3 'we have 8 Areas For N = 1 To 8 '4 'make the field names, based on the loop value Co = "Co" & N jo = "jo" & N '5 'get each set (fields CoX and joX) values Set rstS = CurrentDb.OpenRecordset("Select * From Co_to_Row Where " & Co & " IS NOT NULL") rstS.MoveLast: rstS.MoveFirst: RCs = rstS.RecordCount '6 ReDim arr_Co(RCs) ReDim arr_jo(RCs) '7 'fill the array For i = 1 To RCs '8 arr_Co(i) = rstS(Co) 'Co values arr_jo(i) = rstS(jo) 'jo values '9 'Remove this value from the previous Records rstS.Edit rstS(Co) = "" rstS(jo) = "" rstS.Update '10 rstS.MoveNext Next i '11 Set rstD = CurrentDb.OpenRecordset("Select * From Co_to_Row Order By Auto_ID") '12 For i = 1 To RCs '13 'add this value to fill all Records rstD.Edit rstD(Co) = arr_Co(i) rstD(jo) = arr_jo(i) rstD.Update rstD.MoveNext Next i Next N '14 'Delete the Empty Records DoCmd.OpenQuery "qry_Delete_Empty_Records" '15 rstS.Close: Set rstS = Nothing rstD.Close: Set rstD = Nothing MsgBox "Done" End Function . وهذا استعلام حذف السجلات الفارغة: . والنتيجة النهائية للجدول: . جعفر 1045.col_to_raw.mdb.zip 1 2
Omar_Kreem قام بنشر أبريل 20, 2019 الكاتب قام بنشر أبريل 20, 2019 (معدل) السلام عليكم ورحمة الله وبركاته أخى وأستاذى .. أستاذ/ جعفر .. ............................... والله العظيم عبقرى ..................................... جزاك الله كل خير .. والله ... علم، وفن، ومجهود كبير اقترح تثبيت الموضوع لكثرة الطلب عليه .. وجزاكم الله خيرا 💚 تم تعديل أبريل 20, 2019 بواسطه omar19-3
jjafferr قام بنشر أبريل 20, 2019 قام بنشر أبريل 20, 2019 وعليكم السلام 🙂 حياك الله 🙂 10 دقائق مضت, omar19-3 said: اقترح تثبيت الموضوع لكثرة الطلب عليه .. وجزاكم الله خيرا 💚 الموضوع ممكن يُثبت ، ولكن لفترة !! طيب ، لوسمحت تعمل لنا هذه الخدمة: اضف مشاركة هنا ، تشرح فيها سؤالك من جديد ، وبدقة ، وبالكلمات المناسبة ، وانا سوف اضيفها الى سؤالك الاصل ، وبهذه الطريقة ، لما احد الاعضاء يقوم بالبحث عن مثل موضوعك ، يستطيع الوصول اليه بسبب كلماتك وشرحك 🙂 جعفر 2
Omar_Kreem قام بنشر أبريل 20, 2019 الكاتب قام بنشر أبريل 20, 2019 (معدل) فرز وتوزيع بيانات عمود ، إلى عدة أعمدة فى حالة تشابه البيانات بهذا العمود، لاخراجها بعد ذلك فى صورة تقرير بشكل (هيكلى) فإذا كان الجدول يحتوى على البيانات التالية: الجهة الوظيفة الاسم موارد بشرية اخصائى محمد موارد بشرية مسجل بيانات طارق موارد بشرية عامل صلاح موارد بشرية مدير محمد سوهاج مسجل بيانات حسنين سوهاج مدير عاطف سوهاج سكرتير سيد المنيا محاسب مصطفى المنيا اخصائى علاء المنيا مدير السيد المنيا باحث جراح المنيا عامل سمير الماليات عامل اكرم فهل يمكن تحويل عمود (الجهة) إلى عدة أعمدة بحيث تصبح البيانات المتشابهة هى رأس العمود، وإدراج عمود الاسم كصفوف للأعمدة الجديدة، وإدراج الوظيفة فى أعمدة الوظيفة؟ كالتالى: موارد بشرية الوظيفة سوهاج الوظيفة المنيا الوظيفة الماليات الوظيفة محمد اخصائى حسنين مسجل بيانات مصطفى محاسب اكرم عامل طارق مسجل بيانات عاطف مدير علاء اخصائى صلاح عامل سيد سكرتير السيد مدير محمد مدير جراح باحث سمير عامل تم تعديل أبريل 20, 2019 بواسطه omar19-3
يونس الخطابي قام بنشر ديسمبر 30, 2021 قام بنشر ديسمبر 30, 2021 السلام عليكم ورحمة الله وبركاته / اخي العزيز المبدع jjafferr اليوم وبعد عناء بحث ايام وليالي عثرت على قاعدة البيانات التي ابدعتها اناملك الذهبيه وفكرك النير . ادعو الله لك ان يحفظك ذخرا لنا ولكل محبيك . يا اخي العزيز اقسم بالله كدت اطير من الفرح عندما عثرت عليها لان اكيد تعلم كم هو الجهد الذي يبذله شخص مثلي يتطلب عمله تدوير البيانات حيث كنت اقوم عدة مرات باليوم بارسال قاعدة البيانات الى اكسل لتدويرها ومن ثم اعادتها الى اكسس وانا بصراحه كنت انجز عشرات المعاملات يوميا بعد عناء طويل واليوم بجهودك الجباره اختصرت لي عملي الى ساعات قلائل . عاجزا عن تقديم الشكر لك ولا املك الا ان اقول جزاك الله عنا خير الجزاء . ولي سؤال . هل بالامكان تدوير البيانات بالعكس اي ندخل بيانات في الجدول ( Co_to_Row ) وعند الضغط على زر الامر تنتقل الى الجدول ( trry ) وبشرط بمعنى ان لايتم تدوير كل الجدول وانما فقط التي نضع امامها علامة صح . تقبل تحياتي اخي العزيز
jjafferr قام بنشر ديسمبر 31, 2021 قام بنشر ديسمبر 31, 2021 وعليكم السلام 🙂 اخي يونس ، رجاء افتح موضوع جديد فيه طلبك ، وضع مرفق ، وان شاء الله تجد الاجابة على طلبك 🙂 جعفر 1
يونس الخطابي قام بنشر يناير 4, 2022 قام بنشر يناير 4, 2022 شكرا استاذي الفاضل استاذ جعفر وجزاك الله خير
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.