0

私のマネージャーの 1 人が Access データベースを作成し、いくつかのデータ分析に取り組んでいます。さまざまな条件に基づいて、彼は Access でレポートを作成します。

彼は私にデータ操作をするように頼んだので、私はデータベースを SQL にインポートし、彼が望むことを実行するカーソルを持つルーチンを書きました。次に、結果を Access にエクスポートします。カーソルの使用について熱くなる前に、これは一度だけの取引であるはずだったので、それが私にとって最も速い方法でした。

ご想像のとおり、今では彼は常に実行するように求めており、実行できるように私のルーチンを Access に変換するように頼まれました。SQL だけを使用するように言われる前に、彼は Access に非常に慣れており、頻繁に出張してオフラインにしています。

だから、私の質問は: カーソルを使用して T-SQL クエリを Access に変換する "簡単な" 方法はありますか? Access を使用してから長い時間が経ちましたが、VBA で書き直す必要があるのではないかと思います。別の解決策として、Access からクエリを呼び出して SQL で実行することも考えていますが、それが可能かどうか、または彼がオフラインであるために私のケースで機能するかどうかはわかりません (おそらく彼のラップトップに SQL Express をインストールしますか?)

任意の提案をいただければ幸いです。

ありがとう、アレックス

4

1 に答える 1

1

これは私がそれを回避した方法です:

 1.Downloaded and install SQL server express in the user's machine.
 2.uploaded Access database structure and data to the local SQL.
 3.created the stored procedure that I wanted to run in the local SQL server.
 4.back in Access, deleted all the tables and recreated them as linked tables to SQL
 5.Create a form in Access with a big button that executes the stored procedure
    `Private Sub Command0_Click()
     Dim qdf As DAO.QueryDef
     Set qdf = CurrentDb.CreateQueryDef("")
     qdf.Connect = CurrentDb.TableDefs("ANY TABLE").Connect
     qdf.SQL = "EXEC dbo.[stored procedure name]"
     qdf.ReturnsRecords = False
     qdf.Execute
     Set qdf = Nothing`

ストアド プロシージャは、テーブルの 1 つを切り捨て、テーブルの 1 つを再設定します。実行後、Access でテーブルを開いて変更を確認できます。上司は引き続き Access を使用でき、SQL サーバーはバックエンドで使用されます。ハッピーエンド!:)

于 2013-10-31T15:11:41.843 に答える