
ADOでエクセルからアクセスにデータを追加したいだけなのですが
「CursorType」と「LockType」がどれが適切かわかりません。
CursorType
0 adOpenForwardOnly レコードの前方スクロールだけが可能な静的カーソル。 (デフォルト)
1 adOpenKeyset 他のユーザによる変更データを参照可能。但し、追加データは参照できず、削除データにはアクセスできない。
2 adOpenDynamic 他のユーザーによる追加、変更、削除の操作が即座に反映される。
3 adOpenStatic レコード集合のコピーによる静的カーソル。前方、後方への移動が可能。
LockType
1 adLockReadOnly 読み取り専用。
2 adLockPessimistic レコード単位での排他的ロック。編集操作開始時にレコードをロックする。
3 adLockOptimistic レコード単位での共有的ロック。Updateメソッドを呼び出し時にレコードをロックする。
4 adLockBatchOptimistic 共有的バッチ更新。即時更新モードに対するバッチ更新モード。
・エクセルもアクセスも使用しているのは自分ひとりです。
・LockTypeについては
Updateメソッドを使用してアクセスにデータを追加するため「adLockOptimistic」が適切かなと思うのですが
CursorTypeの静的・動的がわからず判断できません。
ご教授よろしくお願いします。
No.2ベストアンサー
- 回答日時:
私自身はADOは使用していないのですが・・・(汗)
ADOのOpenRecordSetでCursorTypeやLockTypeが問題になるのは、
開いたレコードセットに対して何らかの編集や逆方向へのレコード移動
をする場合なのではないかと思います。
ですので、「ADOでエクセルからアクセスにデータを追加したいだけ」と
いうのが「ExcelのデータをADO経由で参照して、Access側に用意した
テーブルに転記していく」(=データを参照するのみ)ということだとしたら、
CursorTypeやLockTypeは特に気にしなくてよいのではないでしょうか。
(「データ型の不一致などにより処理が中断した場合に、どのデータまで
Accessに転記したかをExcel側に記録したい」といった場合には、
Excelの編集が可能なようにLockTypeを選択する、といった必要性が
生じるとは思いますが:
転記の進行状況だけならAccessとExcelのレコードを照合すれば判別
可能ですが、一例として)
なお、ご質問の内容からすると、ADOにこだわらず、
「DoCmd.TransferSpreadsheet」でも対応可能なように思えますので、
併せて参考まで。
「ExcelデータをAccessで直接編集」という意味でしたらすみません(汗)
No.1
- 回答日時:
参考になりますかね?
Recordsetオブジェクトの作成(ADO編)
http://www.geocities.jp/cbc_vbnet/ADO/recordset. …
|Updateメソッドを使用してアクセスにデータを追加するため「adLockOptimistic」が適切かなと思うのですが
CursorTypeは動的でないと駄目ですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- ドメイン・サーバー・クラウドサービス 独自ドメインでのNSレコード設定 1 2023/07/12 18:36
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- Excel(エクセル) エクセル テーブル機能の不明点 2 2022/04/14 14:10
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Word(ワード) LibreOfficeで数年保存しているデータの変更作業 4 2022/07/08 17:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードが存在しなかった場合
-
差し込み印刷のレコード数について
-
DataGridViewの、選択されてい...
-
ACCESSで大量の更新を行うと「...
-
ADO VBA 実行時エラー3021
-
アクセスでレポートの1印刷内...
-
JSPのNULLレコード表示について...
-
DataGridViewの内容をDBに反映...
-
レコードセット(ADO.Recordset)...
-
Access を×ボタンで閉じ...
-
ソート処理について
-
VBAで制御コード付きテキストフ...
-
ワードの差込印刷で教えて下さ...
-
AccessVBAのSQL文が突然エラー...
-
ACCESS VBA テーブルデータに...
-
Accessでレコードの更新を任意...
-
ヘッダレコードとトレーラレコ...
-
固有レコード識別子の選択とは
-
カレントレコードが無い事を判...
-
Access フォーム 選択されてい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードが存在しなかった場合
-
DataGridViewの、選択されてい...
-
ADO VBA 実行時エラー3021
-
差し込み印刷のレコード数について
-
ACCESSで大量の更新を行うと「...
-
ファイル書込みで一行もしくは...
-
カレントレコードが無い事を判...
-
ワードの差込印刷で教えて下さ...
-
アクセスでレポートの1印刷内...
-
DataGridViewの内容をDBに反映...
-
[VBA] ADOの Clone と AddNew
-
固有レコード識別子の選択とは
-
JSPのNULLレコード表示について...
-
Access を×ボタンで閉じ...
-
サブフォームに新規レコードを...
-
データセットのレコード更新が...
-
サブレンジ分割されたNDB(富士...
-
レコードセット(ADO.Recordset)...
-
DataGridViewにてセル以外をク...
-
COBOLでのランダムアクセス
おすすめ情報