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

هل يمكن تصدير عدة جداول الى xml واحد


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

السلام عليكم

اخواني الكرام

عندي عدة جداول اريد ان اصدر هذه الجداول كلها الى ملف xml واحد

لانه عند تحديد اكثر من جدول يتم يتم الغاء تفعيل زر تصدير الى xml

فحل من حل؟

 

رابط هذا التعليق
شارك

السلام عليكم

Option Compare Database
Option Explicit
Private Sub Command2_Click()
  Dim strFile As String
  Dim varItem As Variant
  
    strFile = InputBox("Designate the path and file name to export to...", "Export")
    
    If (strFile = vbNullString) Then Exit Sub
    
    For Each varItem In Me.List0.ItemsSelected
        DoCmd.TransferSpreadsheet transferType:=acExport, _
                                  spreadsheetType:=acSpreadsheetTypeExcel9, _
                                  tableName:=Me.List0.ItemData(varItem), _
                                  fileName:=strFile
    Next
    
    MsgBox "Process complete.", vbOKOnly, "Export"
End Sub
Private Sub Form_Open(Cancel As Integer)
  Dim strTables As String
  Dim tdf As TableDef
  
  
    For Each tdf In CurrentDb.TableDefs
        If (Left(tdf.Name, 4) <> "MSys") Then
            strTables = strTables & tdf.Name & ","
        End If
    Next
    strTables = Left(strTables, Len(strTables) - 1)
    
    Me.List0.RowSource = strTables
End Sub

مصدر الأوامر  موقع 

utteracess

 

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

اخي العزيز اعمل استعلام توحيد الجداول بعد التوحيد اعمل تقرير مبني على استعلام التوحيد وتحت زر التصدير اكتب الكود التالي

On Error Resume Next
DoCmd.OutputTo acOutputReport, "name", acFormatXLS, CurrentProject.Path & "\name.xls", 0
Application.FollowHyperlink CurrentProject.Path & "\name.xls"

سيقوم الكود التالي بأنشاء وفتح على اكسيل شيت 

رابط هذا التعليق
شارك

أهلا أستاذ @عبد الله قدور

نعم ممكن..

أولا.. يجب أن يكون التصدير باستخدام المنهج Application.ExportXML 

ثانيا.. لابد من وجود علاقة بين جدول البيانات الرئيسي والجداول الفرعية، كما يمكن إضافة توابع الجداول الفرعية

ثالثا.. يمكن اضافة الجداول الفرعية وتوابعا أيصا باستخدم المنهج Application.CreateAdditionalData

الشفرة التالية تبين طريقة إضافة البيانات الفرعية

Sub ExportCustomerOrderData() 
 Dim objOrderInfo As AdditionalData 
 Dim objOrderDetailsInfo As AdditionalData 
 
 Set objOrderInfo = Application.CreateAdditionalData 
 
 ' Add the Orders and Order Details tables to the data to be exported. 
 Set objOrderDetailsInfo = objOrderInfo.Add("Orders") 
 objOrderDetailsInfo.Add "Order Details" 
 
 ' Export the contents of the Customers table. The Orders and Order 
 ' Details tables will be included in the XML file. 
 Application.ExportXML ObjectType:=acExportTable, DataSource:="Customers", _ 
 DataTarget:="Customer Orders.xml", _ 
 AdditionalData:=objOrderInfo 
End Sub

فضلا راجع ملف تعليمات أكسس، أو طالع الروابط التالية من Docs &nbsp;Office VBA Reference &nbsp;Access

Application.ExportXML

Application.CreateAdditionalData

رابط هذا التعليق
شارك

السلام عليكم

اخي الكريم @Khalf حياك الله وبياك

لم استطع حل المشكلة هل يمكن التطبيق على قاعدة البيانات المرفقة

اخي الكريم @أبو إبراهيم الغامدي حياك الله وبياك

لم استطع تطبيق الكود الذي ارسلته لي هل يمكن التطبيق على قاعدة البيانات المرفقة

وجزاكم الله كل خير

Database1.accdb

  • Thanks 1
رابط هذا التعليق
شارك

السلام عليكم

أعتذر على التأخر لكن جهاز تعطل 

