กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
906 29
URL.หัวข้อ /
URL
ถามเรื่องการ copy
เห็น โปรแกรม clinic เวลาสั่งยาเป็นสูตรเช่น
A1 จะประกอบด้วยยา paracet
MTV
โดยเวลากดที่ A1 จะไปเพิ่มข้อมูลใน form ครับ
A1 จะประกอบด้วยยา paracet
MTV
โดยเวลากดที่ A1 จะไปเพิ่มข้อมูลใน form ครับ
29 Reply in this Topic. Dispaly 2 pages and you are on page number 1
2 @R05105
อยากทำแบบนี้ได้บ้างเหมือนกันครับ
ลองทำแบบอาจารย์แล้ว อย่าง
"values('AA', 'BB', ...)" มันก็ก๊อปไปที่ฟอร์มหลักเป็นเท็กซ์ AA , BB
ทำยังไงให้มันก๊อปจากข้อมูลจากฟอร์มที่เปิดขึ้นมาใหม่ไปฟอร์มหลักครับ
อีกอย่างมันจะไปเพิ่มข้อมูลในฟอร์มหลัก
ถ้าเราจะให้มันไปอับเดทในเรคคอร์ดที่เปิดอยู่ที่ฟอร์มหลักได้หรือเปล่าครับ
อาจารย์ทำไฟล์ตัวอย่างให้ด้วยได้ก็ดีครับ
ลองทำแบบอาจารย์แล้ว อย่าง
"values('AA', 'BB', ...)" มันก็ก๊อปไปที่ฟอร์มหลักเป็นเท็กซ์ AA , BB
ทำยังไงให้มันก๊อปจากข้อมูลจากฟอร์มที่เปิดขึ้นมาใหม่ไปฟอร์มหลักครับ
อีกอย่างมันจะไปเพิ่มข้อมูลในฟอร์มหลัก
ถ้าเราจะให้มันไปอับเดทในเรคคอร์ดที่เปิดอยู่ที่ฟอร์มหลักได้หรือเปล่าครับ
อาจารย์ทำไฟล์ตัวอย่างให้ด้วยได้ก็ดีครับ
3 @R05107
อยากรู้ด้วยเหมือนกัน ท่านใดมีตัวอย่างบ้างค่ะ
4 @R05108
อาจารย์ช่วยทำให้ดูหน่อยครับ
5 @R05117
ขอดูด้วยคน
6 @R05118
สนใจครับ
7 @R05121
น่าจะได้นะครับ
"INSERT INTO ชื่อตารางที่นำมาทำเป็นSubForm ( รหัสผู้ป่วย, รหัสยา, ชื่อยา, จำนวน ) SELECT "& Forms!ชื่อฟอร์มหลัก!รหัสผู้ป่วย & ", รหัสยา, ชื่อยา, จำนวน FROM ชื่อตารางที่เป็นที่เก็บข้อมูลรหัสยา WHERE รหัสยา = '" & Forms!ชื่อฟอร์มที่เปิดขึ้นมาที่หลัง(สูตรยา)!ฟิลที่แสดงรหัสยา & "'"
Forms!ชื่อฟอร์มหลัก!ชื่อSubForm.Requery
งง
"INSERT INTO ชื่อตารางที่นำมาทำเป็นSubForm ( รหัสผู้ป่วย, รหัสยา, ชื่อยา, จำนวน ) SELECT "& Forms!ชื่อฟอร์มหลัก!รหัสผู้ป่วย & ", รหัสยา, ชื่อยา, จำนวน FROM ชื่อตารางที่เป็นที่เก็บข้อมูลรหัสยา WHERE รหัสยา = '" & Forms!ชื่อฟอร์มที่เปิดขึ้นมาที่หลัง(สูตรยา)!ฟิลที่แสดงรหัสยา & "'"
Forms!ชื่อฟอร์มหลัก!ชื่อSubForm.Requery
งง
8 @R05125
ขอดูตัวอย่างด้วยครับ
9 @R05132
นี่เป็นตัวอย่างที่ผมทำใช้เองเป็นโปรแกรม บัญชีเล็กๆ และสามารถเลือกสูตรที่เราป้อนบ่อยๆได้ ก็น่าจะเอาไปประยุคใช้ได้นะครับ
ก่อนอื่นต้องเตรียมตารางสำหรับ เก็บสูตรก่อนในที่นี้คือ Template และ Template_Detail มีความสัมพันกันแบบ one-to-many (กรณีของคุณ 1 สูตรประกอบด้วยยาหลายตัว)
Private Sub Combo8_AfterUpdate()
On Error GoTo Combo8_Err:
Dim sql As String
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Me.Desc.Value = Me.Combo8.Column(1)
sql = "select * from tblTamplate_Detail where ID=" & Me.Combo8.Value
Set rs = db.OpenRecordset(sql)
sql = "delete * from tblDailyDetail where AccID=" & Me.AccID
DoCmd.SetWarnings False
db.Execute sql
Me.Refresh
Do While Not rs.EOF
sql = "insert into tblDailyDetail (AccID,AccCode,Dr,Cr) values(" & Me.AccID & ",'" & rs.Fields("AccCode") & "'," & _
rs.Fields("Dr") & "," & rs.Fields("Cr") & ");"
db.Execute sql
rs.MoveNext
Loop
Forms!frmDaily.Refresh
Me.tblDailyDetail_subform.Requery
DoCmd.SetWarnings True
Set rs = Nothing
Set db = Nothing
Exit Sub
Combo8_Err:
MsgBox Err.Number & ": " & Err.Description
End Sub
ถ้าไม่เข้าใจจะมาอธิบายใหม่นะครับ
ก่อนอื่นต้องเตรียมตารางสำหรับ เก็บสูตรก่อนในที่นี้คือ Template และ Template_Detail มีความสัมพันกันแบบ one-to-many (กรณีของคุณ 1 สูตรประกอบด้วยยาหลายตัว)
Private Sub Combo8_AfterUpdate()
On Error GoTo Combo8_Err:
Dim sql As String
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Me.Desc.Value = Me.Combo8.Column(1)
sql = "select * from tblTamplate_Detail where ID=" & Me.Combo8.Value
Set rs = db.OpenRecordset(sql)
sql = "delete * from tblDailyDetail where AccID=" & Me.AccID
DoCmd.SetWarnings False
db.Execute sql
Me.Refresh
Do While Not rs.EOF
sql = "insert into tblDailyDetail (AccID,AccCode,Dr,Cr) values(" & Me.AccID & ",'" & rs.Fields("AccCode") & "'," & _
rs.Fields("Dr") & "," & rs.Fields("Cr") & ");"
db.Execute sql
rs.MoveNext
Loop
Forms!frmDaily.Refresh
Me.tblDailyDetail_subform.Requery
DoCmd.SetWarnings True
Set rs = Nothing
Set db = Nothing
Exit Sub
Combo8_Err:
MsgBox Err.Number & ": " & Err.Description
End Sub
ถ้าไม่เข้าใจจะมาอธิบายใหม่นะครับ
10 @R05168
ขอรบกวนเป็นตัวอย่างได้ไหมครับ
11 @R05169
ขอดูด้วยค่ะ เพราะเป็นมือใหม่มาก ๆ เลย
12 @R05174
ผมทำตัวอย่างมาให้ดู ผมใช้ Access 2002(XP) และ Convert เป็น 97 ให้แล้วสำหรับท่านที่ยังใช้ 97 แต่ไม่รู้จะเปิดได้สมบูรณ์หรือป่าวนะครับยังไม่ได้ลองดู
ก็ลองดูตัวอย่างนะครับ จำรองมาอีกทีครับ ผิดพลาดประการได้ก็แจ้งมาได้ครับ
ก็ลองดูตัวอย่างนะครับ จำรองมาอีกทีครับ ผิดพลาดประการได้ก็แจ้งมาได้ครับ
13 @R05182
ขอบคุณค่ะ จะได้นำไปศึกษาเพิ่มแล้ว
14 @R05194
ผมใช้วิธีการสร้างตัวแปร Global Variant ไว้
รับค่าฟิลด์นั้นๆ จากฟอร์ม lookup แล้วส่งกลับไปยังฟอร์มหลักอีกทีครับ
แล้วค่อยรัน dLookup เพื่อหาข้อมูลมาแสดงบนฟอร์มหลักครับ
รับค่าฟิลด์นั้นๆ จากฟอร์ม lookup แล้วส่งกลับไปยังฟอร์มหลักอีกทีครับ
แล้วค่อยรัน dLookup เพื่อหาข้อมูลมาแสดงบนฟอร์มหลักครับ
15 @R05197
โห
16 @R05201
ขอถามเพิ่มหน่อยค่ะ
1.ถ้ารับยาเก่าที่ไม่ได้มีในสูตร จะทำอย่างไรค่ะ
2.gloal variant คืออะไรค่ะ แล้วมีหลักการใช้อย่างไร
1.ถ้ารับยาเก่าที่ไม่ได้มีในสูตร จะทำอย่างไรค่ะ
2.gloal variant คืออะไรค่ะ แล้วมีหลักการใช้อย่างไร
17 @R05202
ขอดูตัวอย่างได้ไหมค่ะคุณ xyz ขอบคุณล่วงหน้าค่ะ
18 @R05203
ขอความกระจ่างครับคุณ xyz
19 @R05205
ขอเวลาผมนิดนึงละกัน เอาไว้จะตัดตัวอย่างจากโปรแกรมผมมา แล้วจะมาให้ดาวนโหลดครับ :-)
20 @R05207
ทำอย่างที่คุณ xyz บอกก็ได้ครับ แต่ถ้าเป็นผมจะไม่ทำตัวแปรมาเก็บ แต่จะสั่ง insert ข้อมูลในตารางเลย แล้ว สั่ง Requery ในฟอร์ม
สำหรับตัวอย่างที่ผมทำให้ถ้าอยากคีย์ยาเองและอยากสั่งเป็นสูตรด้วยให้ เอาส่วนที่เป็น Delete ออกครับ
Goodluk
สำหรับตัวอย่างที่ผมทำให้ถ้าอยากคีย์ยาเองและอยากสั่งเป็นสูตรด้วยให้ เอาส่วนที่เป็น Delete ออกครับ
Goodluk
Time: 0.0862s
โดยใช้ SQL Statement คล้ายๆ นี้
Dim dbs As Object
Set dbs = CurrentDb
dbs.Execute "insert into ตารางที่นำมาสร้างเป็นSubForm ([รหัสยา],[รหัสผู้ป่วย], ...) " _
& "values('รหัสยากที่อ้างอิงจากตัวที่เลือกในฟอร์มปัจุบัน', 'รหัสคนไข้จากฟอร์มข้างหลัง', ...)"
Forms!ชื่อฟอร์มหลัก!ชื่อSubForm.Requery
dbs.Close
Set dbs = Nothing
อะไรทำนองนี้ครับ