有没有办法自动填充MS Access窗体中的字段?比方说,用户从表单上的特定组合框中进行选择,是否有可以根据PK自动选择表单上的其他字段的内容?自动填充MS Access窗体中的字段
我还想补充一点,字段自动填入将来自各种表..
*** ammendment
我需要一次我选择在组合框中特定记录返回多个值。有人可以帮忙吗?多个值将来自返回这样的值的查询:
ID Code Count
24 TST 4
24 BPB 7
24 SSS 10
在窗体,组合框会选择的ID号。一旦我选择了24的ID号码,我想返回上面来自名为Project_Error_Final的查询的所有3条记录(在这个例子中有3个值要返回,但我希望查询返回ID = 24的任何记录)。到目前为止,VBA代码是:
Private Sub cboProjectID_Change()
Dim VarComboKey As Integer
Dim VarObjective As Variant
Dim VarStartDate As Variant
Dim VarEndDate As Variant
Dim VarRiskCategory As Variant
Dim VarTarDatSet As Variant
Dim VarErrorCount As Variant
Dim VarErrorCode As Variant
VarComboKey = Me.cboProjectID.Value
VarObjective = DLookup("[Objective]", "[Project_HDR_T]", "[Project_ID] = " & VarComboKey)
Me.txtObjective = VarObjective
VarStartDate = DLookup("[Start_Date]", "[Project_HDR_T]", "[Project_ID] = " & VarComboKey)
Me.txtStartDate = VarStartDate
VarEndDate = DLookup("[End_Date]", "[Project_HDR_T]", "[Project_ID] = " & VarComboKey)
Me.txtEndDate = VarEndDate
VarRiskCategory = DLookup("[Risk_Category]", "[Project_HDR_T]", "[Project_ID] = " & VarComboKey)
Me.txtRiskCategory = VarRiskCategory
VartxtTarDatSet = DLookup("[Targeted_Dataset]", "[Project_Targeted_Dataset]", "[Project_ID] = " & VarComboKey)
Me.txtTarDatSet = VartxtTarDatSet
VarErrorCount = DLookup("[Count_Error_Codes]", "[Project_Error_Final]", "[project_ID] = " & VarComboKey)
Me.txtErrorCount = VarErrorCount
VarErrorCode = DLookup("[ErrorCode]", "[Project_Error_Final]", "[project_ID] = " & VarComboKey)
Me.txtErrorCode = VarErrorCode
End Sub
有问题的值是VarErrorCount和VarErrorCode。在上面的VBA代码中,只返回一个值。但是,一旦选择了ID组合框字段,我正在查找多个VarErrorCount和VarErrorCode值以在我的表单中返回。在这个特定的例子中,VarErrorCode应该返回“TST”,“BPB”和“SSS”。 VarErrorCount应返回相应的VarErrorCode值:“4”,“7”,“10”
你为什么不使用查询包含所有相关的表格和绑定控件的绑定表单? MS Access使生活变得非常简单,几乎所有事情都可以在没有代码的情况下完成应该不需要做任何像上面那样复杂的事情。 – Fionnuala 2013-03-14 15:56:41
这仍然不能回答如何返回特定字段的多个值的问题。我明白你的意思。即使我只是使用查询而不是上面的代码,但我仍然会遇到为每个ID返回多个错误代码和错误计数的问题。无论我需要多个查询来引用我的表单,一个是Project_Error_Final,它汇总了上面输出中的数字。 – JT2013 2013-03-14 16:03:20
再次请用户1195703.我很乐意看看这个。总的来说,我还建议您将来在这些情况下提出一个新问题。我担心的是,既然你已经接受了我对你最初问题的回答,那么你可能无法将赏金奖励给可能会回答你修改问题的其他人。 – JAGAnalyst 2013-03-14 20:29:10