اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

هل يمكن التطابق في صف وليس عمود ؟


Io Emad
إذهب إلى أفضل إجابة Solved by أبو إبراهيم الغامدي,

الردود الموصى بها

هل يمكن عند تطابق بيانات في صف وليس عمود بواسطة استعلام يتم عملية الجمع للعمود المتطابق عن طريق نموذج 

 

عندي جدول متعمد علي شيت اكسيل 

 

اول عمود خاص بالتاريخ

باقي  الاعمدة  عبارة عن لكل عمود رقم السيارة وتحته قيم علي حسب التاريخ الموجود في اول عمود

هل يمكن عمل استعلام عن طريق نموذج عند وضع رقم السيارة وتاريخين يقوم بجمع القيم للسيارة بين التاريخين ؟

مع الاعتبار عن ارقام السيارات في صف وليس عمود !

نموذج من القاعدة مرفق 

 

 

 

 

Database19.zip

رابط هذا التعليق
شارك

اكيد جدولك هذا مخالف لطرق تصميم قواعد البيانات الصحيحة

وانصحك بعد المتابعة ، وان تسلك الطرق الصحيحة

ومع ذلك يمكن تحقيق مطلبك ولكن لا بد من تهيئة وتجهيزات خاصة 

اولا : تنسخ جميع ارقام السيارات وتضعها بجدول خاص  يشتمل على حقل واحد 

ثانيا : تعمل استعلام تحديد   تدرج فيه جميع الحقول  وتضع  معيار Between  في حقل التاريخ  

ثالثا تعمل استعلام تجميعي  مصدره الاستعلام السابق

الآن يمكن جلب المجاميع بناء على شروط : رقم السيارة  ، والتواريخ المحددة

  • Like 1
رابط هذا التعليق
شارك

27 دقائق مضت, ابوخليل said:

اكيد جدولك هذا مخالف لطرق تصميم قواعد البيانات الصحيحة

وانصحك بعد المتابعة ، وان تسلك الطرق الصحيحة

ومع ذلك يمكن تحقيق مطلبك ولكن لا بد من تهيئة وتجهيزات خاصة 

اولا : تنسخ جميع ارقام السيارات وتضعها بجدول خاص  يشتمل على حقل واحد 

ثانيا : تعمل استعلام تحديد   تدرج فيه جميع الحقول  وتضع  معيار Between  في حقل التاريخ  

ثالثا تعمل استعلام تجميعي  مصدره الاستعلام السابق

الآن يمكن جلب المجاميع بناء على شروط : رقم السيارة  ، والتواريخ المحددة

للاسف لم استطيع التحكم في طريقة تصميم الجدول لانه مربوط بشيت اكسيل .. 

حاولت تطبيق طريقتك ولكن لم افلح
هل يمكن تنفذيها علي القاعدة المرفقة في الموضوع لفهمها اكثر !

وشكرا لك مقدما

رابط هذا التعليق
شارك

46 دقائق مضت, ابوخليل said:

اعمل  ما تقدر عليه من الخطوات اعلاه ، على الاقل الخطوة الاولى ثم ارفع المرفق

شكرا لك علي اهتمام

 

القاعدة مرفقة

 

 

شكرا لك علي اهتمامك

 

Database19.zip

تم تعديل بواسطه egh9
رابط هذا التعليق
شارك

  • أفضل إجابة

إذا فكرنا في ورقة البيات على أنها استعلام جدولي فنحن بحاجة إلى أخراج البيانات الوسطية وتسميتها في عامود بيانات مستقل وليكن (سعر الخدمة)، وحل رؤوس الأعمدة وتسميتها في عامود بيانات وليكن (رقم العربة)

وعلى هذا تصبح بيانات الجدول الجديد (رقم العربة، تاريخ الخدمة، سعر الخدمة)...

نقوم بإنشاء الجدول  ثم نقوم بتشغيل الشفرة التالية لإلحاق البيانات بالجدول

