• ベストアンサー

ACCESSでメッセージにクエリ結果を表示なんてできるの?

メッセージを設定していますが、その中にクエリでの結果を表示させるなんて事できるんでしょうか? クエリ結果を表示させて、これでOKorNOなんてできたらすごくいいなーなんておもうのですが、、、

質問者が選んだベストアンサー

  • ベストアンサー
  • CHOROLYN
  • ベストアンサー率60% (14/23)
回答No.7

 一度設定すれば大丈夫ですが、NT,2000系OSと98,ME系OSではライブラリへの参照がちょっと違うのか、やり直す必要があります。参照設定をやり直さなくても使用できますが、たまにAccessが終了できなくなったりしますので。  ネットワークに入れて同時使用するのでしょうか?データが壊れる危険性が高いのでちょっとこれはオススメできません。同時使用しないのなら支障ありませんが、同時使用する場合はデータ部分とプログラム部分をわけてリンクする必要があります。

desk34
質問者

補足

同時使用はしないつもりですが、、たまには知らず知らずにしてしまうかも、、、 データだけリンクして別で保存するのですね? 一度調べてみます。簡単ですか?

その他の回答 (6)

  • CHOROLYN
  • ベストアンサー率60% (14/23)
回答No.6

今はADOとDAOが共存している状態ですか? でしたら Dim rsResult As DAO.Recordset としてみて下さい。

desk34
質問者

お礼

できました。 ありがとうございます。DAOの設定はファイルにされるんですよね?一度設定すればいいんですよね?ネットワークドライブに上げてみんなで使おうと思っているのですが問題ないですよね? まだまだ、勉強不足ですので、これからDAOやADOも勉強していきます。

  • CHOROLYN
  • ベストアンサー率60% (14/23)
回答No.5

2点確認して下さい。 ・すべてのモジュールをコンパイルは正常に出来ますか? ・他にDAOを使うモジュールは動作していますか?他にない場合、参照設定でDAOにチェックが付いていない事も考えられます。他でADOを使っている場合はADOの下にDAOを入れて、使っていない場合はADOを取り消しDAOにチェックをつけてみてください。

desk34
質問者

補足

DAOのチェック入ってなかったです。チェックいれました。 が、今度は型が一致しません。となってしまいました。 型ってデータの型ですか?

  • CHOROLYN
  • ベストアンサー率60% (14/23)
回答No.4

DAOを使用する場合です。 Dim rsResult As Recordset Set rsResult = Currentdb().OpenRecordset("クエリー",dbOpenSnapShot) If rsResult.EOF=False Then if MsgBox(rsResult("最大日付")&"でいいですか?",vbYesNo,"確認")=VbYes Then Else End If End If rsResult.Close でどうでしょうか?

desk34
質問者

補足

Set rsResult = Currentdb().OpenRecordset("クエリー",dbOpenSnapShot) でクエリ名は最大の日付を出すためのクエリ名入れたのですが、デパックしていまいます。引数が無効となってしまいました。 何が原因でしょうか?

  • CHOROLYN
  • ベストアンサー率60% (14/23)
回答No.3

Docmd.OpenQuery "クエリー名" IF Msgbox("これでいいですか?",vbYesNo,"確認")=vbYes Then Yesの時の処理 Else Noの時の処理 End If って感じでしょうか?

desk34
質問者

補足

これですと、クエリ自体が表示されますよね? というよりはイメージとして、クエリで最大の日付をとってくるようにしてあるとして、Msgbox("[クエリの日付]でいいですか?"、vbyesno)なんて事できるといいなーっとおもったのですが、、方法ありますでしょうか?

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

VBAを使えばできますよ。 Accessのバージョンがわからないので詳しくはかけませんが。 DAOや、ADOという機能でクエリやテーブルの内容を取ってこれるので、あとはその値を元に任意のメッセージを作成して表示させるという感じになります。

desk34
質問者

補足

