• 締切済み

AccessVBAでADOとDAOとDoCmd

いつもお世話になっています。access超初心者です。 いろいろまちがっているかもしれませんが、よろしくお願いします。 フォームやクエリを使うのにDoCmd、検索はSQL文、 テーブルとの接続やデータの追加はDAOですが、 Access以外のデータベースの値も必要なのでADOも使用して・・・と考えています。 たとえば、データがあるかを確認するにはフォームを開き、そこのテキストボックスに探すデータを入力、ボタンをクリックすると DoCmdで表示用フォームを用意、SQL文で検索、DAOで検索結果を表示・・・としていますが、このように一つのデータベースを作成するのに、DoCmdやDAOやADOの使用が入り乱れてもよいのでしょうか? まったく知識がなく学習本を頼りにしていますので、ツギハギだらけになってしまっているのでは?と不安です。 アドバイスのほど、よろしくおねがいいたします。

みんなの回答

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.1

一つの方法です フォームを開く前に探すデータが確定している必要があります。 1.フォームをデザインビューで開き 2.[プロパティシート]ツールをクリック 3.データタグ内の[レコードソース]の右端をクリックするとクエリビルダが表示 4.抽出条件行に[]付きで[氏名]と入力 以上の準備の後 フォームを開くと、開く前に[氏名]の入力を促す画面になります 尚、実用的には、別フォームで検索項目のボックスを用意して於くのがよいでしょう。   ボックスは、テキストボックスに限らず、コンボボックスも可です。   []内には、[forms]![検査フォーム名]![氏名] とします。

okwv-first
質問者

お礼

回答ありがとうございました。 こうした方法もあるのですね。参考になりました。

関連するQ&A

  • DAOとADO 違いは何ですか?

    アクセスを使っていますが データベースを操作する方法に DAOとADOがありますが、 この二つの違いは何ですか? コードの書き方が違うだけでしょうか?

  • DAO

    AccessのDAOでの質問です。 クエリーを削除しないでWhere、Order旬の部分のみをSQL文で書き換えたいのですが、書き換えたい部分はフォーム上で選択します。お知恵をおかしください。

  • DAOとADOの違いについて

    Accessからイントラネット上のデータベースに接続するための接続方法で困っています。 DAOとADOの違いが分からず困っています。 メリット、デメリットが分かる方、どうか教えてください。 宜しくお願い致します。

  • ACCESSでレコード数の数え方(ADO,DAOなしで)

    ACCESS2000でデータベースを作っています。ADOやDAOは使っていません。 質問はタイトル通りなのですが、ADOやDAOなら簡単なのですが、訳あって それらは使えません。 色々調べてみたのですが・・・。 どなたかお知恵を貸していただけないでしょうか? P.S. 質問No.689217"ACCESSで実行時エラー3008"を質問しましたが、解決しました。 フォームの定義でロックをかけていました。(⌒ ⌒; いつもはVBで作っているのですが・・・、はやとちりのようでした。お騒がせ しました。

  • AccessVBAにおけるADOとSQLについて

    AccessVBA(Ver.2000)を使用しております。 ADOとSQLを市販のテキストで最近学び始めたばかりの者です。 調べ方が悪いのか、疑問なので教えてください。 例えばテーブルデータの更新をする際にSQLとADOのいずれでも可能かと思いますが、両者の違いはあるのでしょうか? こういう場合はSQL、こういう場合はADOを使用するのが良いというのがあるのであれば教えていただけたらと思います。 どうぞよろしくお願いいたします。

  • 今からDAOを勉強することは役に立ちますか?

    ADOは少しわかるのですが DAOについてはあまりよくわかりません。 なのでDAOも勉強しようかなと思いますが 世間的にはもう使われていないのでしょうか? 普段は アクセス⇔SQLサーバーを使っての業務をしています。

  • S2Daoによるデータ保管

    お世話になります。 現在S2Daoを使ってJAVAからデータベースへアクセスする勉強をしております。下記のサイトなどを参考にさせてもらっております。 ?http://d.hatena.ne.jp/tetsuya411/20080201/1201874112? データベースはHSQLDBを使用しております。 <質問>  Eclipseからサンプルのプラグラムは問題なく実行できるのですが、JAVA実行内でDaoを経由してデータベースに保管?し利用しているのですがJAVAを終了してデータベースを直接のぞくとINSERTしたデータが残っていません。しかし、SQL文で直接INSERT文を発行するとデータベースにデータが残っています。 つまり、JAVA実行時のメモリー上でしかデータが残っていないようなイメージなのですがデータベースにデータを残すにはどうすればいいのでしょうか? ちなみにHSQLDBの設定はデフォルトのままです。 以上

  • Access ADO パラメータークエリー

    Access ADOでフォームのコントロールを参照するパラメータークエリーを開こうとすると、どうしても「SQLステートメントが正しくありません・・・」のエラーが発生してしまいます。 もちろん、クエリー単体では正常に動作しますが、クエリーのパラメーターに参照するコントロールを登録してもADOでは開けません。 現在はパラメータークエリーの抽出結果を一時テーブルに書き込んで、これをADOで開くという非効率極まりない方法で凌いでいますが、どうすれば良いのでしょうか。

  • 現在Accessで開発をしています

    現在Accessで開発をしています ライブラリはADOを使用しております メインフォーム データ検索 帳票フォームに全データを出力 サブフォーム1  修正/削除  連結フォームにフィルタをかけて修正/削除を サブフォーム2  追加 非連結フォームで追加処理を データ件数が多いのと項目数が多いのでメインフォーム上では 修正/追加/削除はやらず サブフォーム(単票フォーム)を呼び出しそこでやる ことにしています 本当はサブフォーム1だけで修正/削除/追加をしたいのですが ADOだと非連結のフォームでは更新ができないとわかり 連結フォームで対応しました DAOでやろうかとも考えましたが、ADOとDAOの共存はメンテナンス等を踏まえ やめました。また、DAOは入りにくいのも理由です ちなみにSQLサーバーは将来使用しません あくまでAccess単体(MDB)のみの開発をすると想定して みなさんは、以下の3つどのパターンで開発をしていますか? 1、ADOのみ 2、DAOのみ 3、ADOとDAO両方 また、理由もお聞きしたいです よろしくお願いします

  • ADOからAccess固有のSQLを使うに

    お世話になります。 現在困っていることがありますが、Accessのフォームで作った簡易システムの保守および機能追加を行っているのですが、Accessの固有のSQL(独自のクロス集計関数やワイルドカードが%ではなく、*になる等)をADOから呼び出すとデータが取り出せません。 固有形式のSQLを使っているクエリを使うとデータ数が0になっていたので、原因はすぐ分かりました。 しかしすでに構築されているSQLをすべて直すのは少し現実的ではなく、バグを誘発する、クロス集計関数が使えないなどの理由で当然のごとく却下されました。 AccessのVBAを使ってコーディングしてる方は、Access固有SQLをプログラムで使う(または使っているクエリを参照する)場合、どのような方法を使っているのでしょうか? どうぞよろしくお願いします。

専門家に質問してみよう