ฉันกำลังพยายามทำตามคำแนะนำเพื่อยึดกล่องคอมโบหนึ่งในอีกรูปแบบใน MS Access 2010 และฉันพบปัญหาบางอย่าง
ฉันมีสองตาราง:
Strategy +----+-------------+
| ID | Desc |
+----+-------------+
| 1 | Annhilation |
| 2 | Exhaustion |
+----+-------------+
Theme +----+-------------------------+------------+
| ID | Desc | StrategyID |
+----+-------------------------+------------+
| 1 | Beauty of Simplicity | 1 |
| 2 | Capitalism | 1 |
| 3 | Change of power | 1 |
| 4 | Change versus tradition | 1 |
| 5 | Chaos and order | 2 |
+----+-------------------------+------------+
ฉันกำลังพยายามสร้างฟอร์มด้วยกล่องคำสั่งผสมสองกล่องหนึ่งรายการสำหรับกลยุทธ์หนึ่งรายการสำหรับธีม ฉันต้องการตัวเลือกสำหรับกล่องคำสั่งผสมรูปแบบจะถูก จำกัด โดยการเลือกในปัจจุบันในกลยุทธ์กล่องคำสั่งผสมที่มีการแสดงคนเดียวที่ตรงกับกลยุทธ์ที่เลือกStrategyID
ID
ฉันสร้างชื่อว่างStrategyTheme
และเพิ่มสองคอมโบบ็อกซ์ไว้
Strategy
Row Source : SELECT [Strategy].[ID], [Strategy].[Desc] FROM Strategy;
On Click : [Event Procedure]
Before Update : [Event Procedure]
After Update : [Event Procedure]
On Dirty : [Event Procedure]
On Change : [Event Procedure]
On Not In List: [Event Procedure]
On Got Focus : [Event Procedure]
On Lost Focus : [Event Procedure]
On Dbl Click : [Event Procedure]
On Mouse Down : [Event Procedure]
On Mouse Up : [Event Procedure]
On Mouse Move : [Event Procedure]
On Key Down : [Event Procedure]
On Key Up : [Event Procedure]
On Key Press : [Event Procedure]
On Enter : [Event Procedure]
On Exit : [Event Procedure]
On Undo : [Event Procedure]
Theme
Row Source : SELECT [Theme].[ID], [Theme].[Desc] FROM Theme WHERE [Theme].[StrategyID]=[Forms]![StrategyTheme]![Strategy];
ขั้นตอนที่ฉันเพิ่มทุกคนควรรีเฟรชกล่องคำสั่งผสมของ Theme และป๊อปอัพข้อความ (เพราะฉันไม่แน่ใจว่าพวกเขาถูกเรียก)
Option Compare Database
Private Sub Sync(msg)
MsgBox (msg)
Me.Theme = Null
Me.Theme.Requery
End Sub
Private Sub Strategy_AfterUpdate()
Sync ("AfterUpdate")
End Sub
Private Sub Strategy_BeforeUpdate(Cancel As Integer)
Sync ("BeforeUpdate")
End Sub
Private Sub Strategy_Change()
Sync ("Change")
End Sub
Private Sub Strategy_Click()
Sync ("Click")
End Sub
Private Sub Strategy_DblClick(Cancel As Integer)
Sync ("DblClick")
End Sub
Private Sub Strategy_Dirty(Cancel As Integer)
Sync ("Dirty")
End Sub
Private Sub Strategy_Enter()
Sync ("Enter")
End Sub
Private Sub Strategy_Exit(Cancel As Integer)
Sync ("Exit")
End Sub
Private Sub Strategy_GotFocus()
Sync ("GotFocus")
End Sub
Private Sub Strategy_KeyDown(KeyCode As Integer, Shift As Integer)
Sync ("KeyDown")
End Sub
Private Sub Strategy_KeyPress(KeyAscii As Integer)
Sync ("KeyPress")
End Sub
Private Sub Strategy_KeyUp(KeyCode As Integer, Shift As Integer)
Sync ("KeyUp")
End Sub
Private Sub Strategy_LostFocus()
Sync ("LostFocus")
End Sub
Private Sub Strategy_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Sync ("MouseDown")
End Sub
Private Sub Strategy_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Sync ("MouseMove")
End Sub
Private Sub Strategy_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Sync ("MouseUp")
End Sub
Private Sub Strategy_NotInList(NewData As String, Response As Integer)
Sync ("NotInList")
End Sub
Private Sub Strategy_Undo(Cancel As Integer)
Sync ("Undo")
End Sub
เมื่อฉันดูแบบฟอร์มในมุมมองฟอร์มกล่องคำสั่งผสมชุดรูปแบบจะถูก จำกัด ให้ตรงกับสิ่งที่ค่าของกล่องคำสั่งผสมกลยุทธ์เป็นครั้งสุดท้ายที่ฉันดูและไม่เปลี่ยนแปลงเมื่อฉันเปลี่ยนสิ่งที่เลือกในกล่องคำสั่งผสมกลยุทธ์ ฉันไม่เห็นป๊อปอัปจากการMsgBox()
โทรดังนั้นฉันจึงไม่คิดว่าการโทรกลับของเหตุการณ์ถูกเรียก
ฉันทำอะไรผิดและฉันจะแก้ไขได้อย่างไร