منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكلة في ربط الفيجوال بيسك 2013 مع الاكسل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته 
تظهر لي رسالة خطأ عند ربط الفيجوال بيسك بملف الاكسل والرسالة التي تظهر لي هي : 
إن الموفر 'microsoft.ace.oledb.12.0' غير مسجل على الجهاز المحلي.
علماً أن جملة الاتصال المستخدمة هي : 


        Dim Conn As New OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=D:\ Student_DataExcell.xlsx ; extended properties=excel 12.0;")

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

إن كان لديك بالفعل نسخة من مايكروسوفت اكسل على جهازك، 
فهذا يعني أن النسخة التي على جهازك تخالف التي تطلب الاتصال بها (x86) أو (x64)
لتعديل ذلك ، اتبع التعليمات في الصورة (جرب مرة تختار 86   ومرة 64 أو غيرها من الخيارات المتوفرة في القائمة أدناه حتى تعمل لديك ):..




شيء آخر أنتبه لكتابة مسار الملف الذي كتبته في جملة الربط يوجد (فراغ) بين (\) واسم الملف وهذا خطأ..
أليس من الافضل مع الاكسل استخدام مكتباتها و اقصد ماتسمى بـ Reference مثل المثال البسيط هذا الا يفي بالغرض؟
السلام عليكم ورحمة الله وبركاته 
الشكر الجزيل للأخ  Taha Okla   وكذلك الأخ Justforit  سأجرب الطريقتين ثم أعلمكم بالنتيجة 
بارك الله فيكم 
السلام عليكم ورحمة الله وبركاته 
بالنسبة للحل الذي قدمه الأخ Taha Okla  لم يعمل معي إلا عندما اخترت 64 x    
ولكن أنا متخوف إنى أستمر بهذه الطريقة لخوفي أن يؤثر على بقية المشروع يوجد به 15 فورم بعضها للتعامل مع السكانر علما أن المشروع مرتبط مع Sql server  وهذه هي الشاشة الوحيدة فقط التي ربطتها مع الاكسل لاستيراد البيانات من ملف اكسل 
فهل يؤثر هذا على بقية المشروع 
ولكم خالص تحياتي 


و عليكم السلام و رحمة الله و بركاته
هل فكرة انشاء فورم مستقل بمشروع جديد مستقل لغرض الاستيراد او التصدير لاكسل ونسخ ملفه التنفيذي الى مجلد المشروع الرئيسي شيء منطقي عند المبرمجين؟
اذا نعم فهذا حل.
كون عملك كله مستقر بتنظيمه الاول باستثناء فورم واحد -- هذا هو سبب طرحي لهذا الاقتراح و يبقى الخبراء لهم كلمة افضل و اصوب.
لا يوجد أي خطورة على مشروعك سواء عملت على نسخة 86  أو 64 : فهي نفس الأكواد ونفس المشروع، 
فقط التغيير في هذه النافذة المشار إليها في الصورة أعلاه عند عملية بناء الملف التنفيذذي فقط..

فإن كان هذا يسبب لك مشكلة في نفسك : فإذا كانت نسخة الأوفيس لديك وتستطيع إعادة تثبيتها وتفعيلها، قم بإزالتها ثم ثبت النسخة x86 

مع العلم بأن النسخة x64 هي الأسرع والأكثر كفائة بالتعامل مع الملفات من x86

بإمكانك استكمال عملك حتى النهاية على نسخة 64 ومنها تبني الملف التنفيذي الخاص بإصدارات الـ 64
وتحتفظ بنسخة منه ،،
ثم تقوم بإعادة الـ CPU  إلى 86  وتشغيل البرنامج ــ وهو بدوره سيقوةم بإنشاء ملف تنفيذي يعمل على 86
بالرغم من أنه لن يعمل على جهازك وسيعطيك رسالة خطأ
لكن هذا الملف مع ملحقاته لو نسختها إلى جهاز به نسخة أوفيس 86  سيعمل عليها (لأن البرنامج لن يعطي خطأ إلا بعد إكتمال بناء الملف التنفيذي)
أي أنه لن يعمل فقط على أجهزة 64 وليس خطأ عام يشمل كل الأجهزة وخاصة 86 .. التي سيعمل عليها بكفائته..

على جهاز البيت أعمل على نسخة 64  بشتغل فيها براحتي..
وعلى جهاز العمل أعتمد نسخة 86 لأن جميع الأجهزة في المكتب 86.

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

بحثت في اليوتيوب ووجدت الحل التالي هل تنصحوني بتجربته 

https://www.youtube.com/watch?v=ymdAwc_vpbc
السلام عليكم ورحمة الله وبركاته 
اخواني لكم الشكر في مساعدتي بخصوص هذه المشكلة التي أخذت وقت طويل حتى تم حلها وقد جدت الحل وأنا أعرض الحل لرد ولو جزء بسيط من لهذا المنتدى ولعل أحداً من الإخوة يستفيد منه ويوجد الحل في الرابط التالي 
https://www.youtube.com/watch?v=gjykOuT_xwQ
(19-04-24, 09:13 AM)صالح عبدالله كتب : [ -> ]بارك الله فيكم اتعبتكم معي وجزاكم الله خير على كل ماقدمتوه من أفكار 

بحثت في اليوتيوب ووجدت الحل التالي هل تنصحوني بتجربته 

https://www.youtube.com/watch?v=ymdAwc_vpbc


هذه الحل أفضل ..
بهذا يمكنك أن تنزل إصدار حديث من الأوفيس بإصدار 64bit
وبعدها فيك تثبت Access Database Engine  2010 إصدار 32  أي (x86).  
وعلى الأغلب سيتوافقان على جهاز واحد دون تعارض ..
ومهما كان فإن مشروعك سيعمل على كلا الاصدارين x86  و  x64  مهما غيرت بينهما..