将数据字段附加到保存到表中的记录

Posted

技术标签:

【中文标题】将数据字段附加到保存到表中的记录【英文标题】: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) 字段或完全重写当前记录?

【问题讨论】:

【参考方案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

【讨论】:

以上是关于将数据字段附加到保存到表中的记录的主要内容,如果未能解决你的问题,请参考以下文章

使用从数据库传递的id将文件上载链接到表中的按钮

将数据从文件同步到数据库

MySQL - 建议将数据附加到现有字段/记录?

在excel中将数据从外部csv附加到表中

我需要使用表单将许多数据字段添加到表中

Grails数据库迁移-将插入值手动更改日志记录到表中的特定列