【问题标题】:Add an existing record from a mainform to a subform when you click on the save button单击保存按钮时,将现有记录从主窗体添加到子窗体
【发布时间】:2013-06-21 23:38:09
【问题描述】:

任何人都可以帮忙,因为我正在努力完成最终结果:

我有一个未绑定的主窗体,一个绑定的子窗体,有两个表 Masterplant 和 PlantTransaction。

当我编辑它显示在主窗体上的记录时,当我保存记录时,它必须复制子窗体中的现有记录,这可行,但诀窍是新记录中的开放时间必须成为我的关闭时间上一条记录,一切正常,只是以前的收盘时间记录中没有显示营业时间,并且 TransactionID 是一个数字字段,必须使用不同的 TransactionID 编号自动递增。任何帮助将不胜感激,在此先感谢!!!

代码如下:

Private Sub cmdSave_Click()
Dim strSQL As String
Dim rst As DAO.Recordset
If IsNull(txtOpeningHRS) Then
  Set rst = Me.RecordsetClone
  If rst.RecordCount > 0 Then
    If Me.NewRecord Then
      rst.MoveLast
    Else
      rst.Bookmark = Me.Bookmark
      rst.MovePrevious
    End If
    txtOpeningHRS = rst!CloseHrs
  End If
End If

If IsNull(Me.TransactionID) Or Me.TransactionID = 0 Then
  Me.TransactionID = Nz(DMax("TransactionID", "PlantTransaction") + 1, 1234)
End If

strSQL = "INSERT INTO PlantTransaction(TransactionID, [Plant Number], Opening_Hours, 
[TransactionDate], [FuelConsumption], [Hour Meter Replaced], Comments, [Hours Worked]) & _ 
   strSQL & "VALUES(" & Me.txtTranID & ",'" & Me.txtPlantNo & "','" & Me.txtOpeningHRS & "',#" & 
   Me.txtTransDate & "#,'" & Me.txtFuelConsFuelHr & "','" & Me.txtHrMtrRep & "','" & Me.txtComments   
   & "','" & Me.txtHrsWorked & "');"
CurrentDb.Execute strSQL
Me.PlantTransactionQuery.Form.Requery
cmdNew_Click
End Sub

【问题讨论】:

    标签: ms-access ms-access-2007 vba


    【解决方案1】:

    将 TransactionID 设置为 AutoNumber 数据类型,这将自动增加它。

    您也可以尝试替换:

    CurrentDb.Execute strSQL
    Me.PlantTransactionQuery.Form.Requery
    

    与:

    CurrentDb.Execute strSQL
    Me!PlantTransactionQuery.Form.RowSource = "Select * from PlantTransaction"
    Me.PlantTransactionQuery.Form.Refresh
    

    【讨论】:

      猜你喜欢
      • 2019-08-01
      • 2015-08-08
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多