![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
いつも楽しく勉強させていただいております。
環境はWin7、Office2007、MySQL5.5.28です。
データはMySQL上にあり、それを集計した結果をExcelまたはcsv形式で取り出すプログラムを開発中です。
集計の表側(ブレークダウン)や絞込みの条件は可変なので、AccessでMySQLに渡すコマンドを編集し、テキストファイルとして出力します。
このテキストファイルを実行するのに目下のところ次の二通りで行っています。
1.MySQLのクライアント画面から下記のように実行
source C:\Users\meglin\Documents\サマリー.sql
2.コマンドプロンプト画面から下記のように実行
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql" -u root -D meglindb -proot < C:\Users\meglin\Documents\サマリー.sql
どちらの方法でも快適に動きます。
近々そのプログラムを運用ベースに乗せたいのですが、オペレーションをする上司が「あの黒い画面(MySQLのクライアント画面/コマンドプロンプト画面)を触るのがコワイ。すべてAccessから対応できないか」と言います。
要するに上記コマンドのサマリー.sqlをAccessの中から起動したいのです。
できますでしょうか。
おそらくShell関数を使うのだと思って下記のように書いてみたのですが、うまく動いてくれません。
Shell("""C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql"" -u root -D meglindb -proot < C:\Users\meglin\Documents\サマリー.sql")
どうしたらいいでしょうか。
最初はAccessからMySQLにODBC接続とADOで1行ずつ実行してみたのですが、集計の列と行が多いので処理時間がかかり実用的ではありません。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>黒い画面
vbsなどで以下のような処理をしてみては?
'test.vbs
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("コマンド・・・", 0)
yambejpさん、回答ありがとうございます。
結果からいうとNGでした。
Ret = WshShell.Run("""C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql"" -u root -D meglindb -proot < C:\Users\meglin\Documents\サマリー.sql",0)
としてみたのですが、結果は変わらず(正常に動けば集計後のイメージのテーブルができます)。
第二パラメータの0を取って
Ret = WshShell.Run("""C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql"" -u root -D meglindb -proot < C:\Users\meglin\Documents\サマリー.sql")
とやってみたのですが、黒い画面が一瞬開いて文字列がどーっと流れるのが見えるのでMySQLの起動はできているのだと思います。
yambejpさんのヒントは参考になりましたが、きっと私のサマリー.sqlファイルを渡す書き方がマズいのでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- MySQL XamppでインストールしたMySQLのフォルダのWinRARでのバックアップについて 1 2022/06/22 18:55
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- PHP PHP & MySQL: Server-side Web Development ペーパ 1 2022/04/19 19:23
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel-VBAの「しばらくお待ちく...
-
accessでSQLをファイルから実行...
-
バッチからSQLCMDを実行する方法
-
ストアドの速度がクエリの30...
-
バッチからメンテナンスプラン...
-
MS Accessでクエリー実行時の確...
-
ユーザー定義関数内でのsp_exec...
-
AccessのDAO.ExecuteとDoCmd.Ru...
-
データベース SQL のセッショ...
-
SQL Server 2008 のメンテナン...
-
Accessからストアドプロシジャ...
-
ストアドプロシージャでcsvファ...
-
ストアドプロシージャーでバッ...
-
SQLServerのジョブからバッチを...
-
VBAからMySQLにコマンドファイ...
-
アクションクエリが実行できない
-
サーバーと実行端末が違う場合...
-
xp_cmdshellについて
-
Oracle 8i コンマ(,)を含むデ...
-
ACCESSで作成したアプリケーシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel-VBAの「しばらくお待ちく...
-
AccessのDAO.ExecuteとDoCmd.Ru...
-
ユーザー定義関数内でのsp_exec...
-
SQLCMDにて教えていただきたい...
-
ストアドの速度がクエリの30...
-
sqlcmdでクエリの実行結果をバ...
-
バッチからメンテナンスプラン...
-
UPDATE時のSETの実行順について
-
サーバーと実行端末が違う場合...
-
ストアドプロシージャでcsvファ...
-
ストアドプロシージャーでバッ...
-
オラクルインストールユーザ以...
-
同じSQL文で速度がだいぶ違う
-
100万件レコードdelete
-
【Oracle】ADOでSELECT * FROM ...
-
静的SQL、動的SQL?
-
SQLサーバーのジョブでのexeフ...
-
IDENTITY列を持つテーブルへBCP...
-
SQLServer2005のストプロでxp_c...
-
Excelフィルタ抽出で「検索して...
おすすめ情報