Thu 1 Mar 2007 12:56:06
รบกวนพี่ทีมงานหน่อยนะครับผมมีเรื่องจะปรึกษาคืออย่างนี้นะครับ
ตอนนี้ผมทำรายงานการประชุมโดยการอินพุตวันที่แล้วก็ชื่อหรือรหัสของ พนง. แล้วคลิก ตกลง แล้วก็ให้แสดงรายงานการประชุมออกมาเป็นตารางว่าวันนี้มีใครประชุมอารัยบ้างกีโมงโดยแสดงออกมาเป็นตารางด้านล่างนะครับ
|
Name |
8.00-8.30 |
8.30-9.00 |
9.00-9.30 |
9.30-10.00 |
|
korakot |
textbox1 |
textbox2 |
textbox3 |
textbox4 |
ซึ่งในแต่ละเท็กบ๊อกจะแสงรายละเอียดแล้วก็หัวข้อการประชุมในแต่ละเวลาและเวลาผมจะกำหนดให้เป็นค่าคงที่เลย แล้วทำการเช็คเงื่อนไขเอาว่าเวลาช่วงนี้ควรจะอยู่ในเท็กบ๊อกอันไหน
*ปัญหาคือว่าสมมุติมีผู้เข้าประชุมหลายๆคนแล้วก็ต้องทำแสดงรายชื่อออกมาทั้งหมดมทำไม่ได้นะครับ คือถ้ามี 10 คนก็ให้แสดงรายชื่อแล้วก็เท็กบ๊อกออกมา 10 อันซึ่งตรงนี้ผมลองใช้ Messagebox ดูนะครับสามารถทำได้แต่ถ้าจะให้ลิสหรือแสดงเท็กบ๊อกออกมาทั้ง 10 อันตามจำนวนสมาชิกที่เข้าประชุมไม่ได้นะครับ ผมมีตัวอย่างโค้ดให้ด้วยนะครับ
Private Sub Form_Load()
Dim J, N As Integer
J = 0
N = 0
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("Qur_Meeting")
N = rst.RecordCount
For J = 0 To 23
MsgBox rst![meeting_time] & J
'Forms![Frm_Meeting1].[txtTest ] = rst![meeting_time]
rst.MoveNext
Next J
End Sub
ที่ผมเน้นข้อความตรงนั้นคือเท็กบ๊อกที่ต้องการให้แสดงออกเท่าจำนวนรอบที่ใช้ loop for วนเอานะครับ
ไม่ทราบพอจะมีวิธีหรือป่าวครับหรือไม่รบกวนถ้ามีวิธีที่ดีกว่านี้ก็ได้นะครับ
ขอบคุณมากครับ
Mon 5 Mar 2007 15:22:03
รบกวนอีกหน่อยนะครับกรุณาช่วยผมหน่อยนะครับ คือตอนนี้ติดปัญหาอย่างนี้นะครับ
คือสมมุติมี textbox อยู่ 3 ตัวแล้วผมตั้งชื่อ textbox ชื่อดังนี้นะครับ txtName(1),txtName(2),txtName(3) ประมาณนี้นะครับแล้วผมก็เขียนโค้ดลงไปอย่างนี้นะครับ
For I = 1 To 3
MsgBox rst![Name] & ".." & "I=" & I
Forms![Frm_Meeting].[txtName(I)] = rst![Name]
rst.MoveNext
Next I
อย่างนี้เลยนะครับแต่ผมลองทดลองใช้ Messagebox ก็สามารถใช้งานได้นะครับก็จะวนลูปไป 3 รอบ แต่ถ้าผมจะให้ textbox เหล้านั้นแสดงค่าออกมาตามจวนลูปที่ผมได้กำหนดแล้วก็ในเท็กบ๊อกที่ผมได้สร้างไว้ทั้ง 3 ตัว ไม่ทราบว่าพอจะมีวิธีหรือป่าวครับ เพราะตอนนี้พอวนลูปแล้วจะ Error นะครับเพราะมันบอกว่าไม่รู้จัก textbox ทึ่ชื่อตามที่ผมได้อ้างไปนะครับแต่พอผมลงเช็คดูค่าของ I มันก็เปลี่ยนนะครับแต่ไม่รู้ทำไม่ถึงเกิด Error ได้ แต่ถ้าผมกำหนดชื่อ textbox ไปเลยมันก็จะแสดงค่าของ record สุดท้ายที่มีอยู่ในฐานข้อมูลนะครับ ผมรบกวนพี่ๆทีมงานช่วยผมหน่อยนะครับ คือผมติดมาหลายวันแล้วนะครับ
Mon 5 Mar 2007 16:11:18
รบกวนอีกหน่อยนะครับกรุณาช่วยผมหน่อยนะครับ คือตอนนี้ติดปัญหาอย่างนี้นะครับ
คือสมมุติมี textbox อยู่ 3 ตัวแล้วผมตั้งชื่อ textbox ชื่อดังนี้นะครับ txtName(1),txtName(2),txtName(3) ประมาณนี้นะครับแล้วผมก็เขียนโค้ดลงไปอย่างนี้นะครับ
For I = 1 To 3
MsgBox rst![Name] & ".." & "I=" & I
Forms![Frm_Meeting].[txtName(I)] = rst![Name]
rst.MoveNext
Next I
อย่างนี้เลยนะครับแต่ผมลองทดลองใช้ Messagebox ก็สามารถใช้งานได้นะครับก็จะวนลูปไป 3 รอบ แต่ถ้าผมจะให้ textbox เหล้านั้นแสดงค่าออกมาตามจวนลูปที่ผมได้กำหนดแล้วก็ในเท็กบ๊อกที่ผมได้สร้างไว้ทั้ง 3 ตัว ไม่ทราบว่าพอจะมีวิธีหรือป่าวครับ เพราะตอนนี้พอวนลูปแล้วจะ Error นะครับเพราะมันบอกว่าไม่รู้จัก textbox ทึ่ชื่อตามที่ผมได้อ้างไปนะครับแต่พอผมลงเช็คดูค่าของ I มันก็เปลี่ยนนะครับแต่ไม่รู้ทำไม่ถึงเกิด Error ได้ แต่ถ้าผมกำหนดชื่อ textbox ไปเลยมันก็จะแสดงค่าของ record สุดท้ายที่มีอยู่ในฐานข้อมูลนะครับ ผมรบกวนพี่ๆทีมงานช่วยผมหน่อยนะครับ คือผมติดมาหลายวันแล้วนะครับ
Wed 7 Mar 2007 00:08:40
คือผมไม่รู้วิธีการสร้าง control array สำหรับ vba ใน ms access นะครับ รบกวนพี่ช่วยแนะนำผมหน่อยนะครับ
ขอบคุณมากครับ

















