2013-09-24 112 views
5

Tôi cần phải tạo một tệp XML từ Access. Nó phải có định dạng kiểu nút quan hệ.xuất tệp XML lồng nhau khỏi quyền truy cập. cần tệp XML với các nút

Ví dụ:

<Item> 
    <description></description> 
    <colors> 
     <blue> 
     <green> 
    </colors> 
</item> 

Các dữ liệu cho các mục là trong một bảng. Các màu khác. Tôi có ID tham chiếu để tôi có thể tham gia.

Làm cách nào/điều này có thể được thực hiện. Tôi đã xem xét tất cả và xem làm thế nào để xuất khẩu một bảng, nhưng không phải là loại lồng nhau của tập tin.

Trả lời

1

Dưới đây là mẫu của những gì tôi sử dụng để truy vấn dữ liệu và sau đó xuất kết quả sang tệp phẳng. Tôi đã thích nghi nó một chút với những gì bạn có thể cần.

On Error GoTo Err_My_Click 
Dim rs As DAO.Recordset 
Set rs = CurrentDb.OpenRecordset("SELECT * FROM MyTable", dbOpenDynaset) 

If (rs.RecordCount <> 0) Then 
    rs.MoveFirst 

    Open "C:\Export\XML__MyFile.xml" For Output As #1 

    Do While rs.EOF = False 
    TempExportCount = TempExportCount + 1 

    Print #1, "<Item>" 
    Print #1, " <description>" & rs.Fields("[Description]").value & "</description>" 
    Print #1, "</Item>" 

    rs.MoveNext 
    Loop 
End If 

Exit_My_Click: 
    On Error Resume Next 
    rs.Close 
    Set rs = Nothing 
    Close 1# 
    Exit Sub 
Err_My_Click: 
    If (Err.Number = 76) Then 
    MsgBox ("The program could not save the txt file." & vbNewLine & vbNewLine & _ 
      "Make sure you have the following folder created: C:\Export\") 
    Else 
    MsgBox (Err.Description) 
    End If 
    Resume Exit_My_Click 
1

Tạo truy vấn SELECT sử dụng ID tham chiếu để tham gia bảng mục của bạn với bảng màu.

Khi bạn có truy vấn tập hợp thông tin chính xác, hãy xuất dữ liệu của nó sang XML từ giao diện người dùng Access.

Export query to XML

Nếu cung cấp cho bạn XML mà bạn muốn, bạn có thể tự động hóa các hoạt động xuất khẩu từ VBA sử dụng Application.ExportXML Method. Lưu ý rằng phương thức cung cấp một loạt các tùy chọn để tinh chỉnh XML. Nhưng việc xuất khẩu có thể đơn giản như thế này ...

Application.ExportXML acExportQuery, "YourQuery", _ 
    "C:\SomeFolder\YourQuery.xml" 
+0

[code] Kiểm tra mục xanh Kiểm tra mục Xanh Kiểm tra mục xanh [/ code] – macecase

1

Tôi sử dụng đính kèm để tạo ra 3 triệu dòng xml lồng nhau trong khoảng năm phút.

Có hai hạng mục quan trọng,

1) một mảnh đơn giản của VB,

Public Function Export_ListingData() 

    Dim objOtherTbls As AdditionalData 

    On Error GoTo ErrorHandle 
    Set objOtherTbls = Application.CreateAdditionalData 
    objOtherTbls.Add "ro_address" 
    objOtherTbls.Add "ro_buildingDetails" 
    objOtherTbls.Add "ro_businessDetails" 
    objOtherTbls.Add "ro_businessExtras" 
    objOtherTbls.Add "ro_businessExtrasAccounts" 
    objOtherTbls.Add "ro_businessExtrasAccom" 
    objOtherTbls.Add "ro_businessExtrasAccom2" 

    Application.ExportXML ObjectType:=acExportTable, _ 
       DataSource:="ro_business", _ 
       DataTarget:="C:\Users\Steve\Documents\Conversions\ListData.xml", _ 
       AdditionalData:=objOtherTbls 
Exit_Here: 
     MsgBox "Export_ListingData completed" 
     Exit Function 
ErrorHandle: 
     MsgBox Err.Number & ": " & Err.Description 
     Resume Exit_Here 
End Function 

2) Liên kết các bảng trong quản lý mối quan hệ sử dụng tham gia từ tiểu học đến phím NƯỚC NGOÀI.

Nếu không có mối quan hệ, mã sẽ tạo tệp xml tuần tự, nếu có mối quan hệ giữa các khóa chính, bạn sẽ gặp lỗi 31532 và xuất dữ liệu sẽ không thành công.

+0

Xin đừng gửi câu trả lời giống nhau đúng nguyên văn nhiều câu hỏi. Nếu các câu hỏi thực sự giống nhau, hãy gắn cờ để đặt chúng là trùng lặp. –