2019年3月19日スポンサーリンクAccessのVBAでレコードを操作したいときに利用するレコードセット。レコードセットを使ってデータベースを読み書きする方法はADO接続とDAO接続があります。編集前のeditコマンド取得したレコードセットからデータを抽出する方法ADO・DAOどちらを使うべきか古くから実装されているのがDAOで、後発の接続方法としてADOが利用できるようになりました。DAOもAODもほぼ同じことができるので基本的には処理速度が速い方がいいですよね。一般的には以下のように言われています。Accessのテーブルを操作する場合はDAOの方が速いその他のDBへ外部接続したテーブルを操作する場合はADOの方が速いDAOはAccessのJETエンジンに特化した接続であるため、ACCESSのテーブルへのアクセスがADOより高速です。高速と言っても若干高速ぐらいですので、やりやすい方法で実装し実際の検索があまりにも遅い時にチューニングとしてDAOとAODを切り替えてみるというレベルで良いのでは?と思います。そもそも極端に遅い場合はDAOだ、ADOだという前にSQLの構成に問題がある場合もありますので・・・。今回は顧客テーブルから誕生月が3月ユーザーを検索してプレゼント発送日を更新するという処理を想定してみました。要するに検索+更新のレコードセット操作方法です。"該当データがありません。"処理を終了しました。"該当データがありません。"処理を終了しました。"該当データがありません。"処理を終了しました。"該当データがありません。"処理を終了しました。FunctionADO接続の場合、参照設定が必要です。参照設定されていない場合、実行時以下のエラーが表示されます。Library】にチェックを入れてください。ADOのOpenメソッドのロックタイプ規定値は読み取り専用(adLockReadOnly)となっていますので、adLockOptimisticを指定する必要があります。編集前のeditコマンドDAOの場合、レコードを更新する際は事前に.editコマンドで編集することを宣言する必要がありますが、ADOの場合は不要です。取得したレコードセットからデータを抽出する方法その他、一旦取得したレコードセットからさらにデータを抽出する方法としてfindコマンドがありますが、DAOの場合は複数のフィールドに対して条件を指定できますがADOで指定できる条件は1つだけです。このため複数の条件を指定したい場合はADOの場合filterプロパティを使用します。通常、条件を指定してレコードセットを取得するものですが、それなりの事情があって一旦取得したレコードセットからさらに絞り込む場合です。filter)ADOやDAOで取得したレコードセットからデータを絞り込んで検索する方法にはfindコマンドを使う方法があります。情報システム部門のご相談を承ります。BIツール(QlikSense/QlikView)の開発です。現在はCMSを利用したホームページの作成にも力を入れています。日々巧妙化する悪意ある攻撃。狙われるのは大企業だけではありません。セキュリティ対策が追い付いていない中小企業は犯罪者の恰好の餌食です。情報セキュリティ部門がない、詳しい人がいない...。以下のようなコンボボックスがあります。アズビーパートナーズアズビーパートナーズADOやDAOで取得したレコードセットからデータを絞り込んで検索する方法にはfindコマンドを使う方法があります。アズビーパートナーズアズビーパートナーズ今日はよくあるAccessのレポートを使ったラベル印刷です。VBA】データを更新したユーザー情報を保存する中小企業のセキュリティ~重要なポイントはたった2つ!よく読まれている記事1AccessからVBAでEXCELへ帳票出力する2Accessのインポート定義を編集する方法3AccessのVBAでファイルダイアログからファイルを指定する方法4【WinMerge】を使ってEXCELやテキストファイルの差分を比較する5AccessからVBAでメールを送信する2つの方法スポンサーサイトスポンサーサイト会社のブランディングに、個人の副収入に...▼▼使い方無限大!お問合せは無料です▼▼あなたの会社のセキュリティは大丈夫?HOME知識ベースAccess【AccessVBA】ADOとDAOを使ってレコードセットを読み書きする方法アズビーパートナーズについてアズビーパートナーズはこれまでの社内SEの経験から、あなたの会社の業務の効率化・システム化をサポートします。企業の抱える悩みや解決策を一緒に考え、ベストな提案ができるスポット的な社内SEとしてお役に立ちたいと考えています。アズビーパートナーズ。