السلام عليكم ورحمة الله وبركاته
تظهر لي رسالة خطأ عند ربط الفيجوال بيسك بملف الاكسل والرسالة التي تظهر لي هي :
إن الموفر '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 مهما غيرت بينهما..