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

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

طريقة نسخ بيانات ملف 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
المساهمات : 130
النقاط : 252
التقيم : 8
الدولة : تونس
الجنس : ذكر

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

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

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

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

end.sub
.....
.....

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

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


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