すみません、説明不足で、、、 ACCESS2000です。 VBAでできればお願いします。

noname#102878
noname#102878
回答No.1

「メッセージ」というのはMsgBoxのことですか? 「MsgBoxに表示するクエリの結果」とはどんなものをイメージしているのでしょうか? 更新クエリや削除クエリなら実行前にAccessがメッセージを出しますが・・・

関連するQ&A

  • <<ACCESS2000>>クエリの結果をエクセルで表示させることはできますか?

    宜しくお願いします。 アクセスのクエリで実行した内容を フォームではなく、エクセルで表示させたいのですが、方法はありますか? フォームのように開くとマクロなどでクエリが 勝手に動き、結果がエクセルで表示される様にしたいのですが。

  • Accessクエリ実行時のメッセージ表示について

    クエリ実行時にメッセージが表示されるのが面倒なので以下のようにしました DoCmd.SetWarnings False クエリ実行 DoCmd.SetWarnings True こうするとメッセージが表示されなくなりますが、他の箇所 (テーブルを開いてデータを削除とか、フォームの削除とか) でもメッセージが出なくなってしまいます。 他のところではメッセージが出るようにしたいのですが… また、一度mdbを閉じて開きなおすと、ちゃんと出ます

  • アクセスの削除クエリでいいのでしょうか?

     データベースで検索できるようにしたいのですが・・・・。クエリの検索結果をフォームに反映させています。  検索結果表示後、もう一度検索フォームに戻り、検索をかけたときヒットするデータがないにも関わらず前回の検索結果が表示されたままになってしまいます。 削除クエリを使用すればいいのでしょうか?  また削除クエリをどのように設定したらいいのでしょうか?(たとえば抽出条件が必要なのでしょうか?)  この場合、マクロはいったん削除クエリを開き、もう一度クエリを開く設定でいいのでしょうか?分かりにくい質問ですいませんが教えてください

  • ACCESSのクエリー表示について

    ACCESSのクエリー表示について 困っています。 現象としましては、私が作成したMDBなのですが、フォームから日付入力を行い、その指定範囲のみのデータを表示するだけなのですが、私のパソコンでは正常に表示されるのに、他のパソコン(ネットワークでつながっていて、MDBもネットワークのフォルダーにおいています)では表示されません。 クエリー単体で動かすと正常に動いているようなのですが、フォームに結果を映すとなるとなぜか表示されなくて、クエリーのデータも0件のようです(確実にあるはずなのに) パソコンが違って、動く動作が違うと、どこを調べていいのやらわかりません。 クエリー自体もあるテーブルのデータの日付範囲のみ指定している簡単クエリーなので、 別に複雑なわけでもありません。 困っています。よろしくお願いいたします。

  • アクセス クエリの抽出結果

    クエリの抽出結果に 円や人 の文字列をふっつけたいです。 どこにどのような書式を設定したらよろしいでしょうか。

  • Access97でクエリーのクエリーが表示されない。

    すみません。どなたかわかる方見えましたら教えてください。 当方、Win2000、Access97で生産管理のDBを作って管理をしています。 PCの調子が悪くて再インストールしたらクエリーの集計値を他のクエリーとリンクさせて表示させていたのが表示しなくなりました。 簡単に説明すると、「材料在庫」のテーブルがあり集計クエリーで材料名をグループ化して残量を集計している「材料在庫クエリー」と生産計画テーブルの材料名とをリンクさせてクエリーを表示させています。 症状1 再インストールする前はちゃんと表示されていましたし、他の同じ環境のPCでそのDBを動かしても表示されます。 症状2 エラーが出るわけでもなく、空白になっています。 症状3 リンクの形式を現行は「生産計画テーブル全部と在庫材料クエリーの同じフィールドだけ表示させる」にしていますが、逆の設定にするとなぜか表示されます。 症状4 材料在庫クエリーを一旦テーブル作成して同じようにリンクさせるとちゃんと表示されます。 症状5 ソフト的におかしいと思ったため再インストール作業は3度やり直しましたので間違いはないと思います。Access97はすべてインスと標準インスを試しましたが両方だめでした。 また、OSをインスしてから環境をすべて整えた上(サービスパック4など)でAccessインストールや、OSのみ入れてAccessインストールをこころみて見ましたが一緒の症状でした。 上記の点からクエリーのクエリーのリンクが表示されないようになってしまっている様ですが、何か同じような事例等で解決したことはないでしょうか? この症状だけだといいのですが他にもおかしなところがあるとDB自身使えなくなるので非常に困ります。 もう私では直す手段がないです・・・・・ 何とかよろしくお願いします。

  • accessのクエリの結果に列を追加したい

    accessのクエリで抽出したデータを、宅急便のソフトにインポートしたいと考えています。 宅急便のソフトのフォームには、アクセスのクエリに無い列(項目)があります。 クエリの結果に、定型の列を追加することは可能でしょうか? よろしくお願いします。 【クエリの結果】 お客様名 住所 電話番号 【希望のクエリ】 お客様名 住所 電話番号 宅急便の種類←(この部分をクエリに追加したい。この部分のデータは常に0を表示) クエリは、テーブルにある項目しか表示できないのでしょうか?

  • office(Access)のクエリーの作成について

    未熟者ですがよろしくお願いいたします。 テーブルから条件に合致したデータを抽出するクエリを作成しレポートを作成したいのですが、レポートを表示する前にクエリの抽出結果が表示されてしまいます。クエリの表示をせずレポートのみ表示させたいのですが何か設定があるのでしょうか?  ただし、まだ作成が不十分でクエリで抽出したい項目の一つのパラメータを入力するボックスが開き、それを無視してOKボタンをクリックするとクエリの抽出結果とレポートが同時に表示されます。 ひょっとしてこれが原因なのでしょうか?

  • アクセス2000でクエリにデータ追加ができる表示がでません

    アクセス2000で、氏名と性別コード(1or2)のあるテーブルを作りました。 性別を漢字で表示したいので、1=男、2=女というべつのテーブルを作って リレーションシップを設定しようとして、氏名と性別コードのあるテーブルを もとにクエリを作成して、1=男、2=女というテーブルを表示したところ、 クエリにデータ追加ができる表示がでなくなりました。 また、そのクエリをもとに、フォームを作ったら、性別コードの部分が「この データは更新できません」というようなメッセージが出て、データの修正も、 できません。 どうしてでしょう? どうしたら、解決するでしょうか?

  • Access2003一つのクエリで結果を出したい2

    お世話になります。 Access2003を利用しておりますが、一つのクエリで以下の算出(抽出?)は可能でしょうか。 検品テーブル  ・ID  ・ライン  ・グループ  ID ライン グループ  1  L1    G1  2  L1    G1  3  L1    G2  4  L1    G2  5  L1    G2  6  L2    G3  7  L2    G3  8  L3    G4  9  L3    G4  10  L3    G4  11  L3    G4  12  L3    G5  13  L3    G5  14  L3    G6  15  L4    G7 結果として、一つのラインでのグループ数の最大値(上記の例だとL3はグループが3つあるので3)を一つのクエリで算出したいと考えております。 以下のように3つのクエリを作成すれば結果は得られるのですが、できれば一つのクエリでやりたいところです。  (1)検品テーブルを、[ライン]と[グループ]でグループ化    L1 G1    L1 G2    L2 G3    L3 G4    L3 G5    L3 G6    L4 G7  (2)上記クエリをグループ化し[グループ]をカウント    L1 2    L2 1    L3 3    L4 1  (3)上記クエリでグループカウントの最大値      3 この最大値3を算出するのを一つのクエリで行いたいのですが、可能でしょうか。 ご教授お願い致します。

専門家に質問してみよう