初めまして。
早速質問なのですが、VB(6.0)でmdb(Access2000)のDBを更新する処理を作りました。
DAOを用いて(初めて使います)以下のような構文を作ったのですが、
性能がぱっとしません。
何か下記のソースをいじることで性能が改善するような手立てはありませんでしょうか?
----------------------------------------------------------------------
Sub Main()
Dim cDaoDB As DAO.Database
Dim cDaoWS As Workspace
Dim cColUpdate As Collection
Dim varColItem As Variant
Dim lngCnt As Long
Set cDaoWS = DBEngine.Workspaces(0)
Set cDaoDB = mDaoWS.OpenDatabase("C:\TEST.mdb")
'コレクションにデータをaddする処理は省略しています
cColUpdate.add
With cDaoDB
cDaoWS.BeginTrans
'cColUpdateコレクションには10万件ほどのSQL構文(Update構文)が格納されています
'10万回ほど繰り返し処理します
For Each varColItem In cColUpdate
lngCnt = lngCnt + 1
If lngCnt > 1000 Then
'データ量が多いため1000件ごとにコミットしています
cDaoWS.CommitTrans
cDaoWS.BeginTrans
lngCnt = 0
End If
strErrSQL = varColItem
'Update処理が繰り返し流れます。
.Execute varColItem
Next
.Close
cDaoWS.Close
End With
Set cDaoDB = Nothing
Set cDaoWS = Nothing
End Sub
----------------------------------------------------------------------
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
SQLの速度をあげるには・・・
Visual Basic(VBA)
-
Access クエリ実行が急に非常に遅くなりました。
Access(アクセス)
-
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
-
4
ACCESSで一括処理する方法
その他(データベース)
-
5
Access2000 フォーム表示位置が変わる
Word(ワード)
-
6
accessの処理が遅い
その他(データベース)
-
7
複数レコードの複数フィールドを一括UPDATE出来ますか?
Oracle
-
8
【Oracle】ADOでSELECT * FROM ・・・・ を実行すると処理が遅いんです
その他(データベース)
-
9
AccessのDAO.ExecuteとDoCmd.RunSqlの違いについて
その他(データベース)
-
10
Accessのフィールド名に半角括弧を使ってしまった
Visual Basic(VBA)
-
11
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
12
insertを高速化させたい
その他(データベース)
-
13
accessでレコード更新直後の反映について
その他(データベース)
-
14
Access 削除クエリが重い
その他(データベース)
-
15
どこにもフォーカスを当てたくない
Access(アクセス)
-
16
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
-
17
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
18
Accessのテーブルを既存のExcelファイルへエクスポートしたいんですが
Access(アクセス)
-
19
Accessデータベースの最適化をExcelVBAでやりたい
その他(データベース)
-
20
AccessのDAOでフィールド名を配列に格納して・・・
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLServerにおける、排他制御に...
-
Oracleの欠点
-
select for updateのロック
-
Select時に取得行番号を指定す...
-
object browser で処理を中断す...
-
同じSELECT文同士でのデ...
-
DBリンクエラーについて
-
【Access】外部結合を行う前に...
-
特定のスキーマのテーブルを一...
-
GROUP BY で列名は指定できない...
-
Viewにインデックスは張れ...
-
ORA-00959: 表領域'****'は...
-
DBで第1正規形と第2正規形の...
-
異なるスキーマからビュー作成
-
CLOB型へのINSERT
-
Oracle テーブルの列削除
-
Oracleでの登録するユーザーと...
-
データファイルの縮小
-
Oracle Databaseのインデックス...
-
PostgressからMySQL(MariaDB)...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DELETE文でFROM句を省略した場合
-
他の処理でselectさせないよう...
-
RDBのテーブル種類の違い
-
同じSELECT文同士でのデ...
-
object browser で処理を中断す...
-
[性能改善]AccessのDBに大量の...
-
accessでイベントを中止するよ...
-
統計情報の取得=コミットですか?
-
チューニング対象のSQLの見つけ...
-
PL/SQLの平行処理について
-
処理速度の見積もり時間について。
-
Truncate以外で高速にテーブル...
-
ActiveX DLLでのオラクルのトラ...
-
stored procedureの引数について
-
トリガーにてUTL_FILEパッケー...
-
Access2013で操作ログを残した...
-
Oracleの欠点
-
Oracleから見たOracleの優位性(...
-
年度毎にシーケンスの初期化?
-
処理が終わったり終わらなかっ...
おすすめ情報