【问题标题】:MS Access Table>Query>Form Design IssueMS Access 表>查询>表单设计问题
【发布时间】:2021-09-05 01:33:04
【问题描述】:

我有两个表、一个查询和一个表单,但我无法让它按照我想要的方式运行。 Employee ID(表1)和Employee(表2)之间形成表1和表2之间的关系

员工(表 1)

  • 员工 ID(密钥)
  • 员工姓名
  • 状态

出勤率(表 2)

  • 考勤 ID(密钥)
  • 员工
  • 日期
  • 注意

员工查询

  • 返回 Status="Active" 的任何员工的员工 ID 和员工姓名

考勤表(此表用于将记录输入表2)

  • 出勤 ID(表 2)
  • 员工(员工查询下拉列表)
  • 日期
  • 注意

基本上我想要的是让表单像这样工作:

  • 显示“活跃”员工姓名的下拉菜单
  • 将员工 ID 保存回表 2
  • 在表单中显示员工姓名而不是 ID

我遇到的问题是表单想要显示员工 ID 而不是姓名。这对于数据输入不实用,但我仍然希望表单将员工 ID 发送到表中,以便我们可以运行查询和报告。

【问题讨论】:

  • 在下拉框旁边放置一个文本框并使用DLOOKUP()函数显示员工姓名。您也可以使用ComboBox.Column() 属性来显示名称。

标签: forms ms-access


【解决方案1】:

建议不要在命名约定中使用空格。

设置组合框属性,如:

控制来源:员工
列数:2
列宽:0";1"
BoundColumn: 1
行源:SELECT EmployeeID, EmployeeName AS FullName FROM Employees ORDER BY EmployeeName WHERE Status = 'Active';

这将显示名称但保存 id。

员工姓名部分确实应该在单独的字段中:FirstName、MiddleName、LastName。然后 RowSource 喜欢:
SELECT EmployeeID, LastName & ", " & FirstName & " " & MiddleName AS FullName FROM Employees WHERE Status='Active';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多