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

DoCmd.TransferDatabase acExportAccess VBAでは、ソース データベースをターゲットとして使用し、(もちろん) 別の宛先テーブル名を指定して、 を使用して実行できます。vb.net に
相当するものがあるかどうかはわかりませんが、それが最も簡単な方法かもしれません。DoCmd

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