【问题标题】:Ms access adding data to tables via forms女士访问通过表单向表格添加数据
【发布时间】:2018-02-19 10:54:44
【问题描述】:

我目前正在使用 ms 访问表单来查看我创建的表中使用的数据,以使其更加用户友好。

表格如下:

  • tbl课程
  • tblEmployee
  • tbl原因
  • tbl培训

使用其他表中的主键填充训练表。

下列字段:

  • 身份证
  • 员工 ID
  • 日期
  • 课程编号
  • 其他
  • 原因ID

我希望能够使用 ms 访问表单上的文本框和组合框添加到 tblTraining 表。但是,我遇到的问题是只能将数字格式添加到表格中。有没有一种方法可以插入文本,它会找到链接到它的主节点并将其添加到表格中。

例如..

我在表单上的文本字段是:

  • txtTrainingID
  • cbbCourse(显示我们所有可用课程的列表)
  • txt日期
  • txtFirstName
  • txt姓氏
  • cbbReason(显示员工参加培训的原因列表)
  • txt其他

上面列出了培训表上的字段。

这是我用来将员工添加到 tblEmployee 表的代码示例:

Private Sub btnAdd_Click()

If Me.txtEmployeeID.Tag & "" = "" Then

CurrentDb.Execute "INSERT INTO tblEmployee(EmployeeID, FirstName, Surname) " & _
"VALUES (" & Me.txtEmployeeID & " , '" & Me.txtFirstName & "', '" & Me.txtSurname & "')"

MsgBox ("Employee has been added.")

Else

CurrentDb.Execute "UPDATE tblEmployee " & _
" SET EmployeeID = " & Me.txtEmployeeID & _
", FirstName = '" & Me.txtFirstName & "'" & _
", Surname = '" & Me.txtSurname & "'" & _
" WHERE EmployeeID = " & Me.txtEmployeeID.Tag

MsgBox ("Employee has been updated.")

End If

btnClear_Click

Me.txtEmployeeID.SetFocus

Me.subformEmployee.Form.Requery

End Sub

谢谢。

【问题讨论】:

  • 首先,为什么不使用绑定的记录源表单来处理插入和更新需求呢?其次,组合框应绑定到隐藏 ID,但向用户显示其行的文本值(例如,显示 课程名称,但使用查询 rowsource 绑定到 课程 ID )。这样组合框将始终是一个数字。

标签: database vba


【解决方案1】:

我假设您的表格的结构如下所示

tbl课程: ID 自动编号 - 主键

tbl员工: ID 自动编号 - PRIMARY KEY

tbl原因: ID 自动编号 - 主键

tbl培训: ID 自动编号 - 主键 EmployeeID 长整数 - 外键引用 tblEmployee(ID) CourseID 长整数 - 外键引用 tblCourse(ID) ReasonID 长整数 - FOREIGN KEY REFERENCES tblReason(ID)

如果这是正确的,那么回答您的问题,不,您不能在表格上的这些字段中添加文本。由于您的关系结构,它必须是一个数字。

【讨论】:

    猜你喜欢
    • 2013-01-02
    • 1970-01-01
    • 2013-10-05
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多