当前位置: 首页 > 面试题库 >

如何使用Access窗体中的组合框更新具有外键的记录,但显示该键的查找?

狄赞
2023-03-14
问题内容

我有一些我认为在Access中做起来很简单的事情。

想象一下,我有以下表格(用SQL生成):

CREATE TABLE Projects (
    ID int IDENTITY(1,1) PRIMARY KEY,
    RequestStatus int FOREIGN KEY REFERENCES RequestStatus(ID),
    mName varchar(50)
);

CREATE TABLE RequestStatus (
    ID int IDENTITY(1,1) PRIMARY KEY,
    RequestStatus varchar(50) unique
);

我想在Projects表的Access中创建一个窗体,该窗体具有一个下拉菜单,允许用户更改RequestStatus-但显示varchar(50)值。

例如,如果RequestStatus.RequestStatus值为:

  • (1,“一个”)
  • (2,“两个”)

我想下拉以显示选项“一”和“二”,但实际上,在选中时,更新我Projects.RequestStatus分别为1或2。

我可以很容易地通过组合框将“一个”和“两个”值推入下拉列表中:

  • RowSource =从RequestStatus中选择SELECT RequestStatus.RequestStatus;
  • ControlSource = RequestStatus.RequestStatus

但是,当我更改组合框值时,它尝试将新值插入RequestStatus表中-这显然是一个问题。

如果我将ControlSource更改为Projects.RequestStatus,则不允许我使用“一个”或“两个”指示符进行选择,因为显示的值为1/2等。

我怎样才能做到这一点?


问题答案:

尝试此为您的组合框:

控制源:Projects.RequestStatus
行源:SELECT ID,RequestStatus FROM RequestStatus
绑定列:1
列数:2
列宽:0“; 1”


这样,您的组合框就有两列(ID和RequestStatus),但是第一列是隐藏的,因为其宽度为零。



 类似资料:
  • 我有一个实体,它的复合主键由两个字段组成,其中一个也是复合外键的一部分。 背景:我有实体<代码>人员 、<代码>区域 和<代码>会话 。 与具有多对多关系,使用称为“和实体。 所以,我有,主键为(,)。本身是的外键。 也有一个字段。我希望(,)是的复合外键。 我的PersonSession代码: } 这看起来不错,它在数据库中创建了所有正确的关系。当我尝试插入个性化会话对象时,问题就出现了——ar

  • 我严重卡在一张有复合钥匙的桌子上。我试图用雄辩的口才通过两个主键过滤记录。但是我开始知道雄辩不支持复合键。我经历了许多解决方案,但没有一个解决方案足够清晰,让初学者理解。 解决方案代码表示使用以下代码编辑模型类: 我想使用laravel提供的资源控制器执行更新功能:我的代码如下所示: 另外,请指导我如何使用带有主键的资源控制器,因为它会为一些参数抛出错误?请帮帮我。我读了很多在线文章,真的很累,但

  • 我正在使用phpMyAdmin 我已经创建了2个表:表1和表2。 表1(id)中的 是主键,我忘记在表2中创建外键,而是添加了表2上的所有记录。 问题: 如果表2中没有记录,那么我可以创建外键,但是如果有记录,我们如何创建外键。 我必须在表2中创建外键。我尝试了下面的查询 我在phpMyadmin中出错

  • 问题内容: 我在表中有一条带有错误主键的记录。我想将其更改为正确的值,但该值在许多其他表中使用。 有没有简单的方法可以在同一时间更新主键和外键? 问题答案: 如果将外键设置为级联更改,则值应自动更改。

  • 问题内容: 我已经在hbm文件中添加了复合文件,如下所示 现在我想查询如下 我没有得到相同的结果,因为有一个引用EmployeeSignId的组合键。在这种情况下,如何创建条件查询? 我在下面尝试过但得到0条记录 问题答案: 问题已解决。 我尝试了下面的工作

  • 问题内容: 我试图查看是否可以将组合键中的列之一用作外键。我得到了奇怪的结果。 MySQL允许创建仅引用主键第一列而不引用第二列的外键。这奇怪吗?还是我很愚蠢! 问题答案: 正如有关外键的MySQL文档所指出的那样: InnoDB允许外键引用任何索引列或列组。但是,在被引用的表中,必须有一个索引,其中被引用的列以相同的顺序列为第一列。 NDB在引用为外键的任何列上都需要一个显式的唯一键(或主键)。