منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

طريقة نسخ بيانات ملف Excel الى قاعدة بيانات Access بأستخدام جملة SQL

اذهب الى الأسفل

طريقة نسخ بيانات ملف Excel الى قاعدة بيانات Access بأستخدام جملة SQL Empty طريقة نسخ بيانات ملف Excel الى قاعدة بيانات Access بأستخدام جملة SQL

مُساهمة من طرف م/موسي السبت سبتمبر 21, 2013 2:50 pm

بسم الله الرحمن الرحيم

بالامس كتبت مقال عن كيفية نسخ قاعدة بيانات أكسس الى ملف أكسل بأستخدام جملة sql على الرابط التالى :

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

لكن فى هذا المقال سنتعلم العكس بمعنى  نسخ بيانات ملف Excel الى قاعدة بيانات Access بأستخدام جملة SQL وذلك على النحو التالى :

_ فى البداية سنحتاج الى ادراج المكتبة ADO و المكتبة ADOX

_ نقوم بالاعلان عن متغير و تخزين مسار و اسم ملف Excel فيه وذلك على النحو التالى :

الكود:
Dim cSource As String
cSource = App.Path & _
    IIf(Right$(App.Path, 1) <> "\", "\", "") & _
    "books.xls"
_ نقوم بالاعلان عن متغير اخر لتخزين فية اسم ومسار قاعدة البيانات المراد نقل البيانات اليها وذلك على النحو التالى :

الكود:
Dim cTarget As String
cTarget = App.Path & _
    IIf(Right$(App.Path, 1) <> "\", "\", "") & _
    "books.mdb"
_ نقوم باستخدام جملة شرطية للتأكد من وجود مصدر البيانات Excel فان كان موجود يتم استخدام كائنات المكتبة ADOX للاتصال به و ذلك على النحو التالى :
الكود:
If Dir(cTarget) = "" Then
    Dim oCat As ADOX.Catalog
    Set oCat = New ADOX.Catalog
    oCat.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & cTarget
End If
_ نقوم بعد ذلك باستخدام كائنات المكتبة ADO لفتح قاعدة البيانات أكسس وذلك على النحو التالى :
الكود:
Dim oCon As ADODB.Connection
Set oCon = New ADODB.Connection
Dim cSQL As String

With oCon
    .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
        & _
        "Data Source=" & cSource & ";" & _
        "Extended Properties=Excel 8.0"
    .Open
_ نقوم بعد ذلك ببناء جملة الاستعلام التى ستقوم بمهمة نسخ البيانات من أكسل الى أكسس و ذلك على النحو التالى :
الكود:
cSQL = "SELECT * " & _
        "INTO [Table1] " & _
        "IN '" & cTarget & "' " & _
        "FROM [Sheet1$]"
    .Execute cSQL


و اليكم الكود النهائى على النحو التالى :

الكود:
Dim cSource As String
cSource = App.Path & _
    IIf(Right$(App.Path, 1) <> "\", "\", "") & _
    "books.xls"

Dim cTarget As String
cTarget = App.Path & _
    IIf(Right$(App.Path, 1) <> "\", "\", "") & _
    "books.mdb"

If Dir(cTarget) = "" Then
    Dim oCat As ADOX.Catalog
    Set oCat = New ADOX.Catalog
    oCat.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & cTarget
End If

Dim oCon As ADODB.Connection
Set oCon = New ADODB.Connection
Dim cSQL As String

With oCon
    .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
        & _
        "Data Source=" & cSource & ";" & _
        "Extended Properties=Excel 8.0"
    .Open

    cSQL = "SELECT * " & _
        "INTO [Table1] " & _
        "IN '" & cTarget & "' " & _
        "FROM [Sheet1$]"
    .Execute cSQL
End With

ارجوا ان يكون الدرس مفيد و تحياتى لكم
م/موسي
م/موسي
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 178
النقاط : 346
التقيم : 12
الدولة : تونس
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

طريقة نسخ بيانات ملف Excel الى قاعدة بيانات Access بأستخدام جملة SQL Empty رد: طريقة نسخ بيانات ملف Excel الى قاعدة بيانات Access بأستخدام جملة SQL

مُساهمة من طرف end.sub الثلاثاء أكتوبر 08, 2013 7:55 am

جزاك الله خيرا أخى الفاضل
end.sub
end.sub
.....
.....

تاريخ التسجيل : 15/08/2013
المساهمات : 70
النقاط : 132
التقيم : 10
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى