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

التصدير من والى الاكسس


gamalin

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

الاخوة الافاضل جزاكم الله خيرا

في بحثي عن حل لمشكلة تصدير البيانات الى الاكسس

وجدت هذا الكود الرائع

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

لذا ارجوا من الاخوة مراجعته

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

وفيمما يلي الكود

'If you want to export data to an Access table from an Excel worksheet, the macro example below shows how this can be done:

Sub DAOFromExcelToAccess()

' exports data from the active worksheet to a table in an Access database

' this procedure must be edited before use

Dim db As Database, rs As Recordset, r As Long

Set db = OpenDatabase("d:\SalesSystem.mdb")

' open the database

Set rs = db.OpenRecordset("Transactions", dbOpenTable)

' get all records in a table

r = 2 ' the start row in the worksheet

Do While Len(Range("A" & r).Formula) > 0

' repeat until first empty cell in column A

With rs

.AddNew ' create a new record

' add values to each field in the record

.Fields("FieldName1") = Range("A" & r).Value

.Fields("FieldName2") = Range("B" & r).Value

.Fields("FieldNameN") = Range("C" & r).Value

' add more fields if necessary...

.Update ' stores the new record

End With

r = r + 1 ' next row

Loop

rs.Close

Set rs = Nothing

db.Close

Set db = Nothing

End Sub

'The macro example assumes that your VBA project has added a reference to the DAO object library.

'You can do this from within the VBE by selecting the menu Tools, References and selecting Microsoft DAO x.xx Object Library.

'Use ADO if you can choose between ADO and DAO for data import or export.

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

غريبة ان الموضوع رغم اهميته واضافته لم يستهوي احد عموما لازلت في انتظار تشريف الاخوة المبدعين وخبراء الاكسل والبارعين في الاكواد علما بان رسالة الخطأالتي تظهر تتعلق بتعريف المتغير database

فس السطر

Dim db As Databaseوحاولت اتباع السطر الاخير واضافة dao في vba من tools >>>>>

الا اني لم اوفق لان التأشير عليها يزول بمجرد قفل محرر الاكواد واعادة فتحة من جديد

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

اخى الكريم

انا مثلك دائم الصدير من اكسل الى اكسس والعك صحيح ولا احتاج الى اكواد ولا ماكروز

من الاكسس وانت واقف على تايبول اختار امبورت هايفتح لك المتفح اختار مكان شيت الاكسل من على جهاز الكمبيوتر ولا تنسي انك تغير الوندو اللى حت من اكسس داتا بيز الى اكسل ورك شيت

هتلاقى الجدول عندك انضاف وكمان اتعملة بريمرى كى

حتى لو شي الاكسل اكثر من ورقة انت بتختار الورقة المطلوبة

وانا عن نفسي بعد استيراد ملف الاكسل وجعلة جدول فى اكسس بفضل اظبط البيانات لان كل الحقول بتكون تكتت ,50 وبظبطها على حسب رغبتى

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

اشكركم للاهتمام والرد

ثانيا

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

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

اشكركم جميعا وفي انتظار ان تستهوي الفكرة احد الماهرين في الاكواد

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

هناك عدة اجراءات في الماكرو تساعدك في هذا المجال و هي خير لك من هذا الكود

TransferSpreadsheetمثلا هذا الاجراء جربه من فضلك

ستجده في اجراءات الماكرو

ارجو شرح كيفية تنفذ ذلك في اكسل 2007

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

الاخوة الافاضل

الحمد لله عمل الكود بكفاءة

يتبقى فقط مشكلة صغيرة وهي ان

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

Dim db As Database, rs As Recordset, r As Long

Set db = OpenDatabase("d:\SalesSystem.mdb")

' open the database

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

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

الاخوة الافاضل

الحمد لله عمل الكود بكفاءة

يتبقى فقط مشكلة صغيرة وهي ان

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

Dim db As Database, rs As Recordset, r As Long

Set db = OpenDatabase("d:\SalesSystem.mdb")

' open the database

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

gللرفع

الاخوة الخبراء بالاكواد

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

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

  • 5 years later...
  • 1 year later...

السلام عليكم ورحمة الله و بركاته
كود التصدير من أكسس إلى إكسل يعمل بكفاءة
إلا أنه عند التصدير يسمي أعمدة الأكسل بالأسماء التي وضعت (Caption) للحقول

و الذي يجعل استيرادها لنفس الجدول خطأ

وهناك أيضا مشكلة أخى إذا سمحتم لي

عندما يكون عدد السجلات المصدرة أكثر من 65 ألف

لا يتم التصدير

\أفيدونا و جزاكم الله خيرا

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

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