1

我有一个 Access 2007 数据库,当我打开它时,我可以在 Access 应用程序中复制和粘贴一个表。我可以选择仅复制结构或结构和数据。就我而言,我只需要结构。副本保留原件的索引和键。我需要用 VB.NET 来做这件事。到目前为止,我已经查看了许多文章,并且能够通过发出 SQL 语句来复制表结构

Dim dbCmdInsert As New OleDbCommand
With dbCmdInsert
    .CommandText = "SELECT * INTO tmpTable FROM Trips WHERE 0=1;"
    .CommandType = CommandType.Text
    .Connection = connNavDb
    Dim n As Integer = .ExecuteNonQuery
End With

这复制了没有记录的结构,这是我想要的,但索引和键丢失了。我似乎无法找到完成此任务的良好指导。

4

3 回答 3

1

确实非常粗略:

    Dim oAccess As New Access.Application

    ''Open a database
    oAccess.OpenCurrentDatabase("z:\docs\test.accdb")
    ''"Import" table 
    oAccess.DoCmd.TransferDatabase(
        Access.AcDataTransferType.acExport, "Microsoft Access", "z:\docs\test.accdb", _
        Access.AcObjectType.acTable, "table1", "newtable1", True, False)

另请参阅 c#:使用 C# 或 SQL 复制 Access 表结构和约束

于 2012-07-01T08:45:30.867 回答
0

在 Access VBA 中,您可以DoCmd.TransferDatabase acExport使用源数据库作为目标,提供(当然)不同的目标表名称。
我不知道是否有DoCmd与 vb.net 等效的方法,但这可能是最简单的方法。

于 2012-07-01T08:30:39.867 回答
0
DoCmd.TransferDatabase acExport, "Microsoft Access", CurrentDb().Name, acTable, "Table1", "TableToCreate", True
于 2017-09-21T01:43:38.447 回答