围绕表格复制

时间:2017-10-17 20:03:13

标签: forms ms-access copy ms-access-2016

有没有办法可以快速模仿表单的所有属性,而不直接复制对象(Ctrl-C& V等)?

编辑:希望复制到完全不同的Access数据库。

3 个答案:

答案 0 :(得分:1)

在设计视图中打开每个表单,将它们设置为等于对象变量,然后将源表单的属性设置为等于目标表单的proeprties。在公共模块中使用这样的功能:

Public Sub UpdateForm(SourceForm as string, DestinationForm as string)
    dim frm1 as new form
    dim frm2 as new form

    set frm1 = forms(SourceForm) 
    set frm2 = forms(DestinationForm}

    '* List the properties you want to copy here:

    With form2
      .RecordSource = frm1.RecordSource
      .Caption = frm1.Caption
      .DataEntry = frm1.DataEntry
      '* And so on for each property
    End With

    docmd.save acform, DestinationForm

End Sub

如果它不是一次性项目,我会包含一些代码来检查并打开表格,如果它们尚未打开。

答案 1 :(得分:0)

File > Options > Object Designers > Form/Report Design View > Form template.

将表单模板设置为现有表单的名称,并将用于所有新表单。

答案 2 :(得分:0)

您可以使用VBA以比DataWriter建议的更简单的方式复制表单对象。

您可以在即时窗口中使用以下语句:

DoCmd.TransferDatabase acExport, "Microsoft Access", CurrentProject.FullName, acForm, "Form1", "Form1_Copy"

其中"Form1"是源表单的名称,"Form1_Copy"是目标表单的名称。