Sub UpendDataToTable()
    Dim RS As Recordset
    CurrentDb.Execute "Delete * From [Vehicle Services]"
    Set RS = CurrentDb.OpenRecordset("Sheet1")
    For i = 1 To RS.Fields.Count - 1
       CurrentDb.Execute "Insert into [Vehicle Services]([Service Date],[Service Price], [Vehicle Number])" _
       & "Select [Service Date],format([" & RS(i).Name & "],'Standard') As [Sevice Price],'" & RS(i).Name & "' AS [Vehicle Number]  From Sheet1"
    Next
End Sub

 

وهذه الشفرة لجلب البيانات من أكسل مباشرة إلى الجدول الجديد

Sub FetchExcelDataSheet(BookName, SheetName)
    Dim RS As Recordset
    Dim dbType
    dbType = "[EXCEL 12.0;HDR=YES;]"
    BookName = CurrentProject.Path & "\" & BookName
    SheetName = "[" & SheetName & "$]"

    CurrentDb.Execute "Delete * From [Vehicle Services]"
    Set RS = CurrentDb.OpenRecordset("Sheet1")
    For i = 1 To RS.Fields.Count - 1
       CurrentDb.Execute "Insert into [Vehicle Services]([Service Date],[Service Price], [Vehicle Number])" _
       & "Select [Service Date],format([" & RS(i).Name & "],'Standard') As [Sevice Price],'" _
       & RS(i).Name & "' AS [Vehicle Number]  From " & SheetName & " in'" & BookName & "'"
    Next
End Sub

 

وهذا التطبيق على المثال

Database19.zip

تم تعديل بواسطه أبو إبراهيم الغامدي
أحطاء إملائة
  • Like 2
رابط هذا التعليق
شارك

8 ساعات مضت, ابوخليل said:

تم التطبيق على 4 اعمدة 

يمكنك اكمال البقية

ملحوظة : اسم الحقل في اكسس لا بد ان يبدأ بحرف

Data99.rar

شكرا لك اخي علي اهتمامك وتفاعلك وتعبك

طريقتك تعمل بنجاح ولكن للاسف لم تناسب طريقة عمل القاعدة لدي لاني القاعدة لدي تعتمد علي Textbox للادخال وليس Combox

ولكن قمت بحل المشكلة عن طريق تحويل الصف الي عمود .. عن طريق UNION 

واستخدمت ال textbox وتعمل بنجاح 

7 ساعات مضت, أبو إبراهيم الغامدي said:

إذا فكرنا في ورقة البيات على أنها استعلام جدولي فنحن بحاجة إلى أخراج البيانات الوسطية وتسميتها في عامود بيانات مستقل وليكن (سعر الخدمة)، وحل رؤوس الأعمدة وتسميتها في عامود بيانات وليكن (رقم العربة)

وعلى هذا تصبح بيانات الجدول الجديد (رقم العربة، تاريخ الخدمة، سعر الخدمة)...

نقوم بإنشاء الجدول  ثم نقوم بتشغيل الشفرة التالية لإلحاق البيانات بالجدول


Sub UpendDataToTable()
    Dim RS As Recordset
    CurrentDb.Execute "Delete * From [Vehicle Services]"
    Set RS = CurrentDb.OpenRecordset("Sheet1")
    For i = 1 To RS.Fields.Count - 1
       CurrentDb.Execute "Insert into [Vehicle Services]([Service Date],[Service Price], [Vehicle Number])" _
       & "Select [Service Date],format([" & RS(i).Name & "],'Standard') As [Sevice Price],'" & RS(i).Name & "' AS [Vehicle Number]  From Sheet1"
    Next
End Sub

 

وهذه الشفرة لجلب البيانات من أكسل مباشرة إلى الجدول الجديد


Sub FetchExcelDataSheet(BookName, SheetName)
    Dim RS As Recordset
    Dim dbType
    dbType = "[EXCEL 12.0;HDR=YES;]"
    BookName = CurrentProject.Path & "\" & BookName
    SheetName = "[" & SheetName & "$]"

    CurrentDb.Execute "Delete * From [Vehicle Services]"
    Set RS = CurrentDb.OpenRecordset("Sheet1")
    For i = 1 To RS.Fields.Count - 1
       CurrentDb.Execute "Insert into [Vehicle Services]([Service Date],[Service Price], [Vehicle Number])" _
       & "Select [Service Date],format([" & RS(i).Name & "],'Standard') As [Sevice Price],'" _
       & RS(i).Name & "' AS [Vehicle Number]  From " & SheetName & " in'" & BookName & "'"
    Next
