使用查询 Access 2007 填充组合框的两行



我正在处理 Access 2007 数据库,但查询时遇到问题。

我有一个名为"车辆"的表,其中包含其中每辆车的ID,车牌和燃料类型等数据。 我正在尝试进行一个查询,该查询将根据用户事先选择的车牌,在表单中填充每个车辆的燃料类型的组合框。

问题是,我们有一些使用两种燃料的汽车,我找不到一种方法在组合框中单独显示它们。

到目前为止,它有点工作,代码如下:

CheckDiesel: IIf([Diesel]="Yes";"Diesel";IIf([Gasoline] AND [Ethanol]="Yes";"Gasoline"+ "Ethanol";IIf([Ethanol]="Yes";"Ethanol";IIf([Gasoline]="Yes";"Gasoline";""))))

如果你看看第二个IIf,我有一个双燃料汽车的条件。我想分别显示汽油和乙醇,每个都排成一行。

我尝试使用"&Chr(10( Chr(13(&"和"\r",但到目前为止我没有成功。

谁能帮我?

在单个字段中存储多个数据很少有好结果。我看到的一些选项

  1. 汽油类型的一系列二进制字段。所以你会有一个 对/假 汽油, 乙醇, 和柴油.这很容易通过表单上的复选框显示。
  2. 如果您知道只有某些组合,例如没有汽油就没有"柴油和乙醇",则可以将其构建为单值组合框。

您可能需要一些 VBA 来执行您需要做的事情。 尝试这样的事情:

Dim R as String
R=""
if (Me.Diesel) then R = R & "Diesel;"
if (Me.Gasoline) then R = R & "Gasoline;"
… {add any other types of fuel}
Me.MyComboBox.Rowsource = R
Me.MyComboBox.Requery

这可以添加到窗体的 OnCurrent 事件中,以便每次显示新记录时都会更新组合框。

如果您的表单不包含各种燃料类型作为字段,请将它们添加为隐藏字段或使用 DLookup 将它们从表中读取。

最新更新