2

ある Access データベースのテーブルから別の Access データベースのテーブルにデータを移動する必要がある単純なレポート ツールを作成しています (テーブル構造は同じです)。ただし、私は C# を初めて使用するので、信頼できる解決策を見つけるのが難しいと感じています。

任意のポインタをいただければ幸いです。

4

3 に答える 3

1

Access SQL では、IN 句を使用して、テーブルが別のデータベースに存在することを指定できます。次の C# コードは、[YourTable] という名前のテーブルから行を選択し、[YourTable]Database1.accdbという名前の既存のテーブル (同じ構造を持つ) に挿入しますDatabase2.accdb

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;

namespace oleDbTest
{
    class Program
    {
        static void Main(string[] args)
        {
            string myConnectionString;
            myConnectionString =
                    @"Provider=Microsoft.ACE.OLEDB.12.0;" +
                    @"Data Source=C:\Users\Public\Database1.accdb;";

            using (var con = new OleDbConnection())
            {
                con.ConnectionString = myConnectionString;
                con.Open();

                using (var cmd = new OleDbCommand())
                {
                    cmd.Connection = con;
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText =
                        @"INSERT INTO YourTable IN 'C:\Users\Public\Database2.accdb' " +
                        @"SELECT * FROM YourTable WHERE ID < 103";
                    cmd.ExecuteNonQuery();
                }
                con.Close();
            }
            Console.WriteLine("Done.");
        }
    }
}
于 2013-10-16T14:44:51.480 に答える
1

多くの方法。

0) 一度だけの場合は、表をコピーして貼り付けます。

1) Access 内でこれを行う場合、最も簡単な方法は、新しいデータベースにリンク テーブルを作成し、新しいデータベースでテーブル クエリを作成することです。

2) 2 番目のテーブルを直接参照できます。SELECT * FROM TableInDbX IN 'C:\SomeFolder\DB X';

3) マクロでは、DoCmd オブジェクトの TransferDatabase メソッドを使用して関連するテーブルをリンクし、適切な追加および更新クエリを実行して同期することができます。

4) VBA http://www.techonthenet.com/access/questions/new_mdb.php

于 2013-10-16T14:59:19.620 に答える