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

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

قام بنشر (معدل)

السلام عليكم

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

المطلوب : عدم السماح باستيراد الملف ؟

1- لو كان هنالك اختلاف  في اسم اي عمود من اعمدة الاكسل او  كان ملف الاكسيل فارغ

2- اظهار رسالة بذلك

3-الغاء عملية الاستيراد

وشكرا لكم

Access Import.rar

تم تعديل بواسطه Ahmed_J
قام بنشر

اساتذتي الاعزاء

هل طلبي صعب ام لايمكن تنفبذه

اتمنى الاجابه 

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

قام بنشر
9 ساعات مضت, Ahmed_J said:

اساتذتي الاعزاء

هل طلبي صعب ام لايمكن تنفبذه

اتمنى الاجابه 

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

طيب طبقنا هذا الكود للمقارنة بين حقول الجدولين .....

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "Tablex", m_strFileName, True
Dim s As Integer
    Dim dbss As Database, tdf1 As TableDef
    Dim dbs As Database, tdf As TableDef
    Dim fld, fld1 As Field
    Dim tbl, tbl1 As String
    tbl = "Table"
    tbl1 = "Tablex"
    Set dbs = CurrentDb
    Set dbss = CurrentDb
    Set tdf = dbs.TableDefs(tbl)
    Set tdf1 = dbss.TableDefs(tbl1)
    
 For Each fld In tdf.Fields
   s = 0
    For Each fld1 In tdf1.Fields
        If fld.Name = fld1.Name Then s = s + 1
    Next fld1
If s = 0 Then GoTo dd
 Next fld
    Set dbss = Nothing
    Set dbs = Nothing
        DoCmd.SetWarnings False
        DoCmd.OpenQuery "import_tbl"
        DoCmd.DeleteObject acTable, "Tablex"
        DoCmd.SetWarnings True

        txtImportFile = ""
        MsgBox "Data imported successfully"

Exit_أمر8_Click:
    Exit Sub
    
dd:
    MsgBox "هناك اختلاف في اسماء الحقول"
    DoCmd.SetWarnings False
    DoCmd.DeleteObject acTable, "Tablex"
    DoCmd.SetWarnings True

تفضل ملفك بعد التعديل .....

 

Access Import.accdb

  • Like 1
قام بنشر (معدل)

شكرا لك استاذ @ناقل على الاستجابة

بارك الله فيك

طريقة جميلة

لي ملاحظتين حاليا على البرنامج

1- عند اضافة حقل جديد بالجدول (اضافي) يقبل استيراد البيانات كما في جدول Table-A

2- عندما يكون جدول الاكسل خالي من البيانات يقبل استيرادة كما في جدول Table-B

اتمنى ان يكون البرنامج مقفل مثلا  على (ثلاث حقول) للاعمدة A ,B ,C فقط  وان لايقبل ملف خالي من البيانات

يعني ان يكون  استيراد ملف اكسل مطابق 100% للجدول بالاكسس ولا يكون فارغ

شكرا لك

Access Import.accdb Table-A.xlsx Table-B.xlsx

تم تعديل بواسطه Ahmed_J
  • أفضل إجابة
قام بنشر
3 ساعات مضت, Ahmed_J said:

لي ملاحظتين حاليا على البرنامج

1- عند اضافة حقل جديد بالجدول (اضافي) يقبل استيراد البيانات كما في جدول Table-A

2- عندما يكون جدول الاكسل خالي من البيانات يقبل استيرادة كما في جدول Table-B

اتمنى ان يكون البرنامج مقفل مثلا  على (ثلاث حقول) للاعمدة A ,B ,C فقط  وان لايقبل ملف خالي من البيانات

يعني ان يكون  استيراد ملف اكسل مطابق 100% للجدول بالاكسس ولا يكون فارغ

شكرا لك

طيب استخدم هذا الكود ........

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "Tablex", m_strFileName, True
Dim s As Integer
    Dim rst As DAO.Recordset
    Dim rst2 As DAO.Recordset
    Dim dbs As DAO.Database
    Dim dbss As DAO.Database
    Dim tdf1 As TableDef
    Dim tdf As TableDef
    Dim fld, fld1 As Field
    Dim tbl, tbl1 As String
    tbl = "Table"
    tbl1 = "Tablex"
    Set dbs = CurrentDb
    Set dbss = CurrentDb
    Set tdf = dbs.TableDefs(tbl)
    Set tdf1 = dbss.TableDefs(tbl1)
    Set rst2 = dbs.OpenRecordset(tbl)
    Set rst = dbss.OpenRecordset(tbl1)
    rst.MoveLast
If rst.Fields.Count <> rst2.Fields.Count Then GoTo dd
If IsNull(rst.Fields(1)) Then GoTo dd
 For Each fld In tdf.Fields
   s = 0
    For Each fld1 In tdf1.Fields
        If fld.Name = fld1.Name Then s = s + 1
    Next fld1
If s = 0 Then GoTo dd
 Next fld
    Set dbss = Nothing
    Set dbs = Nothing
    rst.Close
        DoCmd.SetWarnings False
        DoCmd.OpenQuery "import_tbl"
        DoCmd.DeleteObject acTable, "Tablex"
        DoCmd.SetWarnings True

        txtImportFile = ""
        MsgBox "Data imported successfully"

Exit_أمر8_Click:
    Exit Sub
    
dd:
    rst.Close
    MsgBox "هناك اختلاف في اسماء الحقول "
    DoCmd.SetWarnings False
    DoCmd.DeleteObject acTable, "Tablex"
    DoCmd.SetWarnings True

 

  • Thanks 1
قام بنشر (معدل)

السلام عليكم استاذ  @ناقل

هل هو كود تطابق 100%  ؟؟ بين الجدولين

جاري التجرية

ان شاء الله خير

تسلم ايدك

تم تعديل بواسطه Ahmed_J
قام بنشر (معدل)

شكرا لك استاذ @ناقل

سؤالي للمعرفة فقظ ؟ هل هو كود تطابق 100%  ؟؟ بين الجدولين

كلو تمام

بارك الله فيك

 

تم تعديل بواسطه Ahmed_J

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