กระทู้เก่าบอร์ด อ.Yeadram
4,182 22
URL.หัวข้อ /
URL
นำข้อมูลแถว ให้ไปอยู่ในคอลัม
มีตารางอยู่ 3 ตารางครับ ตารางที่ 1 เป็นตารางที่จะรวมข้อมูลในตารางที่ 2 และ 3 ซึ่งเก็บเป็นแถวมาเป็นคอลัม ในตารางที่ 1
ตาราง 1
ID R1 R2 R3 Q1 Q2 Q3
1 X1 X2 Y1
2 X4 Y1 Y2
3 X1
ตารางที่ 2 ตารางที่ 3
ID A ID B
1 X1 1 Y1
1 X2 2 Y1
2 X4 2 Y2
3 X1
คือตารางที่ 1 ID จะไม่ซ้ำกันครับ
ผมทำผมทำตารางที่ 2 ไปอยู่ตารางที่ 1 ได้แล้ว แต่ตารางที่ 3 ID มันไม่ตรงครับ ขอความช่วยเหลือจากอาจารทุกท่านด้วยครับ
ตาราง 1
ID R1 R2 R3 Q1 Q2 Q3
1 X1 X2 Y1
2 X4 Y1 Y2
3 X1
ตารางที่ 2 ตารางที่ 3
ID A ID B
1 X1 1 Y1
1 X2 2 Y1
2 X4 2 Y2
3 X1
คือตารางที่ 1 ID จะไม่ซ้ำกันครับ
ผมทำผมทำตารางที่ 2 ไปอยู่ตารางที่ 1 ได้แล้ว แต่ตารางที่ 3 ID มันไม่ตรงครับ ขอความช่วยเหลือจากอาจารทุกท่านด้วยครับ
22 Reply in this Topic. Dispaly 2 pages and you are on page number 1
1 @R05936
มึน
2 @R05938
ไม่มีอาจารย์ ท่านไหนว่างเลย
3 @R05939
ถ้านำข้อมูลจาก table2 ไป table1 ได้ แล้วทำไมจาก table3 ไป table1
ทำไม่ได้ล่ะครับ ติดตรงไหน ช่วยบอกด้วย
ทำไม่ได้ล่ะครับ ติดตรงไหน ช่วยบอกด้วย
4 @R05940
ditasilk ครับ จากตารางที่ 1 นะครับ จะเห็นว่า Y2 มันต้องอยู่ตรง ID2
แต่พอทำแล้ว ไปอยู่ตรง ID1 มันไม่ไปอยู่ตรง ID2 ครับ
ส่วนวิธีการผมก็กอปมาแล้วเอามาปรับแต่งเอาครับ ไม่ได้เข้าใจว่าวิธีทำมันเป็นยังงัย ถ้าผมมีตัวอย่างคงจะลองผิดลองถูกได้ แต่ผมลองมา 2 วันละครับ เผื่อให้ช่วยได้ครับ
แต่พอทำแล้ว ไปอยู่ตรง ID1 มันไม่ไปอยู่ตรง ID2 ครับ
ส่วนวิธีการผมก็กอปมาแล้วเอามาปรับแต่งเอาครับ ไม่ได้เข้าใจว่าวิธีทำมันเป็นยังงัย ถ้าผมมีตัวอย่างคงจะลองผิดลองถูกได้ แต่ผมลองมา 2 วันละครับ เผื่อให้ช่วยได้ครับ
5 @R05941
วิธีการ
1 ต้องการนำข้อมูลจากตาราง3 ไป ตาราง1 ทั้งหมด
เขียน SQL STATEMENT เพื่อเลือกข้อมูลทั้งหมด
DIM strSQL AS String
strSQL ="Select * From ตาราง3 " & _
"Order By ตาราง3.ID"
2 สร้าง recordset
DIM RS AS DAO.RECORDSET
Set RS =CurrentDB.OpenRecordSet(strSQL)
3 ตรวจเช็คข้อมูล และวนลูป
IF RS.RECORDCOUNT>0 THEN
DO WHILE NOT RS.EOF()
Call SaveDataTable1(RS)
RS.MOVENEXT
LOOP
END IF
RS.CLOSE
SET RS=NOTHING
วิธีการ
1 ต้องการนำข้อมูลจากตาราง3 ไป ตาราง1 ทั้งหมด
เขียน SQL STATEMENT เพื่อเลือกข้อมูลทั้งหมด
DIM strSQL AS String
strSQL ="Select * From ตาราง3 " & _
"Order By ตาราง3.ID"
2 สร้าง recordset
DIM RS AS DAO.RECORDSET
Set RS =CurrentDB.OpenRecordSet(strSQL)
3 ตรวจเช็คข้อมูล และวนลูป
IF RS.RECORDCOUNT>0 THEN
DO WHILE NOT RS.EOF()
Call SaveDataTable1(RS)
RS.MOVENEXT
LOOP
END IF
RS.CLOSE
SET RS=NOTHING
6 @R05943
Sub SaveDataTable1(iRec as DAO.Recordset)
Dim tRec as Dao.RecordSet
Dim strSql as string
strSQL="Select * From ตาราง1 " & _
"Where ตาราง1.ID = " & iRec("ID") & " " & _
"Order By ตาราง1.ID "
Set tRec=CurrentDB.OpenRecordSet(strSQL)
IF tRec.RecordCount>0 then
tRec.Edit
'else
tRec.AddNew
tRec("ID")=iRec("ID")
end if
' เงื่อนไขที่คุณต้องการบันทึก
R1 --> X1,X4
R2 --> X2
R3
Q1-->Y1
Q2-->Y2
Q3
SELECT CASE iRec("B")
case ..
case ..
End select
tRec.Update
tRec.Close
set trec=nothing
End Sub
ลองเขียนเพิ่มเติมดูนะครับ สงสัยอะไร ก็ post ถาม อ.ท่านอื่นรอช่วยอยู่แล้ว
Sub SaveDataTable1(iRec as DAO.Recordset)
Dim tRec as Dao.RecordSet
Dim strSql as string
strSQL="Select * From ตาราง1 " & _
"Where ตาราง1.ID = " & iRec("ID") & " " & _
"Order By ตาราง1.ID "
Set tRec=CurrentDB.OpenRecordSet(strSQL)
IF tRec.RecordCount>0 then
tRec.Edit
'else
tRec.AddNew
tRec("ID")=iRec("ID")
end if
' เงื่อนไขที่คุณต้องการบันทึก
R1 --> X1,X4
R2 --> X2
R3
Q1-->Y1
Q2-->Y2
Q3
SELECT CASE iRec("B")
case ..
case ..
End select
tRec.Update
tRec.Close
set trec=nothing
End Sub
ลองเขียนเพิ่มเติมดูนะครับ สงสัยอะไร ก็ post ถาม อ.ท่านอื่นรอช่วยอยู่แล้ว
7 @R05944
ขอบคุณครับ ขอเวลาลองทำดูก่อนครับ
8 @R05947
ขอโทษครับ ตรง SELECT CASE
เงื่อนไขคือ Y2 ต้อง ไปลงให้ ID2 ตรงกัน ผมไม่เข้าใจตรงกำหนด CASE ให้ Y1ไปอยู่คอรัม Q1 และ Y2ไปอยู่คอรัม Q2 โดย ID ต้องตรงกัน
เงื่อนไขคือ Y2 ต้อง ไปลงให้ ID2 ตรงกัน ผมไม่เข้าใจตรงกำหนด CASE ให้ Y1ไปอยู่คอรัม Q1 และ Y2ไปอยู่คอรัม Q2 โดย ID ต้องตรงกัน
9 @R05948
ที่ Sub SaveDataTable1(iRec as DAO.Recordset)
จะส่ง recordset เข้ามาที่ sub SaveDataTable1 ชื่อ iRec ซึ่งเป็นข้อมูลจากตาราง 3
ที่ strSQL จะเลือกข้อมูลจาก ตาราง 1 โดยมีเงื่อนไขว่า ID ต้องตรงกัน
strSQL="Select * From ตาราง1 " & _
"Where ตาราง1.ID = " & [Red]iRec("ID")[/Color] & " " & _
"Order By ตาราง1.ID "
ความหมายก็คือ ถ้าตาราง3.ID ตรงกับ ตาราง1.ID จะให้เอา Field B
ไปใส่ในช่องไหน ตามที่คุณต้องการ(เงื่อนไข) ซึ่งมีคุณคนเดียวเท่านั้นที่รู้เงื่อนไขของตัวเอง โดยใส่ตรง select case
ที่ Sub SaveDataTable1(iRec as DAO.Recordset)
จะส่ง recordset เข้ามาที่ sub SaveDataTable1 ชื่อ iRec ซึ่งเป็นข้อมูลจากตาราง 3
ที่ strSQL จะเลือกข้อมูลจาก ตาราง 1 โดยมีเงื่อนไขว่า ID ต้องตรงกัน
strSQL="Select * From ตาราง1 " & _
"Where ตาราง1.ID = " & [Red]iRec("ID")[/Color] & " " & _
"Order By ตาราง1.ID "
ความหมายก็คือ ถ้าตาราง3.ID ตรงกับ ตาราง1.ID จะให้เอา Field B
ไปใส่ในช่องไหน ตามที่คุณต้องการ(เงื่อนไข) ซึ่งมีคุณคนเดียวเท่านั้นที่รู้เงื่อนไขของตัวเอง โดยใส่ตรง select case
10 @R05949
ก็วิธีเปลี่ยนให้เป็น ภาษานี่หล่ะที่ไม่รู้ เศร้า
11 @R05950
SELECT CASE iRec("B")
case "Y1"
tRec("Q1")=iRec("B")
case "Y2"
tRec("Q2")=iRec("B")
End Select
ถ้าตามที่คุณสมมุติ เขียนได้ตามนี้
ขอให้คุณ UN ทดลองดูว่า เป็นไปตามที่ตัวเองต้องการรึเปล่า
โดยสร้างปุ่ม Command1 แล้วสร้างเหตุการณ์
command1_afterUpdate เอาcode ไปไว้ที่เหตุการณ์นี้แล้วลองกดเล่นดูครับ แล้วจะเข้าใจมากขึ้นครับ
SELECT CASE iRec("B")
case "Y1"
tRec("Q1")=iRec("B")
case "Y2"
tRec("Q2")=iRec("B")
End Select
ถ้าตามที่คุณสมมุติ เขียนได้ตามนี้
ขอให้คุณ UN ทดลองดูว่า เป็นไปตามที่ตัวเองต้องการรึเปล่า
โดยสร้างปุ่ม Command1 แล้วสร้างเหตุการณ์
command1_afterUpdate เอาcode ไปไว้ที่เหตุการณ์นี้แล้วลองกดเล่นดูครับ แล้วจะเข้าใจมากขึ้นครับ
12 @R05951
มันไม่น่าจะใช้อะครับ SELECT CASE แบบนี้ เพราะ Y1 มันเป็นข้อมูล
มีเป็นหมื่น มันจะ SELECT CASE ไปจนถึง Y10000 คงไม่ใช่ ผมเอาข้อมูลจากตาราง 2 เข้าได้แบบไม่เข้าใจ ทำตางราง 3 เข้าโดยใช้แบบเดิมแปลงเอา
ผมมันออกมามันขึ้น Record ใหม่เลยครับ ID เลยซ้ำกัน
ลองดูตัวอย่างมั้ยครับ ผมจะส่งไปให้ดู
มีเป็นหมื่น มันจะ SELECT CASE ไปจนถึง Y10000 คงไม่ใช่ ผมเอาข้อมูลจากตาราง 2 เข้าได้แบบไม่เข้าใจ ทำตางราง 3 เข้าโดยใช้แบบเดิมแปลงเอา
ผมมันออกมามันขึ้น Record ใหม่เลยครับ ID เลยซ้ำกัน
ลองดูตัวอย่างมั้ยครับ ผมจะส่งไปให้ดู
13 @R05952
ส่งข้อมูลไปที่ accboard@gmail.com ท่านอื่นจะได้ช่วยดูด้วยครับ
14 @R05955
Private Sub Command_Click()
On Error GoTo E:
Dim ib As Byte, i As Byte, filename, wrkDefault As Workspace
Dim dbsNew As Database, dbs As Database, rstQ, rstC, rstt As Recordset, vNo As Long
Me.Visible = False
DoCmd.SetWarnings False
i = 1
vNo = 0
DoCmd.SetWarnings True
Set dbs = CurrentDb
Set rstQ = dbs.OpenRecordset("ตาราง2", dbOpenSnapshot)
Set rstt = dbs.OpenRecordset("ตาราง1", dbOpenDynaset)
Do Until rstQ.EOF
If vNo = 0 Then
rstt.addNew
rstt!ID = rstQ!ID
rstt!R1 = rstQ!A
rstt.update
i = i + 1
vNo = rstQ!ID
ElseIf rstQ!ID = vNo Then
If i = 2 Then
rstt.MoveLast
rstt.Edit
rstt!R2 = rstQ!A
rstt.update
i = i + 1
vNo = rstQ!vn
ElseIf i = 3 Then
rstt.MoveLast
rstt.Edit
rstt!R3 = rstQ!A
rstt.update
i = i + 1
vNo = rstQ!ID
End If
ElseIf rstQ!ID <> vNo Then
rstt.addNew
rstt!ID = rstQ!ID
rstt!R1 = rstQ!A
rstt.update
i = 2
vNo = rstQ!ID
End If
rstQ.MoveNext
Loop
' -----------นำตาราง2เข้าแล้ว จะนำตาราง3เข้า-----------------
Set dbs = CurrentDb
Set rstC = dbs.OpenRecordset("ตาราง3", dbOpenSnapshot)
Set rstt = dbs.OpenRecordset("ตาราง1", dbOpenDynaset)
Do Until rstC.EOF
If vNo = 0 Then
rstt.addNew
rstt!ID = rstC!ID
rstt!Q1 = rstC!B
rstt.update
i = i + 1
vNo = rstC!ID
ElseIf rstC!ID = vNo Then
If i = 2 Then
rstt.MoveLast
rstt.Edit
rstt!Q2 = rstC!B
rstt.update
i = i + 1
vNo = rstC!ID
ElseIf i = 3 Then
rstt.MoveLast
rstt.Edit
rstt!Q3 = rstC!B
rstt.update
i = i + 1
vNo = rstC!ID
End If
ElseIf rstC!ID <> vNo Then
rstt.addNew
rstt!ID = rstC!ID
rstt!Q1 = rstC!B
rstt.update
i = 2
vNo = rstC!ID
End If
rstC.MoveNext
Loop
DoCmd.SetWarnings False
MsgBox "Success", vbOKOnly, "Un"
'DoCmd.RunSQL "Delete * from ตาราง1"
'DoCmd.RunSQL "Delete * from ตาราง2"
Exit Sub
E:
MsgBox Err.Description, vbCritical, "Information"
DoCmd.SetWarnings True
End Sub
On Error GoTo E:
Dim ib As Byte, i As Byte, filename, wrkDefault As Workspace
Dim dbsNew As Database, dbs As Database, rstQ, rstC, rstt As Recordset, vNo As Long
Me.Visible = False
DoCmd.SetWarnings False
i = 1
vNo = 0
DoCmd.SetWarnings True
Set dbs = CurrentDb
Set rstQ = dbs.OpenRecordset("ตาราง2", dbOpenSnapshot)
Set rstt = dbs.OpenRecordset("ตาราง1", dbOpenDynaset)
Do Until rstQ.EOF
If vNo = 0 Then
rstt.addNew
rstt!ID = rstQ!ID
rstt!R1 = rstQ!A
rstt.update
i = i + 1
vNo = rstQ!ID
ElseIf rstQ!ID = vNo Then
If i = 2 Then
rstt.MoveLast
rstt.Edit
rstt!R2 = rstQ!A
rstt.update
i = i + 1
vNo = rstQ!vn
ElseIf i = 3 Then
rstt.MoveLast
rstt.Edit
rstt!R3 = rstQ!A
rstt.update
i = i + 1
vNo = rstQ!ID
End If
ElseIf rstQ!ID <> vNo Then
rstt.addNew
rstt!ID = rstQ!ID
rstt!R1 = rstQ!A
rstt.update
i = 2
vNo = rstQ!ID
End If
rstQ.MoveNext
Loop
' -----------นำตาราง2เข้าแล้ว จะนำตาราง3เข้า-----------------
Set dbs = CurrentDb
Set rstC = dbs.OpenRecordset("ตาราง3", dbOpenSnapshot)
Set rstt = dbs.OpenRecordset("ตาราง1", dbOpenDynaset)
Do Until rstC.EOF
If vNo = 0 Then
rstt.addNew
rstt!ID = rstC!ID
rstt!Q1 = rstC!B
rstt.update
i = i + 1
vNo = rstC!ID
ElseIf rstC!ID = vNo Then
If i = 2 Then
rstt.MoveLast
rstt.Edit
rstt!Q2 = rstC!B
rstt.update
i = i + 1
vNo = rstC!ID
ElseIf i = 3 Then
rstt.MoveLast
rstt.Edit
rstt!Q3 = rstC!B
rstt.update
i = i + 1
vNo = rstC!ID
End If
ElseIf rstC!ID <> vNo Then
rstt.addNew
rstt!ID = rstC!ID
rstt!Q1 = rstC!B
rstt.update
i = 2
vNo = rstC!ID
End If
rstC.MoveNext
Loop
DoCmd.SetWarnings False
MsgBox "Success", vbOKOnly, "Un"
'DoCmd.RunSQL "Delete * from ตาราง1"
'DoCmd.RunSQL "Delete * from ตาราง2"
Exit Sub
E:
MsgBox Err.Description, vbCritical, "Information"
DoCmd.SetWarnings True
End Sub
15 @R05956
ผมลองก๊อปตัวอย่างที่ทำตรับจะได้เห็นชัดๆ
ผมทำจากความไม่เข้าใจลองผิดลองถูก
ในขั้นตอนแรกตาราง 2 เข้าไปอยู่ตาราง 1 ได้ตามที่ต้องการครับ
แต่ขั้นตอน 2 ตาราง 3 ไม่เข้าไปอยู่ในตาราง 1 ตามตัวอย่างบนสุด
ในขั้นที่ 2 ที่ลองทำก็คือก๊อป ขั้นตอนแรกมา ปรับๆ เปลี่ยนๆ หลายแบบ
Err บ้าง ไม่รันบ้าง แล้วก็ออกมาผิดๆ บ้าง ไม่รู้ว่าตรงไหนต้องแก้ยังงัยครับ
ผมทำจากความไม่เข้าใจลองผิดลองถูก
ในขั้นตอนแรกตาราง 2 เข้าไปอยู่ตาราง 1 ได้ตามที่ต้องการครับ
แต่ขั้นตอน 2 ตาราง 3 ไม่เข้าไปอยู่ในตาราง 1 ตามตัวอย่างบนสุด
ในขั้นที่ 2 ที่ลองทำก็คือก๊อป ขั้นตอนแรกมา ปรับๆ เปลี่ยนๆ หลายแบบ
Err บ้าง ไม่รันบ้าง แล้วก็ออกมาผิดๆ บ้าง ไม่รู้ว่าตรงไหนต้องแก้ยังงัยครับ
16 @R05957
1 ผมเห็น code แล้วครับ
2 ผมรู้ว่าคุณ un ยังไม่เข้าใจความหมายของคำสั่งที่เขียน
ผมดูแล้ว มึนเลย
3 ขอถาม ทำไมต้องมี ตัวนับ i
4 ทำไมเปิด rstQ = dbs.OpenRecordset("ตาราง2", dbOpenSnapshot)
ตรงตาราง2 ไปดูที่ผมเปิด sql statement แบบมีเงื่อนไข ตรวจสอบว่า
มี ID หรือไม่
ถ้ามีอยู่จะใช้ rstQ.Edit เวลาคุณใส่ข้อมูลเข้าไปมันจะไปบันทึก ณ.บันทึกที่ ID นั้น เช่น ID=2 คุณ UN ก็ดูแถวของ 2 ในตาราง1
ข้อมูลก็จะใส่เข้าในแถวนั้นไงครับ
ถ้าไม่มีข้อมูล ใช้ rstQ.Add มันตรวจไม่พบ ID ที่ซ้ำกัน ก็เพิ่มข้อมูลเข้าไปแถวใหม่
5 ผมไม่เห็นความสัมพันธ์ของข้อมูล ในตาราง2 และ 3 ที่จะนำไปบันทึกในตาราง1 ว่าสัมพันธ์กันอย่างไร หรือมีข้อแม้ เงื่อนไขที่ต้องเกลา ออกมาเป็นบทสรุปก่อน คงเป็นการบ้าน
6 จากไฟล์ที่ส่งมา เป็น วันที่ และ vn และ diagnosis (ไม่ทราบว่าเป็น
code : ICD9 หรือ ICD10 ขอถาม ว่าต้องการทำตารางที่1 เพื่อนำไปทำอะไรหรือครับ เผื่อไม่ต้องทำ อาจใช้ queryช่วยก็ได้ครับ
พอดีผมติดธุระ พรุ่งนี้จะเข้ามาดูอีกทีนะครับ
2 ผมรู้ว่าคุณ un ยังไม่เข้าใจความหมายของคำสั่งที่เขียน
ผมดูแล้ว มึนเลย
3 ขอถาม ทำไมต้องมี ตัวนับ i
4 ทำไมเปิด rstQ = dbs.OpenRecordset("ตาราง2", dbOpenSnapshot)
ตรงตาราง2 ไปดูที่ผมเปิด sql statement แบบมีเงื่อนไข ตรวจสอบว่า
มี ID หรือไม่
ถ้ามีอยู่จะใช้ rstQ.Edit เวลาคุณใส่ข้อมูลเข้าไปมันจะไปบันทึก ณ.บันทึกที่ ID นั้น เช่น ID=2 คุณ UN ก็ดูแถวของ 2 ในตาราง1
ข้อมูลก็จะใส่เข้าในแถวนั้นไงครับ
ถ้าไม่มีข้อมูล ใช้ rstQ.Add มันตรวจไม่พบ ID ที่ซ้ำกัน ก็เพิ่มข้อมูลเข้าไปแถวใหม่
5 ผมไม่เห็นความสัมพันธ์ของข้อมูล ในตาราง2 และ 3 ที่จะนำไปบันทึกในตาราง1 ว่าสัมพันธ์กันอย่างไร หรือมีข้อแม้ เงื่อนไขที่ต้องเกลา ออกมาเป็นบทสรุปก่อน คงเป็นการบ้าน
6 จากไฟล์ที่ส่งมา เป็น วันที่ และ vn และ diagnosis (ไม่ทราบว่าเป็น
code : ICD9 หรือ ICD10 ขอถาม ว่าต้องการทำตารางที่1 เพื่อนำไปทำอะไรหรือครับ เผื่อไม่ต้องทำ อาจใช้ queryช่วยก็ได้ครับ
พอดีผมติดธุระ พรุ่งนี้จะเข้ามาดูอีกทีนะครับ
17 @R05960
- ผมไม่เข้าใจจริงๆ ครับ กอปมาแก้แล้วก็ใช้ได้
- i นี่หล่ะครับทำให้ผม งง แล้วยังมี vNO อีกแต่มันกำทำงานได้
- ที่ไม่พิมชื่อตาราง เพราะกัวคนอ่านจะ งง เลยใช้
ตาราง1 แทน diagSSS
ตาราง2 แทน DiagSSS_tmp
ตาราง3 แทน DiagSSSCause_tmp
ID แทน vn และ Visitno ของแต่ละตาราง ตามที่ส่งให้ดู
(เผอิญ สมมุติเป็น ID ทั้ง 2 ตารางเลย)
- ตารางมันสัมพันกันนะครับ ตรงตาราง 2 มันเรียงเป็นแถวซ้ำคนแต่ไม่ซ้ำ ICD10 ลงมา ตาราง 3 ก็เหมือนตาราง 2 เพียงแต่เป็น ICD10 คนละชนิดกัน เอามาเรียงในตาราง 1 ให้เป็นคอลัม มันจะทำเป็นคิวรีไม่ได้เพราะ ICD10 มีเป็นหมื่น ต้องเรียงเป็น Diag1 2 3 ตามลำดับ
คือเต้ากำหนดรูปแบบมาให้ส่งแบบตาราง 1 ครับเลยต้องมานั่งทำ
- i นี่หล่ะครับทำให้ผม งง แล้วยังมี vNO อีกแต่มันกำทำงานได้
- ที่ไม่พิมชื่อตาราง เพราะกัวคนอ่านจะ งง เลยใช้
ตาราง1 แทน diagSSS
ตาราง2 แทน DiagSSS_tmp
ตาราง3 แทน DiagSSSCause_tmp
ID แทน vn และ Visitno ของแต่ละตาราง ตามที่ส่งให้ดู
(เผอิญ สมมุติเป็น ID ทั้ง 2 ตารางเลย)
- ตารางมันสัมพันกันนะครับ ตรงตาราง 2 มันเรียงเป็นแถวซ้ำคนแต่ไม่ซ้ำ ICD10 ลงมา ตาราง 3 ก็เหมือนตาราง 2 เพียงแต่เป็น ICD10 คนละชนิดกัน เอามาเรียงในตาราง 1 ให้เป็นคอลัม มันจะทำเป็นคิวรีไม่ได้เพราะ ICD10 มีเป็นหมื่น ต้องเรียงเป็น Diag1 2 3 ตามลำดับ
คือเต้ากำหนดรูปแบบมาให้ส่งแบบตาราง 1 ครับเลยต้องมานั่งทำ
18 @R05969
อันนี้เป็นรูปแบบที่ทางการต้องการ
ถ้าเข้าใจไม่ผิดน่าจะเป็น โรคหลัก โรค รอง และโรคร่วม อะไรทำนองนี้
ซึ่งอยู่ในตารางที่ 2 และนำสาเหตุของโรคในตารางที่3 มาใส่ทั้งหมดเข้าในตารางที่ 1 ใช่หรือไม่
โดยหลักการที่นำมาใส่ ให้เรียงตาม อะไรไม่ทราบ แต่คิดว่า ให้ใส่การวินิจฉัยเรียงไปเรื่อย ๆ จนกว่า โรคมีมากกว่า คอลัมน์
และเช่นเดียวกับสาเหตุของโรค ที่สอดคล้องกับ ทุกVisit no ต้องมีโรคและสาเหตุ เป็นไปตามนี้หรือไม่ครับ
ถ้าเข้าใจไม่ผิดน่าจะเป็น โรคหลัก โรค รอง และโรคร่วม อะไรทำนองนี้
ซึ่งอยู่ในตารางที่ 2 และนำสาเหตุของโรคในตารางที่3 มาใส่ทั้งหมดเข้าในตารางที่ 1 ใช่หรือไม่
โดยหลักการที่นำมาใส่ ให้เรียงตาม อะไรไม่ทราบ แต่คิดว่า ให้ใส่การวินิจฉัยเรียงไปเรื่อย ๆ จนกว่า โรคมีมากกว่า คอลัมน์
และเช่นเดียวกับสาเหตุของโรค ที่สอดคล้องกับ ทุกVisit no ต้องมีโรคและสาเหตุ เป็นไปตามนี้หรือไม่ครับ
19 @R05972
แต่ละคนจะมีการวินิจฉัยหลายอย่าง ในการรับบริการครั้งเดียว(ดูจากvisitNO) จากสูตรข้างบนผมก็ทำให้มาเรียงต่อกันเป็นคอลัมได้แล้ว
แต่พอต้องการเอาสาเหตมาลงด้วย ซึ่งสาเหตุก็เป็นการวินิจฉัยในคร้งนั้น(ดูจากvisitNO)
เพราะฉนั้นการที่จะนำสาเหตุ จากตาราง3 ไปใส่ตาราง 1 ถ้าVisitNO ตรงกัน และเป็นคนเดียวกัน สาเหตุนั้นจะไปอยู่ใน Cause1 และถ้ามีหลายสาเหตุ ก็จะเรียนอยู่ใน Cause2 และ Cause3
แต่พอต้องการเอาสาเหตมาลงด้วย ซึ่งสาเหตุก็เป็นการวินิจฉัยในคร้งนั้น(ดูจากvisitNO)
เพราะฉนั้นการที่จะนำสาเหตุ จากตาราง3 ไปใส่ตาราง 1 ถ้าVisitNO ตรงกัน และเป็นคนเดียวกัน สาเหตุนั้นจะไปอยู่ใน Cause1 และถ้ามีหลายสาเหตุ ก็จะเรียนอยู่ใน Cause2 และ Cause3
20 @R05973
เพื่อการต่อยอดนะครับ
1 ความต้องการ ของเราหรือของผู้ใช้งานคืออะไร(requirement)
2 เวลา copy code มา ควรจะรู้ว่า codeนั้นไปทำอะไร,อย่างไร กับ
table , field ไหนบ้าง
3 ผลงานในข้อ 2 กับ ความต้องการในข้อ 1 จุดไหนที่ไม่ตรงกับความต้องการ ก็เข้าไปแก้ที่ ข้อ 2
4 ควรตรวจสอบความถูกต้องของข้อมูลด้วยครับ
ผมแนบ file ที่แก้ไขให้แล้ว ส่งไปให้ทาง email แล้วครับ
ถ้าจุดไหนไม่เข้าใจก็ post มาถามนะครับ
1 ความต้องการ ของเราหรือของผู้ใช้งานคืออะไร(requirement)
2 เวลา copy code มา ควรจะรู้ว่า codeนั้นไปทำอะไร,อย่างไร กับ
table , field ไหนบ้าง
3 ผลงานในข้อ 2 กับ ความต้องการในข้อ 1 จุดไหนที่ไม่ตรงกับความต้องการ ก็เข้าไปแก้ที่ ข้อ 2
4 ควรตรวจสอบความถูกต้องของข้อมูลด้วยครับ
ผมแนบ file ที่แก้ไขให้แล้ว ส่งไปให้ทาง email แล้วครับ
ถ้าจุดไหนไม่เข้าใจก็ post มาถามนะครับ
Time: 0.3749s