【问题标题】:In Access, if a table displays a cell, display something else在 Access 中,如果表格显示单元格,则显示其他内容
【发布时间】:2017-05-17 02:18:38
【问题描述】:

我正在访问中创建一个数据库。我有一个带有组合框的表格,其中有 37 个项目可供选择。当用户填写表格时,数据会很好地进入表格,但不会显示组合框中的项目,而是显示 id 号,而不是来自 Combo 的选项。此组合从具有两列的表中提取其数据。一是访问权限使您输入的ID,二是清洁类型,这是组合中的选择。我想知道是否有一种方法可以在 VBA 中创建某种 if/then 语句,或者是否有一个函数可以完全按原样显示列中的信息,而不是与其关联的 ID 号。这是附加到保存数据按钮的代码:

Private Sub Command33_Click()
 Dim strSQL As String
 Dim strName As String
 Dim varItem As Variant

DoCmd.SetWarnings False

    strSQL = "INSERT INTO CleaningLog(Name1, Date1, Shift, Cleaning, Comments) VALUES ('" & Me!Text12 & "', '" & Me!Text15 & "', '" & Me!Combo25 & "', '" & Me!Combo19 & "', '" & Me!Text30 & "');"
    DoCmd.RunSQL (strSQL)

DoCmd.SetWarnings True

Me.Refresh

End Sub

所有数据都可以正常插入,除了 Combo19 中的清理。这是唯一从表中提取数据的方法。谢谢!

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    在 GUI 中有组合框的设置,您可以设置要保存在数据库中的列和要显示的列。

    注意“列数”和“列宽”属性。列数是组合框应包含的数据列数。在您的情况下,应该有两个 - ID 和名称。

    接下来查看“列宽”属性。这设置了每列数据的宽度。请注意,在我的示例中,第一列的宽度为 0"。这意味着当用户打开组合框时,它将是不可见的,并且只能看到第二列。但是 Access 会自动知道第一列存储对象的值以及将存储在表中的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-24
      相关资源
      最近更新 更多