2016-12-14 14 views
0

レポート目的で、SQL ServerデータベースからMS Accessデータベースへのリンクを作成したいと考えています。私は過去数年間の価値のテーブルのすべてのデータを必要としません。 Access VBAまたはMS Accessツールを使って、すべての行ではなく必要な行のみをインポートする方法はありますか?フィルタを使用してSQL ServerデータをMS Accessデータベースにリンクする

+1

はい。 Access VBAでQueryDefを作成して、これを行うことができます.QueryDefは、PASS THROUGH QUERYです。パラメータをSQL Serverに渡し、必要な行のみを返します。 もう1つの方法は、テーブル内の列に対応するフィルタ条件値を保持するSQL Server上のテーブルを作成することです。このパラメータテーブルでフィルタリングされたビューを作成します。パラメータテーブルの値をAccessから更新して、ビューの結果を変更します。 – cloudsafe

+2

必要な情報のみを返すSQL Server上のビューを作成することも、これを行う別の方法です。また、このレポートで必要としないデータ列を完全に無視することもできます。 –

+0

私はQueryDefを調べて、それが私が必要とする解決策を提供しているかどうかを見ていきます。ありがとう。 – BrownEyeBoy

答えて

0

私たちのDBAに話を聞きました。私はビューを作成するつもりです。クラウドセキュリティのおかげで、AccessでQueryDefを調べる時間がなかっただけですが、将来の使用のためにメモを書きました。

-1

ODBCを介して外部データタブを使用してAccessのSQL Serverデータベースに接続し、ACCESSのSQLまたはCreateタブのdesingerを使用して必要なデータを照会します。 SELECT * fromテーブルWHERE DATEFIELD>任意の日付

+0

これは、テーブルからすべての行を返し、WHERE句でそれらをフィルタリングします。ネットワークに問題が発生し、速度が遅くなる可能性があります。 – cloudsafe

+0

あなたは私が必要とする行を得るために、すべてのデータをインポートし、それを個別にクエリするのですか?もしそうなら、私はこの方法を使いたくありません。私は必要な行だけを持って来たいと思って、それらの行を照会します。 – BrownEyeBoy

+0

SQL SERVERデータベースにアクセスできますか?その場合は、SQL Server DBにビューを作成し、アクセスによってビューに接続するか、DBAにビューを作成させます。 – niemoy

0

これはAccessから簡単に更新できるSQL Serverのパラメータテーブルの例です。表は、現在のユーザー名とフィルター値で更新または挿入され、ビューによって戻された行が変更されます。

create table Params ( usrname as nvarchar(100) CONSTRAINT [df_load_date] DEFAULT @@SUSER_NAME , pvalue as nvarchar(100)) Insert into params (pvalue) values ('MytableName') Create view vw_test as select * from sysobjects where name in ( Select pvalue from Params where usrname = @@SUSER_NAME)

関連する問題