رمز VBA لاستيراد بيانات جدول/استعلام الوصول إلى Excel

رمز VBA لاستيراد بيانات جدول/استعلام الوصول إلى Excel
جدول المحتويات

استيراد جدول الوصول إلى Excel باستخدام VBA (الصور والتعليمات البرمجية)

ما هذا؟

يساعدك رمز VBA هذا على التنزيل أو الاستيراد وصول بيانات الجدول أو الاستعلام إلى Excel بنقرة واحدة.

 

لماذا هو؟

يمكنك استيراد بيانات جدول Access إلى Excel دون فتح قاعدة بيانات Access.

كيفية استيراد بيانات جدول Access إلى Excel




الخطوة 1: افتح مصنف Excel وانتقل إلى منشئ أكواد VBA (Alt + F11) وافتح وحدة نمطية جديدة.

Xmodule

الخطوة 2: انسخ وألصق الكود أدناه فيه.

				
					Sub importAccessdata() Dim cnn As ADODB.Connection Dim rs As ADODB.Recordset Dim sQRY As String Dim strFilePath As String strFilePath = "C:\DatabaseFolder\myDB.accdb" 'استبدل 'DatabaseFolder' و'myDB.accdb' بالملفين الخاصين بك مسار قاعدة البيانات واسم قاعدة البيانات Set cnn = مجموعة ADODB.Connection الجديدة rs = ADODB.Recordset الجديدة cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "مصدر البيانات =" & strFilePath & ";" sQRY = "SELECT * FROM tblData" 'استبدل 'tblData' باسم جدول قاعدة بيانات Access أو اسم الاستعلام الذي تريد تنزيل البيانات منه rs.CursorLocation = adUseClient rs.Open sQRY, cnn, adOpenStatic, adLockReadOnly Application.ScreenUpdating = False Sheet1.Range("A1").CopyFromRecordset rs rs.Close Set rs = لا شيء cnn.Close Set cnn = لا شيء خروج Sub End Sub
				
			

الخطوه 3: انقر فوق الزر "تشغيل" أو F5 (يمكنك أيضًا إدراج زر/شكل في ورقة Excel ثم النقر بزر الماوس الأيمن وتعيين هذا الماكرو للتشغيل في كل مرة.)

استيراد جدول الوصول

تم تحميل سجلات قاعدة بيانات Access بنجاح إلى Excel، افتح مصنف Excel الخاص بك وتحقق من البيانات.

ملحوظة: تأكد من تمكين "مكتبة كائنات بيانات Microsoft ActiveX" من ملف أدوات - مراجع (الرقم يستخدم الإصدار الأحدث [6.1 اعتبارًا من هذا المنشور]).

استيراد جدول الوصولPin



أنا متأكد من أنك تعمل على الكثير من بيانات Excel وMS Access وVBA، لذا فأنا بقوة أنصحك بالانضمام إلى نموذج مستخدم Ultimate Excel VBA أدناه مع قاعدة بيانات Access! إنه استثمار يستحق في نفسك! افعلها الآن!

قم ببناء برنامج العالم الحقيقي الخاص بك، وتعلم Excel الحقيقي VBA (وحدات الماكرو)، وتجاوز حدود Excel مع المشروع الكامل

Picture of Anson Antony
أنسون أنتوني
أنسون هو مؤلف مساهم ومؤسس في www.askeygeek.com. لقد كان تعلم أي شيء جديد هو شغفه دائمًا، ASKEYGEEK.com هو نتيجة شغفه بالتكنولوجيا والأعمال. لقد حصل على عقد من الخبرة المتنوعة في الاستعانة بمصادر خارجية للعمليات التجارية، والمالية والمحاسبة، وتكنولوجيا المعلومات، والتميز التشغيلي وذكاء الأعمال. خلال فترة عمله، عمل في مؤسسات مثل Genpact وHewlett Packard وM*Modal وCapgemini في أدوار ومسؤوليات مختلفة. بعيدًا عن الأعمال والتكنولوجيا، فهو من عشاق الأفلام ويقضي ساعات معًا في مشاهدة وتعلم السينما وصانع أفلام أيضًا!

