如何使用SQL在Microsoft Access 2013中创建查找字段?

时间:2016-09-24 12:17:29

标签: sql ms-access ms-access-2013

我可以查询如何在Microsoft Access 2013中的表中创建查找字段(使用SQL中的 CREATE TABLE 语句),该字段在数据表视图中提供下拉框允许用户在字段中选择一个或多个条目?

示例如下所示(用户可以从 Fav_Fruit 字段的下拉框中选择他/她喜欢的水果):

enter image description here

下拉控件的值来自另一个名为 Fruits 的表(存储在同一个Access数据库中),如下所示:

enter image description here

请告知。

感谢。

1 个答案:

答案 0 :(得分:1)

西拉,

这些是您需要在VBA代码中创建的属性。这是你的选择吗?

Function AddLookupField()


    Dim db As DAO.Database
    Dim fld As DAO.Field
    Dim prp As DAO.Property
    Dim tdf As DAO.TableDef

    Set db = CurrentDb
    Set tdf = db.TableDefs("MyTable")

    Set fld = tdf.CreateField("Fav_Fruit", dbText)
    tdf.Fields.Append fld

    Set prp = fld.CreateProperty("DisplayControl", dbInteger, AcControlType.acComboBox)
    fld.Properties.Append prp

    Set prp = fld.CreateProperty("RowSourceType", dbText, "Value List")
    fld.Properties.Append prp

    Set prp = fld.CreateProperty("RowSource", dbText, "Orange; Pear; Apple")
    fld.Properties.Append prp


End Function

此示例使用值列表(值字符串)。如果您希望值来自另一个表/查询,请尝试使用以下属性:

Set prp = fld.CreateProperty("RowSourceType", dbText, "Table/Query")
fld.Properties.Append prpProperty
Set prp = fld.CreateProperty("RowSource", dbText, "SELECT ID FROM SomeOtherTable")
fld.Properties.Append prpProperty