กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
316 2
URL.หัวข้อ /
URL
ต้องการทำให้ data ที่เป็น TEXT เป็นตาราง
ผมมีข้อมูลที่เป็น TEXT ต้องการให้มันเป็นตารางโดยใช้ Access ต้องทำอย่างไรครับ
ตัวอย่าง
Name: OTTO
Surname:Time
Number:123
Name:ONE
Suename:TWO
Number:234
เปลี่ยนเป็นตารางโดยมีหัวข้อเป็น NAME Surname Number
OTTO Time 123
ONE TWO 234
..... ...... ......
..... ..... ......
ตัวอย่าง
Name: OTTO
Surname:Time
Number:123
Name:ONE
Suename:TWO
Number:234
เปลี่ยนเป็นตารางโดยมีหัวข้อเป็น NAME Surname Number
OTTO Time 123
ONE TWO 234
..... ...... ......
..... ..... ......
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R02079
ขอบคุณท่านอาจารย์มากค่ะ
save เก็บไว้เรียบร้อยแล้ว กลัวหาย :)
save เก็บไว้เรียบร้อยแล้ว กลัวหาย :)
Time: 0.1261s
1. เปิดไฟล์ Text นี้ใน Word แล้วใช้ Find/Replace เพื่อแยกข้อมูลให้แต่ละรายการมาอยู่ในบรรทัดเดียวกัน เป็น
Name: OTTO, Surname:Time, Number:123
Name:ONE, Suename:TWO, Number:234
.
.
.
โดยลองดูโค้ดต่อไปนี้ ซึ่งผมได้สร้าง Macro เพื่อให้แปลงเป็น
OTTO , SurTime , 123
ONE , SurTWO , 234
หลังจากนั้นก็ให้เพิ่มชื่อฟีลด์ไว้ข้างบนสุดด้วยก็ได้ดังนี้
Name, Surname, Number
OTTO , SurTime , 123
ONE , SurTWO , 234
โค้ด Macro มีดังนี้ครับ
Sub Macro2()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^lSurname"
.Replacement.Text = ", Surname"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.CorrectHangulEndings = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "^lNumber"
.Replacement.Text = ", Number"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.CorrectHangulEndings = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "Name:"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.CorrectHangulEndings = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "surname:"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.CorrectHangulEndings = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "number:"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.CorrectHangulEndings = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
ให้สังเกตว่า โค้ดนี้จะทำงานก็ต่อเมื่อ
1. ข้างหลัง Name:, Surname:,Number: ต้องไม่มีช่องว่าง
ถ้ามีก็ให้เพิ่มช่องว่างลงไปด้วย เช่น
จาก .Text = "Name:"
ให้เป็น .Text = "Name: "
และต้องใส่เปลี่ยนส่วนอื่นด้วย
หรือจะให้ง่าย ก็ให้ใช้ Replace
: ที่มีช่องว่างต่อท้าย
ด้วย
: ที่ไม่มีช่องว่างต่อท้าย
ครับ
*** Edited by Supap Chaiya *** 27/3/2546 23:33:09