End Sub

 

وهذا التطبيق على المثال

Database19.zip

شكرا اخي علي اهتمامك وتعبك

قمت بعمل استعلام تجميعي وقومت بجمع جميع الاعمدة التي بارقام السيارات

 

وقومت بتحويل الصفوف الي اعمدة عن طريق UNION

 

والان الاستعلام يعمل بنجاح مع textbox

رابط هذا التعليق
شارك

11 دقائق مضت, egh9 said:

طريقتك تعمل بنجاح ولكن للاسف لم تناسب طريقة عمل القاعدة لدي لاني القاعدة لدي تعتمد علي Textbox للادخال وليس Combox

مربع القائمة المنسدلة يساعد في عملية البحث فقط.. بإمكانك تحويلها إلى مربع نص بسهولة دون الحاجة إلى تعديل مصدر البيانات..

في عرض التصميم انقر على مربع القائمة المنسدلة بالزر الأيمن.. ثم من قائمة الأدوات اختر تغيير إلى مربع نص.

2017-09-02_1640.png.5763adcac54d46d436ea706a2f096c32.png

27 دقائق مضت, egh9 said:

ولكن قمت بحل المشكلة عن طريق تحويل الصف الي عمود .. عن طريق UNION 

عمل جيد.. ممكن ترفع مثال للتوضيح من فضلك..

رابط هذا التعليق
شارك

24 دقائق مضت, أبو إبراهيم الغامدي said:

مربع القائمة المنسدلة يساعد في عملية البحث فقط.. بإمكانك تحويلها إلى مربع نص بسهولة دون الحاجة إلى تعديل مصدر البيانات..

في عرض التصميم انقر على مربع القائمة المنسدلة بالزر الأيمن.. ثم من قائمة الأدوات اختر تغيير إلى مربع نص.

2017-09-02_1640.png.5763adcac54d46d436ea706a2f096c32.png

عمل جيد.. ممكن ترفع مثال للتوضيح من فضلك..

تفضل تم عمل النموذج مع 3 عربات للتجربة

Data.zip

رابط هذا التعليق
شارك

5 ساعات مضت, Io Emad said:

وقومت بتحويل الصفوف الي اعمدة عن طريق UNION

نعم الفكرة كانت واردة

ولكن لاحظ ان استعلام التوحيد هذا  ينتج من تشغيل 50 استعلام واكثر

طريقة ابي ابراهيم اكثر احترافية

 

 

  • Like 1
رابط هذا التعليق
شارك

في اعتقادي أن أهم مافي الموضوع أن تكون البيانات الراجعة صحيحة!

وقد جربت أكثر من طربقة.. وكان هدفي الوصول إلى بيانات صحيحة.. لا كيفية الحل..،

ولهذا قمت بتغيير واجهة النموذج لضمان أن تكون البيانات كذلك.. 

رابط هذا التعليق
شارك

الواجهات غير مهمة في هذا العمل

الاحترافية في تحويل الاعمدة

طريقتك مفتوحة غير مقيدة باعمدة محددة

اما استعلام التوحيد  وطريقتي التي قبلها فلا بد من التعديل على التصميم عند اختلاف الاعمدة 

رابط هذا التعليق
شارك

طبعا اخي ابو ابراهيم له كامل الشكر علي تعبه واهتمامة والتفكير في حل المشكلة . 

اعتمادي علي طريقة UNION ان الاعمدة في شيت الاكسيل ثابتة اللي هي ارقام السيارات ..  التغير في القيم فقط التي يتم جمعها بالتواريخ وتجلب الاجمالي بطريقة صحيحة وغير معقدة

رابط هذا التعليق
شارك

