我正在创建一个ms-Access 2007表单,以保存单个产品的多个评估结果" Batch"。我能够创建一对组合框来查找可能的批次列表,这两个标准("项目"和#34; QCN和#34;)是" BatchInfo&中的主键#34; table和row source使用" SELECT DISTINCTROW"从表中为这两个组合框提取这些内容。我有两个文本框绑定到" BatchInfo"上的查询的不同列。表,每个组合框一个。它们似乎正确地协同工作,除了QCN文本框中显示的数据不正确。 我用#34; New Record"来测试这一切。表单上的按钮,运行以下代码:
Sub btnNewRecord_Click()
DoCmd.RunCommand acCmdSaveRecord
DoCmd.GoToRecord , , acNewRec
End Sub
剩下的不在VBA中,所以我不确定如何在这里最简洁地解释它,但让我们看看这是否有效:("显示"意味着我拥有从cmbItem组合框中选择了一个批处理)
cmbItem控件来源是项目;绑定列1;第2列;列宽1“,0.5”;显示项目; txtItem显示“Item”并正确地将“Item”保存到表中
cmbQCN控制来源是项目;绑定列2;第2列;列宽0“,1”;显示项目而不是QCN; txtQCN显示"项目"而不是" QCN",但在将记录保存到表格时似乎是空白的。
两个组合框的行源是: SELECT DISTINCTROW qryBatchesBySiteByDate.Item,qryBatchesBySiteByDate.QCNumber FROM qryBatchesBySiteByDate;
qryBatchesBySiteByDate从BatchInfo中提取Item和QCN并将它们连接到生产位置。
一次改变一件事:
- 将cmbQCN的绑定列更改为1; now combo显示所需的值,但不会将其传递给文本框。
cmbItem控件来源是项目;绑定列1;第2列;列宽1“,0.5”;显示项目; txtItem显示“Item”并正确地将“Item”保存到表中
cmbQCN控制来源是项目;绑定列2;第2列;列宽0“,1”;显示项目而不是QCN; txtQCN显示" QCN"正确,但在将记录保存到表格时似乎是空白。
- 将cmbQCN的控制来源改为QCN;现在组合框不能一起工作
cmbItem控件来源是项目;绑定列1;第2列;列宽1“,0.5”;显示项目; txtItem显示“Item”并正确地将“Item”保存到表中
cmbQCN控制来源是cmbQCN;绑定列2;第2列;列宽0“,1”;显示为空白; txtQCN为空白,在将记录保存到表格时显示为空白。
我想我至少有两个问题: 1.即使txtQCN显示数据,当我保存记录时,该数据也不会写入表中; 2.即使cmbQCN正确显示QCN,txtQCN也会显示Item而不是QCN。
我想也许关系存在问题,因为Item和QCN都是BatchInfo中的主键,但查询是否维持关系?
我希望我在某个地方错过了一个设置,但我无法弄清楚它可能是什么。
感谢您的任何建议!