اذهب الي المحتوي
أوفيسنا

كيف أعدل كود الاستيراد من XLS الىCSV ?


salman a

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

السلام عليكم

الملف المرفق قام بوضعه احد الأخوة الأفاضل في هذا المنتدى

يقوم باستيراد البيانات من ملف إكسل إلى أكسس تيبل

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

مرفق ملف CSV للتجربة

ولكم جزيل الشكر

ImportExcelFile.rar

20060513.zip

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

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

لماذا لا تجرب تغيير امتداد نوع الملف :

من :

   mFile = GetFile("Choose a file to import", "Excel Files (*.xls)", "*.xls")
الى :
 mFile = GetFile("Choose a file to import", "Excel Files (*.CSV)", "*.CSV")

مجرد محاولة فقط

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

اخي التقني أشكر لك تجاوبك

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

حيث أن تغير إمتداد الملف تمكنك من إختيار نوع الملف المطلوب إستيراده وهو csv بدلا من xls

لكن عندما أطلب عملية الإستيراد لا يقوم بها

ويقوم بإظهار bug عند السطر

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel7, mTable, mFile, True

شاكر لك مسبقا

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

الأخوة التقني ـــ rudwan

شاكر تجاوبكم

بالنسبة للملف المرفق من الأخ rudwan للأسف لا يفي بالغرض

إذا كان ممكن تعديل على الكود بالملف المرفق من قبلي بحيث يتم الإستيراد من CSV FILE

بدلا من الإكسل مع ملاحظة ان الكود يحدد الورقة مع العلم ان CSV لا يحتوى سوى ورقة واحدة

هناك ملاحظة مهمة يجب أخذها بالإعتبار وهى ان بيانات الملف CSV المرفق عدد عناوين الأعمدة 6 بينما البيانات الموجودة تتكون من 7 أعمدة

ممكن نجعلة يتجاهل عنوان الأعمدة

أو ان يقوم باستيراد البيانات في العمود من 1 حتى 6 ويهمل العمود 7

تحياتي للجميع

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

الأخوة التقني ـــ rudwan

شاكر تجاوبكم

بالنسبة للملف المرفق من الأخ rudwan للأسف لا يفي بالغرض

إذا كان ممكن تعديل على الكود بالملف المرفق من قبلي بحيث يتم الإستيراد من CSV FILE

بدلا من الإكسل مع ملاحظة ان الكود يحدد الورقة مع العلم ان CSV لا يحتوى سوى ورقة واحدة

هناك ملاحظة مهمة يجب أخذها بالإعتبار وهى ان بيانات الملف CSV المرفق عدد عناوين الأعمدة 6 بينما البيانات الموجودة تتكون من 7 أعمدة

ممكن نجعلة يتجاهل عنوان الأعمدة

أو ان يقوم باستيراد البيانات في العمود من 1 حتى 6 ويهمل العمود 7

تحياتي للجميع

شاكر تجاوبكم

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

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

أخي العزيز

حقيقة لم أستدل من خلال البحث عن كود يقوم بهذه العملية

لكن وجدت لك برنامج صغير يقوم بسحب محتويات *.csv وانشاء ملف mdb بداخله جدول حقوله مقسمة حسب محتويات ملف الــCSV

طريقة العمل :

قم بإنشاء مجلد بإسم csvdata وضعه على القرص c ليكون بالطريقة التالية :

c:\csvdata

بعد أن فتح هذا المجلد قم بتشغيل الملف convert_cvs2mdb

واتبع الخطوات

ستجد أنه تم انشاء ملف mdb بإسم template

اقتراح : يمكنك تشغيل هذا السكربت csvdata ووضعه ضمن كود تشغيل داخل مشروعك (جرب)

وبالتوفيق

انظر المرفقات

convert_cvs2mdb.zip

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

الأخ الفاضل التقني

السلام عليكم

للأسف الملف لم يعمل لدي

تم إنشاء مجلد بأسم csvdata على الــ c

وعند محاولة فتح البرنامج يقوم بإنشاء ملف mdb بإسم template

وبعدها يعطي رسالة خطاء item canooot be found in the collection corresponding to the recuested name or ordinal

ارجو الإفادة عن ماهية المشكلة او الخطاء بالموضوع

شاكر لك تجاوبك واهتمامك

تحياتي

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

غريبة

قمت بتطبيق البرنامج على الملف المرفق معه وتم انشاء ملف mdb فيه جدول وحقول ممتلئة بالبيانات مستمدة منم ملف الاكسلCSV.

حقيقة لا أعرف ان كان الخلل من الاوفيس لديك أم لا ؟

حبذا لو تم تجربة المثال من قبل الاخوة .

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

عند محاولة فتح mdb اللتي تم إنشائها باسم template

يعطيني رسالة تحويلها أى نوع 2000 او فتحها فقط

أعتقد ان المشكلة لدي

عموما اخي الفاضل لا املك إلا ان اقول جزاك الله خير على سعة صدرك وتعاونك

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

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

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

Important Information