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

تثبيت مسار ملف الاكسل بالكود و استعلام الحاق


nash60

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

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته :

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

في الجدول tb_Historical_data_markets ولكن استعلام الالحاق اصبح بطئ جدا .

الاخوة الافاضل ان تكرمتم علي بالمساعدة في :

  1. تسريع استعلام الالحاق علما ان البيانات مرشحة للزيادة حيث انه يتم الحاق حوالي 750 سجل يوميا

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

  1. تثبيت مسار ملف الاكسل بالكود حيث ان الجدول المرتبط عند تغيير مكان الملف يطلب

المسار الجديد .

ارجو ان لا اكون قد اثقلت عليكم راجيا ممن يستطيع المساعدة ان لا يبخل بها واجره على الله

والسلام عليكم ورحمة الله وبركاته

ملاحظة : اضطررت لان احذف نصف السجلات في الجدول tb_Historical_data_markets بسبب حجم الملف

Market.rar

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

اخي الفاضل

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

اما بالنسبه لمكان الملف فطلبك غير ممكن حسب علمي.

والله الموفق.

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

اشكرك اخي العزيز على مداخلتك

ولكنني لا زلت اعتقد ان هناك من الاخوة الخبراء يستطيع مساعدتنا

وانا اعتقد ان انه يمكن تسريع الاستعلام وكذلك تثبيت مسار ملف الاكسس بالكود

املا ممن يستطيع افادتنا بخبرته ان لايبخل بها علينا وجزاه الله الف خير

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

أخي العزيز

أرفقت لك حلّ تفصيل وخصوصي لك ، وحسب طلبك فيما يتعلق بالطلب الأول ، حيث يفترض:

ملف الإكسل ضمن مجلد واحد مع التطبيق

مهما كان إسم ملف الإكسيل (حتى لو تم تغيير إسمه أو العبث بالإسم عن طريق الخطأ أو القصد) يمكن التعرف عليه ما دام يحتوي الورقة All_Market فهي المعول عليها بالتعرف و تنفيذ الإجراء.

يتم عبر الكود إزالة أي جداول مرتبطة

يتم عبر الكود التعرف على مكان الورقة في ملف الإكسيل وربطها بالتطبيق بنفس الإسم كجدول مرتبط ، ثم إغلاق ملف الإكسيل

يتم تطبيق الكودات باستخدام الماكرو AutoExec بمجرد تشغيل التطبيق ...

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

...........

الإستعلام بطيئ جداً .... ربما نحتاج لبعض التفاصيل عن التحليل لنساعدك بتجاوز هذا العيب ........

............

جرب التطبيق .... ووافني بالنتيجة

والله من وراء القصد

..........

NA_LinkDetach2003.rar

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

الاخ الفاضل /نارت

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

الكود هو تثبيت مسار ملف الاكسل شرط ان يكون مع ملف الاكسس بنفس الفولدر لانه يمكن يكون على الجهاز نفس اسم الملف وثانيا اختيار صفحات مختارة يعني

بالاسم وانا من جهتي ارفقت فولدر للتعديل عليه وهناك نموذج بحيث بضغطة زر يتم استيراد الجداول وتشغيل استعلام الالحاق وعلى ذكر استعلام الالحاق اصبح سريع

