以前、Microsoft Answers で下記の質問をしていましたが、良い回答がなかなかつかないので、あらためてこちらで質問させていただきます。
http://answers.microsoft.com/ja-jp/office/forum/ …
最初の回答にあるSP1のアップデートが出るのを待っていました。
先日、SP1のアップデートが出たので、さっそくインストールしました。
しかし、ほとんど改善されず、せっかく購入したのに使えない状態です。
Microsoft に問い合わせても、「データ量が多すぎるのが原因、それ以上のことはわかりません」といった答えしか返ってきません。
困っています。どなたかぜひお助け願います。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
#1補足です。
http://code.google.com/p/cowares-excel-hello/sou …
ここの 1,353行目に、mdbファイルを開き、
CurrentDb 相当のものを取得する記述があります。
周辺を見れば Access Object との関連は理解できると
思います。
これは Excel VBA ですが、 VBScript でも同じです。
参照設定の代わりに CreateObject になるぐらいです。
これらのキーワードがわかれば、
検索すれば、もっと丁寧に説明したページも出てくると思います。
No.4
- 回答日時:
レジストリですが64bit上の32bitAPの場合
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug]
"JETSHOWPLAN"="ON"
の可能性があります。
この回答への補足
レジストリキーのWow6432がなく、Wow6432Nodeとなっているのですが、それでよろしいのでしょうか。
また、Engines以下にDebugがないのですが、どうすればよろしいのでしょう。
レジストリキーなどふだんさわることがないので、まったくわかりません。
No.3
- 回答日時:
500万件のうち何件ぐらい抽出しようとしているのでしょうか?
結構多いのが、大量のデータ抽出をインデックスを使ったランダムアクセスで行って、CPUは空いていてI/O WAITを起こしているパターンです。
レジストリをいじることになりますが、JETで実行されるSQLの実行計画をファイルに出力することが出来ます。
http://monado.dtiblog.com/blog-category-35.html
ace形式で取得できるかは確認していませんがMDB形式なら
windows7 access 2010 では
レジストリキー
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug]
"JETSHOWPLAN"="ON"
にセットすると\Users\ユーザ名\Documentsに「showplan.out」が出力されます。
これで実際にどんなアクセスをしているか確認してはどうでしょぅ。
No.2
- 回答日時:
テーブルの構造はどうなっているでしょう?
[テーブル名]tbl01
[ID] オートナンバー型 インデックス はい(重複なし)
[日付] 日付/時刻型 インデックス いいえ
[コード] 長整数型 インデックス いいえ
にて提示いただいた下記のコードを実行し500万行にてテストしました。
Sub CreateT()
Randomize
Dim db As Database, rs As Recordset, i As Long
Set db = CurrentDb
Set rs = db.OpenRecordset("select * from tbl01")
For i = 1 To 5000000
rs.AddNew
rs("日付") = #1/1/2011# + Int(1000 * Rnd)
rs("コード") = Int((1000 * Rnd) + 1)
rs.Update
Next
rs.Close: Set rs = Nothing
db.Close: Set db = Nothing
End Sub
選択クエリ内に於いて下記の様なSQLを実行しました。
概ね5秒程度で結果が返ってきます。
"SELECT * FROM テーブル名 WHERE コード = " & コード & " ORDER BY 日付 DESC;"
しかし、[コード]フィールドのインデックスをはい(重複あり)になっていると
結果が返ってくるまで時間がかかり且つ安定しません。
私は、AC2000のJET内のことなので、ACEで64bitの場合は他の影響があるかもしれません。
この回答への補足
テーブルの構造ですが
テーブル名 DATATABL
フィールド
DATE 日付/時刻型 インデックス はい (重複あり)
CODE 数値型 整数型 インデックス はい (重複あり)
以下データ 数値型 テキスト型等 いずれもインデックスなしです
DATE とCODEがともに同じレコードはありません。
No.1
- 回答日時:
オフィス2010も64bit環境も持っていません。
そのため突っ込んだ手助けは出来ませんが、
リンク先を読み、まだ試すべきものがあると思い、
以下に挙げます。
1. VBScript と Excel VBA で試す。
VBScript で同種のコードを試すことにより、
オフィス2010に固有の現象かどうかを確認できます。
Excel VBA は、さらにそれが Access 2010 VBA のみの
現象かどうかを確認する目的です。
VBScript で問題が起きないなら、明確にオフィス2010 VBA の
障害でしょう。
2. 日本語のみのテーブルを作って試す。
これは、フィールド名やクエリ文に日本語があることが
影響しているかどうかの確認です。
日本語固有の問題は現地開発者が気づかないので、
無視されがちだからです。
これで明らかな違いが出れば、
Access 2010 VBA の日本語資源の扱いで起きた障害と断定できます。
3. OpenRecordset に書いたクエリを、Access 側に製作し、
そのクエリを開く。
これで違いが出るようなら、クエリのコンパイル回りで発生した
障害だと考えられます。
1,2,3 のいずれかで、「遅くならない」ものを見つけることができれば、
ハードウェアとは無関係な、 Microsoft 製品のみを原因とした障害です、
と報告できると思います。
この回答への補足
1.について
VBScript の使い方、及び Excel VBA で ACCESS のデータの呼び出し方がよくわかりません。
もう少しくわしくご説明いただけませんでしょうか。
無知で申し訳ありません。
2.について
リンクURLのSQL文は、わかりやすくするために一部日本語で書いていますが、実際はすべて英文字です。
コード・・・CODE、日付・・・DATEなど
3.について
リンクURLの中には書いていませんが、クエリーのデザインビューで作ったクエリーを実行しても、同じくらい時間がかかっています。
回答ありがとうございます。
VBScript の使い方及び Excel VBA で ACCESS のデータの呼び出し方がわかればためしてみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
都道府県穴埋めゲーム
都道府県の名前を1人1つずつ投稿してください。全ての都道府県が出たら締め切ります!
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Access クエリ実行が急に非常に遅くなりました。
Access(アクセス)
-
ODBCの接続に失敗しました(3146)について
その他(Microsoft Office)
-
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
-
4
Accessで検索を高速化
Access(アクセス)
-
5
アクセスのデータ型。数値型についてお聞きしたいのですが・・・
Access(アクセス)
-
6
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
7
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
8
アクセスで、チェックボックスにyesの時、金額表示の方法
Access(アクセス)
-
9
フォームの値をクエリーに反映したい
その他(Microsoft Office)
-
10
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
11
アクセスで『0の値以外』を表示する方法
Access(アクセス)
-
12
Access 削除クエリが重い
その他(データベース)
-
13
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
14
【AccessVBA】レコードセットOpen時の引数について
Access(アクセス)
-
15
Access VBAでクエリーのレコード件数を取得したいのですが
その他(データベース)
-
16
accessの処理が遅い
その他(データベース)
-
17
Access テキスト型に対する指定桁での0埋め方法
その他(データベース)
-
18
access2003 クエリSQL文について
その他(プログラミング・Web制作)
-
19
アクセス データの競合を非表示にしたい
Access(アクセス)
-
20
Access-フォームの小数点以下が切り捨てられてしまう
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで「クエリーが複雑すぎ...
-
ACCESSで2つのテーブル比較で...
-
ACCESSでクエリを作成したら「...
-
SQLです教えてくださいお願いし...
-
追加先の発見方法(SQL以外)
-
アクセスのスナップショット
-
ACCESS のクエリー実行に異常に...
-
ACCESS クエリで重複データを最...
-
Accessのクロス集計クエリから...
-
アクセス 0以外をカウントす...
-
ACCESSで入力フォームをHTMLフ...
-
「メソッドまたはデータメンバ...
-
Access フォーム上でコンボボッ...
-
Accessのフォーム上にレコード...
-
Accessを使って日付を比較したい
-
ACCESSのフォームからデータの...
-
選択したチェックボックスのみ...
-
別のテーブルのフィールドを抽...
-
アクセスでテーブルの変更内容...
-
Accessのフォームに表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS クエリで重複データを最...
-
ACCESSでクエリを作成したら「...
-
「データベースまたはオブジェ...
-
ACCESS クエリで、グループ化...
-
マイクロソフトAccessでsqlのas...
-
追加先の発見方法(SQL以外)
-
access・カウント結果がゼロで...
-
クエリで「データ型が一致しま...
-
ACCESS クエリー 抽出条件が...
-
ACCESS のクエリー実行に異常に...
-
Access あるクエリを利用して...
-
access:連続データ入力
-
Accessで「クエリーが複雑すぎ...
-
Accessのフィルタ検索でデータ...
-
ユニオンクエリについて
-
Accessのクロス集計クエリから...
-
ACCESSにてフィールド間の最小...
-
アクセスでフォームが更新でき...
-
アクセスのスナップショット
-
ACCESSでデータ削除すると「読...
おすすめ情報