Ms SQL Server に接続された Access データベース プロジェクトがあります。データ (テーブル) は Ms SQL サーバーに保存され、フォームとレポートは Access .ADP ファイルに保存されます。デザイン ビューを使用してクエリ、テーブル、ビューを作成することはできませんが、SQL クエリを使用してテーブルとビューを作成し、サーバーに保存することはできます。Ms SQL Server Management Studio がなく、オフィスのコンピューターにインストールできません。
したがって、私が望むのは、動的に生成された SELECT SQL クエリのデータシートを取得して、データ分析のために一時的に結果を表示することです。フォームにテキスト ボックスとボタンを配置し、ボタンをクリックすると、テキスト ボックスに記述された SQL クエリの結果を含むデータシートを表示したいと考えています。
私はこれを試しましたが、うまくいかず、私が望むものではないようです:
MS Access VBA - 動的に構築された SQL の結果をデータシート サブフォームに表示する
また、フォームのレコードソース プロパティにクエリを割り当ててみました。空のデータシートが表示されていますが、データシートの下のナビゲーション ウィンドウには、取得された実際のレコード数が表示されています。したがって、機能していますが、データは表示されません。
私は試しました(http://www.pcreview.co.uk/forums/create-query-dynamically-vba-t3146896.htmlから):
Dim db As DAO.Database
Dim qd As DAO.QueryDef
Dim strSQL As String
Set db = CurrentDb
strSQL = "select * from analysts"
Set qd = db.CreateQueryDef("NewQueryName", strSQL)
DoCmd.OpenQuery "db.NewQueryName"
実行時エラー 91、オブジェクト変数またはブロック変数が行に設定されていないことを示していますSet qd = db....
また、(同じページから):
Dim strSql As String
strSql = "select * from analysts"
CurrentDb.QueryDefs("qryExport").SQL = strSql
DoCmd.OpenQuery "qryExport"
行で同じエラーを返しますCurrentDb.QueryDefs....
。
アイデアや回避策はありますか?