How To Generate A XML File With Access VBA

Free MS Access VBA Programming Course

XML is used to structure your data. You can send a CSV file to another person, but
using XML, you can structure your data in a more elegant format, and get very specific
about your fields, and what data is contained within your tags (your field names).

This is different than a basic CSV file where you don’t have that ability.

You can essentially provide instructions to the receiving tool on how to handle the
information they have received.

Using HTML you have specific tags you can use, so you are limited, but with XML you can customize your tags,
and you can display that data file on a webpage.

In this post you are going to be able to generate an XML file with the data from your database.

For example, I need to transfer my database information to my scanning devices so the field team
can finish their inspections, away from the office. So I’ll generate an XML file which I can email and load
into their scanning device.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub btnXML_Click()
    Dim strSQL As String
    Dim rst As Recordset
   
    strSQL = "SELECT ID, Description, [Income/Expense], Taxable FROM Categories"
   
    Set rst = CurrentDb.OpenRecordset(strSQL)
   
    strpath = CurrentProject.Path & "\CategoryList.xml"
   
    Set fso = CreateObject("Scripting.FileSystemObject")
   
    Dim objFile As Object
    Set objFile = fso.CreateTextFile(strpath, True, True)
   
    objFile.Write "<?xml version='1.0'?>" & vbCrLf
    objFile.Write "<Categories>" & vbCrLf
   
    Do Until rst.EOF
       
        objFile.Write "<ID>" & rst.Fields("ID") & "</ID>" & vbCrLf
        objFile.Write "<Description>" & rst.Fields("Description") & "</Description>" & vbCrLf
        objFile.Write "<IncomeExpense>" & rst.Fields("Income/Expense") & "</IncomeExpense>" & vbCrLf
        objFile.Write "<Taxable>" & rst.Fields("Taxable") & "</Taxable>" & vbCrLf
       
        rst.MoveNext
    Loop
   
    objFile.Write "</Categories>"
   
    rst.Close
    Set rst = Nothing
   
    MsgBox "Complete"
End Sub

Here is the resulting file CategoryList.xml in same path your database is in:



Offsite Related Information:

“Go Fund Me” Page


($5 suggested amount)

(…10% of your gift amount will go to charity)

Free! Subscribe To Our YouTube Channel!

Free MS Access VBA Programming Course

Facebooktwitterredditpinterestlinkedinmailby feather
Tags: , , , , , , , ,