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

How to create a Lookup field in Microsoft Access 2013 using SQL?

请问如何在 Microsoft Access 2013 中的 table 中创建查找字段(使用 CREATE TABLE 语句在 SQL) 中,它在数据表视图中提供了一个下拉框,允许用户在该字段中 select 一个或多个条目?

示例如下(用户可以在Fav_Fruit[=30=的下拉框中选择he/she喜欢的水果] 字段):

下拉控件的值是从另一个名为 Fruits(存储在同一 Access 数据库中)的 table 获得的,如下所示:

请指教

谢谢。

设拉子,

这些是您需要在 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

此示例使用值列表(值字符串)。如果您希望值来自另一个 table/query,请试验这些属性:

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