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

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

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

اريد تحديث بيانات اكسس من اكسل وقد استخدمت هذا الكود :

 

Sub UPDATE_FROM_EXCEL()
  
  '-- GET EXCEL FILE
  Dim XL_FILE As String
  XL_FILE = CurrentProject.Path & "\ITEMX.xlsx"
  
  '-- WRITE SQL STATEMENT
  Dim SQL As String
  SQL = SQL & "UPDATE TABLE1 AS T1 "
  SQL = SQL & "RIGHT JOIN "
  SQL = SQL & "(SELECT * FROM [SHEET1$] IN'" & XL_FILE & "'"
  SQL = SQL & "[EXCEL 12.0;HDR=YES;IMEX=1;]) AS T2 "
  SQL = SQL & "ON T1.[كود_الصنف] = T2.[كود الصنف] "
  SQL = SQL & "SET T1.[كود_الصنف] = T2.[كود الصنف],"
  SQL = SQL & "T1.[اسم_الصنف] = T2.[اسم الصنف]"
  
  '-- RUN SQL STATEMENT
  CurrentDb.Execute SQL
    
End Sub

ولكن يضهر لي خطاء في  CurrentDb.Execute SQL

تم تعديل بواسطه mhm55
قام بنشر
منذ ساعه, mhm55 said:

ولكن يضهر لي خطاء في  CurrentDb.Execute SQL

في مشاركتك الأولى ، أهلا وسهلاً بك معنا أخي الكريم @mhm55 . ونتمنى أن تجد ما تبحث عنه من فائدة ومعلومة ونصيحة :welcomeani:

 

اسمح لي أولا بلفت انتباهك إلى ضرورة التقيد بـ قوانين المنتدى ، حتى تصل إلى مطلوبك بشكل سريع و واضح . ومن هذه الأمور التي عليك الإلتزام بها :0

1. ضرورة الإيضاح في طلبك بشكل كافي و شافي و وافي .

2. ارفاق ملف لتوضيح الصورة إن لزم الأمر .

3. لوضع كود في المشاركة ، استخدم علامتي التكويد <> ثم لصق الكود ليكون سهلاً في القراءة ؛ كما سترى لاحقاً .

 

أما بالنسبة لطلبك ومشكلتك ،، عليك أولا التأكد من أمرين مهمين هما :-

 

1. تأكد أن ملف الإكسيل موجود في المسار المحدد في الكود (CurrentProject.Path & "\ITEMX.xlsx")

2. تأكد أن اسم ورقة العمل في ملف الإكسيل هو فعلاً = "SHEET1$" . إذا كان الاسم مختلفاً ، قم بتعديله في الكود .

3. جملة الإستعلام في الكود الذي ارسلته غير صحيحة في آكسيس ، والتالي تعديل عله يكون صحيحاً
 

Sub UPDATE_FROM_EXCEL()
    '-- GET EXCEL FILE
    Dim XL_FILE As String
    XL_FILE = CurrentProject.Path & "\ITEMX.xlsx"
    
    '-- WRITE SQL STATEMENT
    Dim SQL As String
    SQL = "UPDATE TABLE1 AS T1 " & _
          "INNER JOIN [Excel 12.0 Xml;HDR=YES;IMEX=1;Database=" & XL_FILE & "].[SHEET1$] AS T2 " & _
          "ON T1.[كود_الصنف] = T2.[كود الصنف] " & _
          "SET T1.[اسم_الصنف] = T2.[اسم الصنف]"
    
    '-- RUN SQL STATEMENT
    CurrentDb.Execute SQL, dbFailOnError
End Sub

 

جرب وأخبرنا بالنتيجة 

قام بنشر
1 ساعه مضت, Foksh said:

3. جملة الإستعلام في الكود الذي ارسلته غير صحيحة في آكسيس ، والتالي تعديل عله يكون صحيحاً

أصل هذه الشفرة في المشاركة التالية

 

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