جدا والمشكلة كانت في شرط الالحاق وهذا الصحيح ( Not In (select Noid from tb_Historical_data_markets where Date_No02= Noid )

ويوجد 3 جداول مستوردة من ملف الاكسس ومرشحة للزيادة وهي التي تحتوي على كلمة tb_Linked مع اسم الصفجة في اكسل وان شاء الله سيكون هذا المثال

مفيد للجميع لانني وجدت الكثير من يبحث عن تثبيت المسار واستيراد صفحات مختارة من الاكسل دون جدوى وانا بالانتظار

Market.rar

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

اخي / نارت

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

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

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

إخوتي الفضلاء

أخي العزيز

المعايير التي تفضلت بها هي جزء من الكودات والوحدة النمطية في مشاركاتي السابقة ، سواء أكانت بخصوص مسار الملف و إسم الورقة .

ولمّا كان الاستفسار عامً غير مفصل أو محدد بروتين معين ، فقد إجتهدت ما وجدت فيه منفعة لتطبيقك.

وحين حددّت الروتين ووضحت خطوط التحليل الذي تفكر به ، فلك ما يلزمك ...

آملاَ عموم الفائدة في السابق والحالي واللاحق !!...

راجياَ توخي التحديد و التوضيح ، حفاظاً على الوقت و الجهد لي ولكم ...

وكلامي هذا ليس فيه ضيق أو نفور ... عياذاَ بالله ... ولكنه سعي للأفضل لي ولكم

لن أوضح وأناقش المرفق ، تجوّلوا وجربوا ووافوني بالنتائج ... (سأرفق التطبيق قريباَ ... لدي مشكلة في إرفاق الملفات)

والله من وراء القصد ، وهو حسبي ...

......

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

أخي العزيز

لا بأس عليك ، إنما هي نصيحة ... ومنهج علمّي تعلمناها .. نوّد أن يصلكم من باب النصيحة .

إليكم المرفق أخوتي الفضلاء ........ وبإنتظار الردود والاستفسارات !!

والله من وراء القصد .. وهو حسبي ....

.....................

NA_LinkExcelSheet.rar

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

اشكرك اخي / نارت على سرعة ردك

بارك الله فيك على هذا العمل الممتاز ولا شك ان هناك من سيتفيد منه ان شاء الله

ولكن ارجو تطول بالك علي شوية وبالتاكيد انا لم انجح بتوصيل فكرتي اليك :

فالكود يقوم بانشاء جدول مرتبط وبكل ضغطة زر يقوم بانشاء جدول مرتبط يعني لو ضغطة 10 مرات يقوم بانشاء 10 جداول

بينما انا موجود بملف الاكسس جداول مستوردة وهي3 tb_Linked_To_Exchange_Rates + tb_Linked_DATE + tb_Linked_All_Market

المطلوب هو بعد تحديث بيانات ملف الاكسل من النت افتح ملف الاكسس واستورد البيانات المحدثة

ثانيا : يوجد استعلامان احدهما الحاق وهو Qry_tb_Linked_All_Market مبني من الاستعلام Qry_tb_Linked_All_Market وهذا الاستعلام مبني من جدولين وهما

الجدول المستورد tb_Linked_All_Market والجدول tb_Symbols _Companie s والمطلوب هو بعد استيراد البيانات مثل ما ذكرت اعلاه اشغل استعلام الالحاق

لالحق البيانات في الجدول tb_Historical_data_markets ارجو ان اكون وفقت بالشرح

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

وانا اسف ثانية ان كنت تسببت باي ازعاج راجيا من الله ان يوفقك ويزيدك من علمه وان تعم الفائدة على الجميع

ImportFromExcel.rar

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

أخي العزيز

  • أنا لا أتدخل في تحليل التطبيق ما لم يطلب ذلك ، أنا ومن قبيل إحترامي للطرف الآخر أجيب عن أسئلة فقط
  • في المشاركة السابقة أرفقت لك وحدة نمطية لحذف الجداول المرتبطة حال عدم حاجتك اليها

    
    DetachAllTables
    
    
    • في المشاركة 11 كنت طلبت
    لتوضيح ما اقصد بالنسبة لاستيراد صفحات معينة من ملف اكسل معين اي ان يتم ذكر اسم ملف الاكسل واسم الصفحات داخل كود الاستيراد نفسه وعليه يمكن اتعديل على الكود حسب الحاجة وهذا للتوضيح فقط
    ولقضاء حاجتك صممت لك وحدة نمطية قمّة في المرونة ، حيث يمكنك تحديد اسم الملف (المراد الربط معه) وإسم الورقة
    
    Call LinkToExcelsheet("Arab_Market", "All_Market")
    
    

    ولا أظن أن هناك مرونة أكثر من ذلك ، فما عليك سوى استدعاء الوحدة وتحديد الملف و الورقة (كما طلبت أنت)

    [*]أنا أحسنت فهم ما كتبته أنت وطلبته ، وعباراتك واضحة

    [*]أرفقت التطبيق لفائدتك أنت وجميع الإخوة

    [*]يمكن تعديل فعل الربط لفعل الإستيراد بتعديل acLink لتصبح acImport ، وجعلتها ربطاً وليس إستيراداَ حتى لا تؤثر على جداولك ...

    أنا متأكد أن جميع الإخوة و الزملاء لن يبخلوا عليك بما لديهم

    وشكراً

    والله من وراء القصد ... وهو حسبي ..

    ............

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

اخي العزيز / نارت

اشكرك كل الشكر على سعة صدرك ومساعدتك واحتسب اجرك على الله وبفضل الله ثم فضلك تعلمت الكثير واخيرا توصلت لمبتغاي ولولا اكوادك الرائعة

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

ليستفيد منه باقي الاخوة

NA_LinkExcelSheet.rar

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information