กระทู้เก่าบอร์ด อ.Yeadram
1,493 0
URL.หัวข้อ /
URL
Import XML To Access
เรียนถาม อาจารย์ทั้งสองท่านครับ ผมไป ค้นหาข้อมูลใน เว็บ ได้ code การนำเข้าข้อมูล XML file มาดังนี้ครับ
----------------------------------------------------------------------------------------
If Dir("C:\EDITPID\NotPast\PERSON.xml") = "" Then
MsgBox "Cannot find file..."
Else
Application.ImportXML "C:\EDITPID\NotPast\PERSON.xml", acAppendData
End If
---------------------------------------------------------------------------------------
ก็สามารถนำเข้าได้ทุกอย่างครับ เป็นแบบ Append Data ในตารางเดิม
ได้ตาราง M_PERSON (โปรแกรมจัดทำตารางให้เองครับ)
ถ้าผมต้องการนำเข้าตารางใหม่ ตามตารางที่เราได้สร้างไว้แล้วพร้อมชื่อตารางที่เราต้องการ (PERSON) เราต้องมีวิธีการเขียน Code อย่างไรครับ
ตอนนี้ผมแก้ปัญหา โดยการ Append จากตาราง M_PERSON เข้าไปในตาราง PERSON อีกครั้งหนึ่ง ถ้าตารางเดียวก้พอไหวครับ แต่ผมมีข้อมูลย้อนกลับ ที่เป็น XML ที่ต้องนำเข้า 18 ตาราง และข้อมูลแต่ละตารางก็มากพอสมควรครับ
โครงสร้างตารางที่เราสร้างไว้ครับ ทุก Field เป็น Text
--------------------------------------------------------------------------------------
PCUCODE PID HN CID NAME LNAME SEX BIRTH MSTATUS OCCUPA NATION TYPEAREA CODE_ID
11272 567565 000078947 000000078947 XXXX YYYY 2 19910101 2 001 096 1 PE1102
---------------------------------------------------------------------------------------
ข้อมูล XML ที่นำเข้ามาครับ
version="1.0" standalone="yes" ?>
-
-
11272
567565
000078947
000000078947
XXXX
YYYY
2
19910101
2
001
096
1
PE1102
--------------------------------------------------------------------------------
ผมลองเปลียน Tag ตรง และ เป็น และ ข้อมูลในตาราง Access ก็เปลียนเป็น PERSON ด้วยครับ แต่มันไม่สะดวกเท่าไหร่ ที่ต้องเปิด XML แล้วแก้ใขชื่อตารางน่ะครับ ผมจะต้องทำอย่างไรบ้างครับที่ต้องเขียน Code ใน Access นำเข้าตาราง XML และตั้งชื่อตารางตามที่ผมต้องการได้ ในครั้งเดียว (ตอนนี้ผมก้ใช้ Code ด้านบน นำเข้า แล้ว Append Qry อีก 18 Qry Delete Qry (ลบข้อมูลเก่าออกก่อน อีก 18 Qry) ตอนนี้ Qry มีเยอะจนจะจำไม่ได้แล้วครับ....
----------------------------------------------------------------------------------------
If Dir("C:\EDITPID\NotPast\PERSON.xml") = "" Then
MsgBox "Cannot find file..."
Else
Application.ImportXML "C:\EDITPID\NotPast\PERSON.xml", acAppendData
End If
---------------------------------------------------------------------------------------
ก็สามารถนำเข้าได้ทุกอย่างครับ เป็นแบบ Append Data ในตารางเดิม
ได้ตาราง M_PERSON (โปรแกรมจัดทำตารางให้เองครับ)
ถ้าผมต้องการนำเข้าตารางใหม่ ตามตารางที่เราได้สร้างไว้แล้วพร้อมชื่อตารางที่เราต้องการ (PERSON) เราต้องมีวิธีการเขียน Code อย่างไรครับ
ตอนนี้ผมแก้ปัญหา โดยการ Append จากตาราง M_PERSON เข้าไปในตาราง PERSON อีกครั้งหนึ่ง ถ้าตารางเดียวก้พอไหวครับ แต่ผมมีข้อมูลย้อนกลับ ที่เป็น XML ที่ต้องนำเข้า 18 ตาราง และข้อมูลแต่ละตารางก็มากพอสมควรครับ
โครงสร้างตารางที่เราสร้างไว้ครับ ทุก Field เป็น Text
--------------------------------------------------------------------------------------
PCUCODE PID HN CID NAME LNAME SEX BIRTH MSTATUS OCCUPA NATION TYPEAREA CODE_ID
11272 567565 000078947 000000078947 XXXX YYYY 2 19910101 2 001 096 1 PE1102
---------------------------------------------------------------------------------------
ข้อมูล XML ที่นำเข้ามาครับ
version="1.0" standalone="yes" ?>
-
-
--------------------------------------------------------------------------------
ผมลองเปลียน Tag ตรง
Time: 0.1229s