10 Responses

  1. مرحبًا، أردت التحقق مما إذا كنت سأحتفظ بقاعدة بيانات Access الخاصة بي في محرك أقراص مشترك وقم بتوزيع ماكرو Excel هذا في مؤسستي، فهل سينجح ذلك؟ أريد أن يقرأ ماكرو Excel بعض القيم من قاعدة بيانات Access هذه ثم يقوم بتحديث بعض المتغيرات عند فتح Excel.

    وأيضًا إذا لم يعمل Access، فهل يمكنني استخدام برنامج Excel آخر محفوظ في محرك أقراص المؤسسة والوصول إليه بدلاً من قاعدة البيانات. لقد حاولت باستخدام طريقة فتح المصنف في وحدة الماكرو الخاصة بي لقراءة برنامج Onedrive Excel الذي تتم مشاركته مع الجميع في شركتي ولكنه لم ينجح.

  2. لقد فعلت ذلك أخيرًا.

    أنا أستخدم متغيرين (textbox1 كقيمة "عملة، تنسيق R$0.000,00" وtextbox2 كـ "تاريخ"، تنسيق mm/dd/yyyy)

    الكود ↓

    '======================================================================== ===|
    '============================ كاوي فاز==|
    '======================================================================== ===|

    الخيار صريح

    انقر فوق الأدوات والمراجع وحدد
    مكتبة كائنات بيانات Microsoft ActiveX 2.0
    getDataFromAccess الفرعي (strValue، strDate)

    خافت DBFullName كسلسلة
    خافت الاتصال كسلسلة، المصدر كسلسلة
    اتصال خافت باسم ADODB.Connection
    مجموعة السجلات الخافتة مثل ADODB.Recordset
    خافت العقيد كعدد صحيح
    خافت mySQLVariable كسلسلة
    خافت mySQLVariable_1 كسلسلة
    خافت strSQL كسلسلة

    mySQLVariable = strValue 'القيمة من textbox1 (تنسيق العملة R$0.000,00)
    mySQLVariable_1 = strDate 'القيمة من textbox2 (تنسيق التاريخ mm/dd/yyyy)

    'رمز SQL
    strSQL = "اختر * من tblDatabase أين"
    strSQL = strSQL & "[القيمة] = '" & (mySQLVariable) & "" و "
    strSQL = strSQL & "[التاريخ] = '" & (mySQLVariable_1) & "' "

    'قاعدة البيانات، حدد الوصول إلى قاعدة البيانات الخاصة بك
    DBFullName = "C:\Users\Desktop\Databases\BD_PaynotProcess\bd_PaynotProcess.accdb"

    ' فتح الاتصال
    تعيين الاتصال = ADODB.Connection جديد
    الاتصال = "Provider=Microsoft.ACE.OLEDB.12.0;"
    الاتصال = الاتصال & "مصدر البيانات =" & DBFullName & "؛"
    Connection.Open ConnectionString:=Connect

    'إنشاء مجموعة السجلات
    تعيين مجموعة السجلات = ADODB.Recordset الجديد
    مع مجموعة السجلات

    'البحث عن القيم باستخدام متغير كود SQL strSQL
    المصدر = strSQL
    .Open Source:=Source، ActiveConnection:=Connection

    'استيراد الأعمدة من قاعدة البيانات.
    بالنسبة للعمود = 0 إلى Recordset.Fields.Count – 1
    النطاق ("A5").الإزاحة (0، العمود).القيمة = Recordset.Fields(Col).Name
    التالي

    'استيراد الخطوط من قاعدة البيانات.
    النطاق ("A5").الإزاحة (1، 0).CopyFromRecordset Recordset
    انتهت ب

    تعيين مجموعة السجلات = لا شيء
    اتصال.إغلاق
    ضبط الاتصال =

    ActiveSheet.Columns.AutoFit

    نهاية الفرعية

    يعتبر

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

تهانينا!
لقد فعلتها،
لا تغلق!

الحصول على ما يصل الى 60.000 أرصدة شخصيات UberTTS مجانًا!!!

هذه النافذة المنبثقة لن تظهر متروك لكم مرة أخرى!!!

أوبر تي تي إس
7
Share to...