XML ואקסס

yael800

New member
XML ואקסס

היי, איך אני יכולה לכתוב קובץ כ XML מתוך אקסס ב VBA? זה קוד לטעינת הנתונים מה XML לתוך הפקדים המתאימים שבטופס. אני צריכה קוד הפוך ליצירת קובץ כזה במידה ואין והזנת הנתונים מהטופס לקובץ עצמו. הקובץ הוא ברמה אחת..כל אלמנט = שם פקד.
Public Sub ImportToXML(sFullPath As String, frm As Form) On Error Resume Next 'XML DOM objects Dim objDomDoc As New DOMDocument Dim sName As String Dim sCtrlName As String Dim value As Variant Dim size As Long Dim index As Long Dim ctrl As Control 'Open DOM object by loading the xml file. objDomDoc.async = False objDomDoc.Load sFullPath size = objDomDoc.documentElement.childNodes.length For index = 0 To size sName = objDomDoc.documentElement.childNodes.Item(index).baseName value = objDomDoc.documentElement.childNodes.Item(index).nodeTypedValue For Each ctrl In frm.Controls sCtrlName = UCase(ctrl.name) If sCtrlName = sName Then ctrl = value End If Next Next index Set objDomDoc = Nothing End Sub
<?xml version="1.0" encoding="UTF-8"?> <ONE_USER> <CONTACT_TYPE_ID>4</CONTACT_TYPE_ID> <JOB_COMMITTEE>1</JOB_COMMITTEE> <PROFESSION_ID>2</PROFESSION_ID> <LOGIN>3</LOGIN> <SITE_ID>4</SITE_ID> <DIVISION>5</DIVISION> <FIRST_NAME>6</FIRST_NAME> <LAST_NAME>7</LAST_NAME> <TITLE>8</TITLE> <ACADEMIC_TITLE>9</ACADEMIC_TITLE> <DEPARTMENT_SITE_ID>10</DEPARTMENT_SITE_ID> <TITLE_ID>11</TITLE_ID> <CERTIFICATION_DATE>12</CERTIFICATION_DATE> <QUALIFICATION>13</QUALIFICATION> <ID_NUMBER>14</ID_NUMBER> <PHONE>15</PHONE> <FAX>16</FAX> <MOBILE>17</MOBILE> <EMAIL>18</EMAIL> </ONE_USER>​
 

roy27787

New member
אופציה די מכוערת תהיה...

להשתמש ב FSO(file system object) על מנת ליצור כביכול קובץ טקסט(בפועל ניתן לקרוא לו גם בשם אחר עם סיומת אחרת) ולמלא את קובץ הטקסט באמצעות write line ..... אבל זו אופציה זה לא נוחה ולא יעילה...בטח יש איזו פונקציה לייצוא נתונים ל XML...
 

yael800

New member
ועוד שאלונת

מה ההבדל בין 2 ההגדרות האלו לטעינת קובץ XML:
================================== Dim objDomDoc As New DOMDocument objDomDoc.async = False objDomDoc.Load sFullPath ================================== Dim xmlDoc Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False xmlDoc.validateOnParse = True success = xmlDoc.Load(sFullPath) ==================================​
 
למעלה