أخي الفاضل

الكود الذي قدمته بحاجة إلى ملف إكسل أعددته أولاً لترحل إليه البيانات 

قمت بالتعديل على الكود 

 

Option Compare Database
Option Explicit
Private Sub Command2_Click()
  Dim strFile As String
  Dim varItem As Variant
  
    strFile = InputBox("Designate the path and file name to export to...", "Export")
    
    If (strFile = vbNullString) Then Exit Sub
    
    For Each varItem In Me.List0.ItemsSelected
        DoCmd.TransferSpreadsheet transferType:=acExport, _
                                  spreadsheetType:=acSpreadsheetTypeExcel9, _
                                  tableName:=Me.List0.ItemData(varItem), _
                                  fileName:=strFile
    Next
    
    MsgBox "Process complete.", vbOKOnly, "Export"
End Sub
Private Sub Form_Open(Cancel As Integer)
  Dim strTables As String
  Dim tdf As TableDef
  
  
    For Each tdf In CurrentDb.TableDefs
        If (Left(tdf.Name, 4) <> "MSys") Then
            strTables = strTables &";"&tdf.Name
        End If
    Next
   
    
    Me.List0.RowSource = strTables
End Sub

 

و لكي يعمل الكود عليك أولاً اختيار أسماء الجداول من مربع القائمة ( يجب أن تجعل   Row source type= Value list  

Multi select = extended )

ثم حدد أسماء الجداول التي ترغب بترحيلها

    ثم ضغط مفتاح الأمر و بعد إلصاق مسار الملف بمربع الحوار  مع اسمه و الذي تحصل عليه من 

Properties>security

حيث يتضمن اسم الملف مع المسار 

و عند فتح ملف الإكسل ستجد البيانات قد ظهرت و كل 

في تبويب باسم الجدول

أعتذر مرة أخرى فلم أتمكن من التعديل على قاعدة البيانات لديك.

 

أرسلت التعليق عن طريق الجوال

تم تعديل بواسطه Khalf
رابط هذا التعليق
شارك

4 دقائق مضت, Khalf said:

سيقوم بتصدير كل الجداول التي اخترتها 

إن شاء الله 

كل ما عليك هو تجريبه و بناءعلى ذلك ستحدد مدى ملائمته لك

جربت الكود واشتغل بالتصدير الى اكسل

لكن ليس هذا المطلوب اريد التصدير الى xml

وهذا المرفق الذي اعمل عليه الان

Database1.accdb

تم تعديل بواسطه عبد الله قدور
رابط هذا التعليق
شارك

في ٢٤‏/٥‏/٢٠١٩ at 09:06, عبد الله قدور said:

لم استطع تطبيق الكود الذي ارسلته لي هل يمكن التطبيق على قاعدة البيانات المرفقة

أستاذ قدور المثال المرفق ليس به بيانات ولا توجد علاقات!

على أي حال في المثال المرفق نموذج به ثلاثة مستويات للجداول: الجدول الرئيسي --> الجدول الفرعي --> الجداول المتربطة بالجدول الفرعي..

بمعنى: يمكن استخدام جدول رئيسي واحد فقط، وجدول فرعي واحد فقط، وجداول متعددة مرتبطة بالجدول الفرعي كما في الصورة

A002.PNG.b842809ee76c0a51df75543f17df26c6.PNG

هذا في تصوري مقبول.. كمثال يمكن البدء به..

للأهمية يجب أن يكون بين الجداول المطلوب تصديرها علاقة قائمة وإلا لن تكون البيانات منضبطة النسق..

إليك المثال: ExportToXML.accdb

تم تعديل بواسطه أبو إبراهيم الغامدي
  • Thanks 2
رابط هذا التعليق
شارك

13 ساعات مضت, أبو إبراهيم الغامدي said:

هذا في تصوري مقبول.. كمثال يمكن البدء به..

للأهمية يجب أن يكون بين الجداول المطلوب تصديرها علاقة قائمة وإلا لن تكون البيانات منضبطة النسق..

إليك المثال: 

جزاك الله كل خير

تم التصدير بنجاح

 

تم تعديل بواسطه عبد الله قدور
رابط هذا التعليق
شارك

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