ต้องการทำให้ data ที่เป็น TEXT เป็นตาราง
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 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 
                                             .....            ......            ...... 
                                             .....            .....             ...... 

2 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R01986
วิธีง่ายๆ ที่จะทำได้คือ

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
2 @R02079
ขอบคุณท่านอาจารย์มากค่ะ
save เก็บไว้เรียบร้อยแล้ว กลัวหาย :)
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1261s