للاسف عند تنفيذ استعلام union علي جميع العربات وعددها فوق ال 100

ظهرت مشكلة query is too complex

هل يوجد حل للمشكلة !

للاسف طريقة اخي ابي ابراهيم لم تناسب طريقة عرض القاعدة لدي . واحيانا لا تاتي بالنتائج الصحيحة

وطريقة اخي ابوخليل مناسبة جداااا للقاعدة لدي ولكن هناك مشكلة لا تنفع بجلب الاجمالي عن طريق رقم السيارة فقط ولابد من وضع حرف قبل رقم السيارة

 

هل يوجد حلول اخري ؟

رابط هذا التعليق
شارك

طبعا.. بارك الله فيك..  سوف يكون هناك خطأ بالتأكيد.. وقد أخبرناك ذلك مسبقاً..

3 ساعات مضت, Io Emad said:

للاسف طريقة اخي ابي ابراهيم لم تناسب طريقة عرض القاعدة لدي

لا أدري ما الذي يناسب طريقة عرض قاعدة بياناتك.. لو تذكره من فضلك

3 ساعات مضت, Io Emad said:

وطريقة اخي ابوخليل مناسبة جداااا للقاعدة لدي

راجعت مشاركة الاستاذ أبو خليل مرة أخرى ولم أجد فرق في النموذج.. الا أن القيمة الاجمالية تظهر في مربع نص.. فقط

قمت بتعديل النموذج ليظهر الإجمالي في مربع نص أيضا مع القائمة التفصيلية.. وهذه الأخيرة إذا لم تعجبك قم بحذفها..

3 ساعات مضت, Io Emad said:

واحيانا لا تاتي بالنتائج الصحيحة

هل يالإمكان إدراج بعض النتائج غير الصحيحة من فضلك..

إليك التعديل

Database19.zip

رابط هذا التعليق
شارك

2 ساعات مضت, أبو إبراهيم الغامدي said:

طبعا.. بارك الله فيك..  سوف يكون هناك خطأ بالتأكيد.. وقد أخبرناك ذلك مسبقاً..

لا أدري ما الذي يناسب طريقة عرض قاعدة بياناتك.. لو تذكره من فضلك

راجعت مشاركة الاستاذ أبو خليل مرة أخرى ولم أجد فرق في النموذج.. الا أن القيمة الاجمالية تظهر في مربع نص.. فقط

قمت بتعديل النموذج ليظهر الإجمالي في مربع نص أيضا مع القائمة التفصيلية.. وهذه الأخيرة إذا لم تعجبك قم بحذفها..

هل يالإمكان إدراج بعض النتائج غير الصحيحة من فضلك..

إليك التعديل

Database19.zip

طريقة عرض قاعدة بيانات عبارة عن مربع نصي خاص برقم السيارة ومربع نصي خاص بالفترة من ومربع نصي الي 

يقوم بجلب بيانات من عدة جداول

وعرض الاجمالي في مربع نصي

طريقة اخي ابو خليل بتعتمد علي لابد ان يكون رقم السيارة أوله حرف اذا قمت بتجربتها بدون حرف رقم فقط لا تنفع

 

عن مراجعة النتائج من طريقتك بملف الاكسيل الاصلي . بدالة SUM النتائج مختلفة ..

 

عند مراجعة النتائج من طريقة اخي ابو خليل تاتي بالنتائج صحيحة ولكن لا استطيع ان ابحث برقم السيارة فقط لابد من وضع حرف قبل رقم السيارة كمثال a9571 عند تعديلها لجلب النتائج برقم فقط كمثال 9571 لا تعمل

 

تم تعديل بواسطه Io Emad
رابط هذا التعليق
شارك

شكرا لك اخي علي تعبك واهتمامك فعلا هذا كل ما كنت احتاجة

 

ولكن لاحظت عند اضافة بيانات جديدة في الجدول الرئيسي Sheet1

لا تضاف تلقائية في جدول VehicleServices

 

في بالتالي عند جلب الاجمالي .. البيانات الجديدة المضافة في جدول sheet1 لا تحتسب ضمن الاجمالي

 

 

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information