アプリ版:「スタンプのみでお礼する」機能のリリースについて

データタブ⇒その他のデータソース⇒Microsoft Query⇒クエリウィザードを使ってデータ抽出を行ないました。同一ブック内に元となるデータシート、抽出データシートを作成しています。こここまではうまくできました。しかし、作成したブックを同一パソコンの別フォルダに移動したところ、エラーが出てデータ接続ができません。具体的には、「実行時エラー'1004' 一般エラー ODBCエラー」がでます。ブックを元の場所に戻すとエラーが出ずきちんと集計できます。作成したブックを移動してもデータ接続を行い、クエリがきちんと実行できるようにするにはどうしたら解決するでしょうか?もう一度ウィザードからやるのは大変です。

データ参照場所を再設定すればできそうなのですが、やり方が分かりません。例えばマイドキュメント⇒デスクトップにブックを移動した場合だとどのようになりますか?自分でも調べて試してみたのですがうまくできません。よろしくお願いします。

A 回答 (2件)

2003互換Bookの場合、


[データ]-[接続]、[プロパティ]、[接続のプロパティ]の[定義]タブの
「コマンド文字列」内の FROM句 にもファイルフルパスがあるようですね。
ここも書き換えてください。
書き換え後、ダイアログを閉じる時にエラーメッセージが出る事もあるかもしれません。
その場合は取り敢えず続行させてください。
改めて[更新]すれば、その後は継続して更新可能になるかと思います。
    • good
    • 0
この回答へのお礼

クエリ編集 ⇒SQLボタン⇒SQLステートメント

の編集項目でFROM句の編集を行ったところ、あっさりできました!

ありがとうございました。

お礼日時:2011/06/30 11:21

『実行時エラー'1004'』ですか?


それはマクロでの実行時エラーのようですが、どのような操作で出ますか?

手作業で[更新]したらどうなりますか?
~~~~~~
通常だと
QueryTable範囲のセルを右クリック[更新]。
「ODBC Excelドライバログインの失敗」メッセージが出て[OK]。
[ブックの選択]ダイアログが出るので自Bookを選び直す。
..この手順で再設定できますが。

または
[データ]-[接続]、[プロパティ]から[接続のプロパティ]を表示させて
その[定義]タブの「接続文字列」のパスを書き換える方法でもできます。

この回答への補足

回答ありがとうございます。

ご指摘の通り、『実行時エラー'1004'』はマクロ実行時に出るので、手動更新で試してみましたが、やはり同じエラーが出ました。エラー内容は、

「[Microsoft][ODBC Excel Driver]オブジェクト'元データ$'(←シート名)が見つかりませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください。」とポップアップ画面が出ます。

ブックはマイドキュメント⇒デスクトップに移動しただけです。接続文字列の指定が違っているのでしょうか?

また[定義]タブ「接続文字列」には、「DSN=Excel Files;DBQ=C:\Users\admin\Documents\6月1日.xls;DefaultDir=C:\Users\admin\Documents;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;」と書かれていたので、Documentsという2箇所の文字列をDesktopに変更したのですが、今度は「ODBC Excelドライバログインの失敗」メッセージが出ます。[OK]ボタンを押下し、[ブックの選択]ダイアログが出るので自Bookを選び直しました。ところが、やはりパス名が正しくありませんとエラー画面が出ます。

ちなみに元データシートはデータの元となるシートで、クエリを実行して別のシート(sheet1)にデータ抽出しています。元データシートにクエリはないので、接続パスの変更はこのsheet1の接続文字列を変更しています。

将来的にはこのブックをマイネットワーク上に置きたいので、ブックを移動した場合の文字列設定をここで身に付けたいと思ってます。お手数ですがよろしくお願いします。

補足日時:2011/06/29 21:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!