กระทู้เก่าบอร์ด อ.Yeadram
1,569 5
URL.หัวข้อ /
URL
แยกข้อมูลจากเครื่องอ่านบาร์โค้ด
ข้อมูลจากเครื่องอ่านบาร์โค้ด เป็น textfile
มีข้อมูลแบบนี้ abc;123;a12;a15
จะแยกข้อมูลที่ถูกคั่นด้วย ; ออกมาเก็บคนละ field กันได้อย่างไรครับ
ขอบคุณล่วงหน้าครับ
มีข้อมูลแบบนี้ abc;123;a12;a15
จะแยกข้อมูลที่ถูกคั่นด้วย ; ออกมาเก็บคนละ field กันได้อย่างไรครับ
ขอบคุณล่วงหน้าครับ
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R00816
เอ่อ.. มันไม่ใช่ง่ายๆ แบบนั้นนะซิครับ เพราะความยาวของข้อมูลไม่ได้ fix ตำแหน่งตายตัว บางrecord จะมีความสั้นยาวไม่เท่ากันครับ รบกวนอีกครั้งครับ
3 @R00817
ฟังก์ชั่นแยกกลุ่มอักขระเข้าอาเรย์ split()
sq = "abc;123;a12;a15"
dim arr
arr = split(sq,";")
------------------------------------------------
คำตอบที่ได้จะอยู่ในรูปอาเรย์
คำตอบที่ 1 คือ arr(0) หรือ "abc"
คำตอบที่ 2 คือ arr(1) หรือ "123"
คำตอบที่ N คือ arr(N-1)
-------------------------------------------------
หากต้องการทราบจำนวนทั้งหมดที่แยกมาได้ใช้ฟังก์ชั่น ubound() เข้าช่วย เช่น
j = ubound(arr)
-------------------------------------------------
อักขระตัวคั่นที่เราจะระบุให้ฟังก์ชั่น สามารถระบุได้มากกว่า 1อักขระ เช่น
sq = "07 - ยอดรัก สลักใจ - อุ้มลูกตามเมีย.mp3"
arr= split(sq, " - ")
คำตอบที่ได้คือ
arr(0) = "07"
arr(1) = "ยอดรัก สลักใจ"
arr(2) = "อุ้มลูกตามเมีย.mp3"
. .. .
ค่าอาร์กิวร์เมนต์ต่างๆ ที่ฟังก์ชั่นต้องการ โปรดศึกษาเพิ่มเติมจาก help
sq = "abc;123;a12;a15"
dim arr
arr = split(sq,";")
------------------------------------------------
คำตอบที่ได้จะอยู่ในรูปอาเรย์
คำตอบที่ 1 คือ arr(0) หรือ "abc"
คำตอบที่ 2 คือ arr(1) หรือ "123"
คำตอบที่ N คือ arr(N-1)
-------------------------------------------------
หากต้องการทราบจำนวนทั้งหมดที่แยกมาได้ใช้ฟังก์ชั่น ubound() เข้าช่วย เช่น
j = ubound(arr)
-------------------------------------------------
อักขระตัวคั่นที่เราจะระบุให้ฟังก์ชั่น สามารถระบุได้มากกว่า 1อักขระ เช่น
sq = "07 - ยอดรัก สลักใจ - อุ้มลูกตามเมีย.mp3"
arr= split(sq, " - ")
คำตอบที่ได้คือ
arr(0) = "07"
arr(1) = "ยอดรัก สลักใจ"
arr(2) = "อุ้มลูกตามเมีย.mp3"
. .. .
ค่าอาร์กิวร์เมนต์ต่างๆ ที่ฟังก์ชั่นต้องการ โปรดศึกษาเพิ่มเติมจาก help
4 @R00818
ถ้าเป็นเท็กซ์ไฟล์อยู่แล้ว คุณสามารถ import เท็กซ์ไฟล์เข้าเทเบิลได้โดยตรงด้วยเมนู File > Get External Data > Import > เลือกไฟล์.txt > คลิกปุ่ม Next จนเจอว่ามีให้เลือก In an Existing Table แล้วเลือกเทเบิลที่ต้องการรับข้อมูลเข้า > คลิกปุ่ม Next > คลิกปุ่ม Advanced ... > เลือก Delimited option > เลือก Field Delimited combobox เป็นเครื่องหมาย semicolon > เลือก option อื่นๆที่ต้องการ > ตรวจลำดับชื่อฟิลด์ในเทเบิล > ถ้าต้องการ สามารถบันทึกสิ่งที่ได้เลือกไว้เพื่อใช้คราวหลังโดยกดปุ่ม Save As ... เพื่อเก็บเป็น Import Specification > คลิกปุ่ม OK > คลิกปุ่ม Finish
5 @R00820
ขอบคุณ ทุกท่านมากครับ เบื้องต้นลองทำตามวิธีของคุณสันติสุข ได้แล้วครับ แต่ถ้าจะเขียนเป็นโปรแกรมให้ User ใช้งานโดยคลิกปุ่มเดียว คงต้องใช้วิธีของคุณ yeadram ยังไงก็ขอบคุณมากครับ ช่วยแก้ไขปัญหาให้..
Time: 0.2976s
fld2 = mid(txt1,5,3)
fld3 = mid(txt1,9,3)
fld4 = right(txt1,3)