กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
317 2
URL.หัวข้อ /
URL
การนำค่าจากหลาย Field มาไว้เป็น Field เดียวกัน
คืองี้ครับ ผมได้ทำ Query ซึ่งมี Field ดังนี้
Field1 Field2 Field 3 Field 4
ชื่อ ID A B C
ข้อมูล 1 12.56 10.45 14.82
โดย ข้อมูลของ Field 2 , Field 3 , Field 4 เป็นตัวเลข
ต้องการทำ Query เป็น
Field1 Field2 Field3
ชื่อ ID ABC Value Of ABC
1 A 12.56
1 B 10.45
1 C 14.82
จะมีวิธีทำได้อย่างไรบ้าง ผู้รู้ช่วยตอบหน่อยครับ
Field1 Field2 Field 3 Field 4
ชื่อ ID A B C
ข้อมูล 1 12.56 10.45 14.82
โดย ข้อมูลของ Field 2 , Field 3 , Field 4 เป็นตัวเลข
ต้องการทำ Query เป็น
Field1 Field2 Field3
ชื่อ ID ABC Value Of ABC
1 A 12.56
1 B 10.45
1 C 14.82
จะมีวิธีทำได้อย่างไรบ้าง ผู้รู้ช่วยตอบหน่อยครับ
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R00213
คงจะต้องใช้โค้ดเข้าช่วยครับ ลำพัง Query อย่างเดียวผมยังนึกไม่ออกว่าจะทำได้อย่างไร ผมว่าโค้ดน่าจะทำงานได้ไวกว่านะครับ
หน้าตาของโค้ดน่าจะเป็นดังนี้ครับ
Sub fTransPos()
Dim dbs As Database, rst As Recordset, rst2 As Recordset
Dim I As Integer, K As Integer
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Table5")
Set rst2 = dbs.OpenRecordset("Table4")
If Not rst2.EOF Then
For I = 1 To rst2.RecordCount
For K = 1 To rst2.Fields.Count - 1
rst.AddNew
rst("ID") = rst2("ID")
rst("ABC") = rst2.Fields(K).Name
rst("ValueOfABC") = rst2(K)
rst.Update
Next K
rst2.MoveNext
Next I
End If
rst2.Close
rst.Close
dbs.Close
End Sub
โดยจะต้องการสร้างตารางขึ้นมารับข้อมูลที่แปลงออกมาด้วย จากโค้ดข้างต้น เอาเป็นว่าข้อมูลอยู่ในตารางชื่อ Table4 ดังนี้
ID A B C
1 12.56 10.45 14.82
2 14.25 14
3 40 20.15
แล้วสร้างตารางชื่อ Table5 เพื่อรองรับข้อมูลที่แปลงซึ่งจะมีชื่อฟิลด์ดังนี้
ID ABC ValueOfABC
เมื่อ Run โค้ดข้างบน จะได้ผลลัพธ์ดังนี้
ID ABC ValueOfABC
1 A 12.56
1 B 10.45
1 C 14.82
2 A 14.25
2 B 14
2 C
3 A 40
3 B
3 C 20.15
และเช่นเคย ตัวอย่างจริงอยู่ที่ http://agserver.kku.ac.th/basiceng/aaa.zip ครับ
2 @R00214
ขอบคุณ คุณ สุภาพ มากครับที่ช่วยแนะนำให้ ผมจะลองทำดู
ขอบคุณมากครับ
Time: 0.0990s