代码之家  ›  专栏  ›  技术社区  ›  Dennis

需要一种更好的方法,然后在MS Access中使用if语句

  •  1
  • Dennis  · 技术社区  · 17 年前

    现在我正在开发一个新的数据库,它将显示人们要求对我们的一本手册所做的更改。我有两张桌子和一张表格。第一个表是,所有信息都将存储在手册的参考或分章中,该分章中的当前文本以及建议的更改内容。第二个表格用于分章参考,包含三个字段:ID、subchapter和一个备注字段,其中包含分章所述内容。现在我正在使用一个组合框作为章节参考,并根据参考在另一个字段中填充来自另一个字段的当前文本。以下是我的if声明,以获得更好的想法:

    If code_ref = "82.101(c)" Then
    current_code = "Other County Regulations"
    proposed_code.SetFocus
    End If
    

    我想做的是将这一千条if语句转换成一个查找,在其中检查引用,然后在下一个字段中插入正确的文本。我很难在不完成if语句的情况下找到这样做的方法。我想在更改时这样做,这样他们就可以在引用中循环找到他们想要的内容。有什么建议吗?

    这将如何工作的一个想法是,他们打开表单填写他们的姓名,它所属的项目,使用组合框选择代码引用,一旦他们选择代码引用,将为他们填写当前代码字段框,并将焦点设置在建议的代码字段上,以便他们可以进行更改。

    2 回复  |  直到 17 年前
        1
  •  4
  •   Fionnuala    17 年前

    表中是否有引用,如果没有,能否构建这样的表:

    code_ref     current_code
    82.101(c)    Other County Regulations
    

    有了这样一个表,您应该能够创建一个查询,当选择code\u ref时,该查询可用于显示当前的\u代码。

    您可以创建一个从两个表中选择数据的查询,然后使用向导添加一个组合框来浏览记录。如果您有唯一的键,记录集可能是可编辑的。

    您可以设置一个组合框,用于DLookUp相关表格:

    Me.txtTextBox = DLookUp("FieldYouWantToReturn","TableNameHere","current_code='" _
       & Me.cboCombobox & "'"
    

    DlookUp(简而言之)的方式是:

    DLookUp("FieldYouWantToReturn","TableNameHere","NameOfTextFieldInTable='" _
           & Me.ControlOrValueToCompare & "'"
    


    请注意,该控件不在引号内
    如果要比较一个数字,则不需要引号

    您可以使用带有链接字段当前\u代码的子表单。

    这些只是一些想法,不太清楚您希望用户能够做什么。

        2
  •  1
  •   Smandoli    17 年前

    您需要基于表的查找。根据您的描述,我不确定这是否需要第三个表或第二个表中的附加字段。

    http://www.trigonblue.com/AccessLookup.htm
    http://www.fabalou.com/Access/General/lookup_tables_lut.asp

    不要使用“查找字段”:
    http://www.mvps.org/access/lookupfields.htm

    推荐文章