กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
345 2
URL.หัวข้อ /
URL
ฟอร์ม เปลี่ยน Controlsource ขณะรันไทม์ได้หรือไม่ครับ
ผมสร้างฟอร์มโดยใช้ Controlsource สร้างจาก Query โดยฟิลด์เงื่อนไข =1 (status=1)
เมื่อเปิดฟอร์มแล้ว สามารถคลิ๊กปุ่มเลือกดูได้ตามเงื่อนไขครับ ฟิลด์เงื่อนไข =2 (status=2)
ผมลองทำแล้วมันขึ้น Run-time error '3065'
ไม่สามารถปฏิบัติการคิวรีได้
โดยผมเขียนโค๊ดดังนี้ครับ
(ฟอร์มเป็น Continous Form ส่วนปุ่มคำสั่งวางไว้บน Header ของฟอร์มครับ)
Private Sub Cmdlevel2_Click()
'ต้องการฟิลด์เงื่อนไข =2 (status=2)
Dim dbs As Database
Dim SQL As String
Set dbs = CurrentDb
dbs.Execute "SELECT payedlist_st.payedlist_id, payedlist_st.st_id, std.stsex, std.stname, std.stlastname, std.stnowstudy_id, std.stnowclass, std.level, payedlist_st.term, payedlist_st.date_payst, payedlist_st.date_payst2, payedlist_st.status, std.pic, std.remain, payedlist_st.sum_rate, payedlist_st.remark FROM std INNER JOIN payedlist_st ON std.st_id = payedlist_st.st_id WHERE (((payedlist_st.status)=2));"
dbs.Close
End Sub
ช่วยแนะนำด้วยครับ
เมื่อเปิดฟอร์มแล้ว สามารถคลิ๊กปุ่มเลือกดูได้ตามเงื่อนไขครับ ฟิลด์เงื่อนไข =2 (status=2)
ผมลองทำแล้วมันขึ้น Run-time error '3065'
ไม่สามารถปฏิบัติการคิวรีได้
โดยผมเขียนโค๊ดดังนี้ครับ
(ฟอร์มเป็น Continous Form ส่วนปุ่มคำสั่งวางไว้บน Header ของฟอร์มครับ)
Private Sub Cmdlevel2_Click()
'ต้องการฟิลด์เงื่อนไข =2 (status=2)
Dim dbs As Database
Dim SQL As String
Set dbs = CurrentDb
dbs.Execute "SELECT payedlist_st.payedlist_id, payedlist_st.st_id, std.stsex, std.stname, std.stlastname, std.stnowstudy_id, std.stnowclass, std.level, payedlist_st.term, payedlist_st.date_payst, payedlist_st.date_payst2, payedlist_st.status, std.pic, std.remain, payedlist_st.sum_rate, payedlist_st.remark FROM std INNER JOIN payedlist_st ON std.st_id = payedlist_st.st_id WHERE (((payedlist_st.status)=2));"
dbs.Close
End Sub
ช่วยแนะนำด้วยครับ
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R00944
Execute จะใช้ได้เฉพาะกับ Action Queries เช่น Append, Delete, Update เท่านั้นครับ
ถ้าต้องการที่จะเปลี่ยน RecordSource ของฟอร์ม ให้ใช้อย่างนี้ครับ
Private Sub Cmdlevel2_Click()
Me.RecordSource = "SELECT payedlist_st.payedlist_id, payedlist_st.st_id, " _
& "std.stsex, std.stname, std.stlastname, std.stnowstudy_id, std.stnowclass, " _
& "std.level, payedlist_st.term, payedlist_st.date_payst, " _
& "payedlist_st.date_payst2, payedlist_st.status, std.pic, std.remain, " _
& "payedlist_st.sum_rate, payedlist_st.remark FROM std INNER JOIN " _
& "payedlist_st ON std.st_id = payedlist_st.st_id " _
& "WHERE (((payedlist_st.status)=2));"
End Sub
2 @R00945
แม่นจริง ๆครับอาจารย์ ตรง ๆเลยขอบพระคุณเป็นอย่างสูงครับ
ผมอ่านตำราตั้งหลายเล่มแต่ทำไม่ได้สักที เพิ่งจะทำได้นี่แหละครับที่นี่แม่นจริง ๆเลย
Time: 0.1395s