【问题标题】:Append a data field to a record saved to a table将数据字段附加到保存到表中的记录
【发布时间】:2015-03-27 11:19:51
【问题描述】:

我有一个通过表单生成的表,然后这些数据会过滤到另一个表单。然后勾选第二个表单,我需要将人员窗口 ID 拉到表中以完成记录集。我一直在追加到表中,但记录都出现在当前保存的数据之后。有没有办法附加到保存的记录中,标识字段是 DateCompleted 和 ClientID。 附加我想要的表的 SQL,尽管在记录之后是 -

INSERT INTO ChecklistResults ( ManagerID )
SELECT ChecklistResults.ManagerID
FROM ChecklistResults
WHERE (((ChecklistResults.ClientID)=[Forms]![TeamLeader]![ComClientNotFin]) AND ((ChecklistResults.DateCompleted)=[Forms]![TeamLeader]![ComDateSelect]));

有没有办法直接附加到记录中的空白 (ManagerID) 字段或完全重写当前记录?

【问题讨论】:

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


    【解决方案1】:

    我解决了我的问题。我有一个缺少一个字段的表,所以我创建了另一个表并在将记录添加到新表时删除了它们-

    Private Sub CmdAppend_Click()
    
    Dim db1 As Database
    Dim rstChe As Recordset2
    Dim rstCom As Recordset2
    Dim qdfChe As DAO.QueryDef
    Dim qdfCom As DAO.QueryDef
    Dim countlbl As Integer
    Dim lblstr As String
    Dim stfid As String
    
    
    Set db1 = CurrentDb
    Set qdfChe = db1.QueryDefs("Get_TL_NTL")
    qdfChe.Parameters(0) = [Forms]![TeamLeader]![ComClientNotFin]
    qdfChe.Parameters(1) = [Forms]![TeamLeader]![ComDateSelect]
    Set rstChe = qdfChe.OpenRecordset(dbOpenDynaset)
    
    Set rstCom = db1.OpenRecordset("CompletedChecklistResults", dbOpenDynaset)
    
    rstCom.MoveFirst
    rstChe.MoveFirst
    
    If rstChe.BOF Then
        MsgBox ("your form did not save please contact administrator")
        Else
        rstChe.MoveFirst
        countlbl = 0
            Do Until rstChe.EOF
            countlbl = countlbl + 1
                rstCom.AddNew
                    rstCom!DateofChecklist = rstChe.Fields("DateofChecklist").Value
                    lblstr = Form.Controls("SC" & countlbl).Controls(0).Caption
                    stfid = Right(lblstr, 7)
                    rstCom!StaffID = rstChe.Fields("StaffID")
                    rstCom!ClientID = rstChe.Fields("ClientID")
                    rstCom!ManagerID = stfid
                    rstCom!Comments = rstChe.Fields("Comments")
                    rstCom!Freq = rstChe.Fields("Freq")
                    rstCom!Questions = rstChe.Fields("Questions").Value
                    rstCom!DateofChecklist = rstChe.Fields("DateofChecklist")
                    rstCom!DateCompleted = rstChe.Fields("DateCompleted")
                    rstCom!DateMngCom = DateValue(CStr(Now()))
                rstCom.Update
                rstChe.Delete
                rstChe.MoveNext
            Loop
    
    End If
    DoCmd.Close
    Set db1 = Nothing
    Set rstCom = Nothing
    Set rstChe = Nothing
    Set qdfChe = Nothing
    
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-05
      • 2021-09-18
      • 1970-01-01
      相关资源
      最近更新 更多