- ベストアンサー
ACCESSでメッセージにクエリ結果を表示なんてできるの?
メッセージを設定していますが、その中にクエリでの結果を表示させるなんて事できるんでしょうか? クエリ結果を表示させて、これでOKorNOなんてできたらすごくいいなーなんておもうのですが、、、
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
一度設定すれば大丈夫ですが、NT,2000系OSと98,ME系OSではライブラリへの参照がちょっと違うのか、やり直す必要があります。参照設定をやり直さなくても使用できますが、たまにAccessが終了できなくなったりしますので。 ネットワークに入れて同時使用するのでしょうか?データが壊れる危険性が高いのでちょっとこれはオススメできません。同時使用しないのなら支障ありませんが、同時使用する場合はデータ部分とプログラム部分をわけてリンクする必要があります。
その他の回答 (6)
- CHOROLYN
- ベストアンサー率60% (14/23)
今はADOとDAOが共存している状態ですか? でしたら Dim rsResult As DAO.Recordset としてみて下さい。
お礼
できました。 ありがとうございます。DAOの設定はファイルにされるんですよね?一度設定すればいいんですよね?ネットワークドライブに上げてみんなで使おうと思っているのですが問題ないですよね? まだまだ、勉強不足ですので、これからDAOやADOも勉強していきます。
- CHOROLYN
- ベストアンサー率60% (14/23)
2点確認して下さい。 ・すべてのモジュールをコンパイルは正常に出来ますか? ・他にDAOを使うモジュールは動作していますか?他にない場合、参照設定でDAOにチェックが付いていない事も考えられます。他でADOを使っている場合はADOの下にDAOを入れて、使っていない場合はADOを取り消しDAOにチェックをつけてみてください。
補足
DAOのチェック入ってなかったです。チェックいれました。 が、今度は型が一致しません。となってしまいました。 型ってデータの型ですか?
- CHOROLYN
- ベストアンサー率60% (14/23)
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 でどうでしょうか?
補足
Set rsResult = Currentdb().OpenRecordset("クエリー",dbOpenSnapShot) でクエリ名は最大の日付を出すためのクエリ名入れたのですが、デパックしていまいます。引数が無効となってしまいました。 何が原因でしょうか?
- CHOROLYN
- ベストアンサー率60% (14/23)
Docmd.OpenQuery "クエリー名" IF Msgbox("これでいいですか?",vbYesNo,"確認")=vbYes Then Yesの時の処理 Else Noの時の処理 End If って感じでしょうか?
補足
これですと、クエリ自体が表示されますよね? というよりはイメージとして、クエリで最大の日付をとってくるようにしてあるとして、Msgbox("[クエリの日付]でいいですか?"、vbyesno)なんて事できるといいなーっとおもったのですが、、方法ありますでしょうか?
- taka_tetsu
- ベストアンサー率65% (1020/1553)
VBAを使えばできますよ。 Accessのバージョンがわからないので詳しくはかけませんが。 DAOや、ADOという機能でクエリやテーブルの内容を取ってこれるので、あとはその値を元に任意のメッセージを作成して表示させるという感じになります。
補足
すみません、説明不足で、、、 ACCESS2000です。 VBAでできればお願いします。
「メッセージ」というのはMsgBoxのことですか? 「MsgBoxに表示するクエリの結果」とはどんなものをイメージしているのでしょうか? 更新クエリや削除クエリなら実行前にAccessがメッセージを出しますが・・・
補足
同時使用はしないつもりですが、、たまには知らず知らずにしてしまうかも、、、 データだけリンクして別で保存するのですね? 一度調べてみます。簡単ですか?