MS ACCESS VBA编码提交按钮,用于输入一周中每一天的数据

时间:2015-04-24 19:30:00

标签: database forms vba ms-access access-vba

我目前正在尝试创建一个表单,以便在一天内分配的小时数内输入。

每个条目有5个方面:

  • 日期
  • 资源
  • 项目
  • 位置
  • 小时

关于表单的棘手部分是我希望能够同时输入任何给定周的所有5天的记录。

表单设置为顶部的4个ComboBox:

  • 资源
  • 项目
  • 位置

底部是5个TextBox,每个TextBox标有各自的星期几。

我对VBA很新,但从我通过研究收集的内容来看,实现这一目标的最佳方法是通过提交按钮后面的VBA代码。

代码需要提交5条记录。每个星期一天的记录。资源,项目和位置字段将直接来自组合框,并且对于所有5条记录都是相同的。小时字段将来自对应于一周中每一天的5个文本框中的一个。并且日期字段将使用星期组合框来填充,但它必须根据它提交的记录(周二,+ 1,周三,+ 2,......)添加天数。

所以我知道我想做什么,但我一直在研究VBA,并试图学习如何实现这一点,这让我感到困惑。

我非常感谢任何人可以提供的关于如何设置提交这些记录的代码的任何帮助或建议。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您需要一个SQL-Insert语句:

Private Sub SubmitButton_click()
  Dim qry as String
  Dim db as dao.database
  Set db = currentdb

  'First date
  qry = _
    "INSERT INTO YourTable
    "(" & Me.TxtDate1 & ", " & Me.cboResource & ", " & Me.cboProject & ", " & Me.cboPosition & ", " & Me.cboWeek & ");"
  db.execute qry

  'Second Date
  qry = _
    "INSERT INTO YourTable
    "(" & Me.TxtDate2 & ", " & Me.cboResource & ", " & Me.cboProject & ", " & Me.cboPosition & ", " & Me.cboWeek & ");"
  db.execute qry

  'Third Date
  qry = _
    "INSERT INTO YourTable
    "(" & Me.TxtDate3 & ", " & Me.cboResource & ", " & Me.cboProject & ", " & Me.cboPosition & ", " & Me.cboWeek & ");"
  db.execute qry

  'Fourth Date
  qry = _
    "INSERT INTO YourTable
    "(" & Me.TxtDate4 & ", " & Me.cboResource & ", " & Me.cboProject & ", " & Me.cboPosition & ", " & Me.cboWeek & ");"
  db.execute qry

  'Fifth Date
  qry = _
    "INSERT INTO YourTable
    "(" & Me.TxtDate5 & ", " & Me.cboResource & ", " & Me.cboProject & ", " & Me.cboPosition & ", " & Me.cboWeek & ");"
  db.execute qry

  set db = nothing

End Sub

有关插入语句的更多信息:http://www.w3schools.com/sql/sql_insert.asp

此代码不适用于现有记录的更改!为此,您需要更新语句:http://www.w3schools.com/sql/sql_update.asp