Mysql 添加新记录而不删除旧记录Ms访问表单

Mysql 添加新记录而不删除旧记录Ms访问表单,mysql,ms-access,vba,Mysql,Ms Access,Vba,谁能帮我拿一下MS Access表格吗 我有一个表单,其中有一个编辑记录的按钮。单击该按钮时,将在特定的选定记录处打开一个新表单。如果该记录已编辑/更新,则应将其添加为新记录,旧记录应按原样存在。由于两个表单都与ID链接,所以,当我编辑记录时,它会在我不想要的同一记录中更新,相反,它应该为它添加新ID和一条记录 任何帮助都将不胜感激 谢谢。此解决方案需要在编辑表单上添加一个新按钮,例如“克隆” DoCmd.OpenForm "YourFormName", acNormal, , "[ID]="

谁能帮我拿一下MS Access表格吗


我有一个表单,其中有一个编辑记录的按钮。单击该按钮时,将在特定的选定记录处打开一个新表单。如果该记录已编辑/更新,则应将其添加为新记录,旧记录应按原样存在。由于两个表单都与ID链接,所以,当我编辑记录时,它会在我不想要的同一记录中更新,相反,它应该为它添加新ID和一条记录

任何帮助都将不胜感激


谢谢。

此解决方案需要在编辑表单上添加一个新按钮,例如“克隆”

DoCmd.OpenForm "YourFormName", acNormal, , "[ID]=" & Me!YourSubformName.Form![ID], acFormEdit, acWindowNormal
打开编辑表单

DoCmd.OpenForm "YourFormName", acNormal, , "[ID]=" & Me!YourSubformName.Form![ID], acFormEdit, acWindowNormal
如果需要限制编辑现有记录,请在编辑表单的
Form\u Load
事件中,将记录集类型更改为快照:

Me.RecordsetType = 2 'Snapshot
单击“克隆”按钮时:

'Create new record
With CurrentDb.QueryDefs("YourInsertQueryName")
    .Parameters("[prmID]").Value = Me![ID]
    .Execute dbFailOnError
End With

'Filter Form to the newly created record
Dim id_ as Long
    id_ = DMax("ID", "YourTableName")

With Me
    .Filter = "[ID]=" & id_
    .FilterOn = True
    'allow edits
    .RecordsetType = 0 'Dynaset
    .Requery
End With

插入查询:

PARAMETERS [prmID] Long;
INSERT INTO tblCap ( Country, Product, [Year], PType, [Values], Notes, Source, Show, [Current],‌​ EnteredBy, Timestamp,‌​ Sector )
SELECT tblCap.Country, tblCap.Product, tblCap.[Year], tblCap.PType, tblCap.[Values], tblCap.Notes, tblCap.Source, tblCap.Show, tblCap.[Current],‌​ tblCap.EnteredBy, tblCap.Timestamp,‌​ tblCap.Sector
FROM tblCap
WHERE (((ID)=[prmID]));

“有一个按钮编辑记录”和“它应该添加新的ID和记录”。。。所以-因为你不能同时停留和离开-你必须下定决心才能继续前进。ID字段是自动编号类型吗?是的,ID是auto number@KostasK。@古斯塔夫,它应该添加新记录,基本上新ID是autonumber。谢谢@KostasK,我真的很感谢你的努力,你太棒了,谢谢你的努力,如果你还有什么想法让我知道,再次感谢你。谢谢,你能再解释一下吗?再次感谢您谢谢,您能告诉我“prmID”是指什么吗?那是因为您的表包含保留关键字。请立即重试。这是将要创建的记录的ID。简单地说,如果您正在编辑记录ID=5,则需要传递该ID。您的表单中是否有子表单?是的,在父表单中是子表单,但在编辑表单中没有子表单。