• ベストアンサー

MS Access200のフォーム

MS Access2000のVBAを使っています。 メッセージBOXのように、値を返すフォームを作りたいのですが、方法がわかりません。 どのようにすればいいのでしょうか?

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

  • ベストアンサー
noname#22222
noname#22222
回答No.3

s_husky です。 *****<広域変数版>***** Option Compare Database Option Explicit Public InputValue Public Function MyInputBox(ByVal Msg As String) As String   DoCmd.OpenForm "MyInputBox", , , , , , Msg   Do     DoEvents   Loop Until Not CurrentProject.AllForms("MyInputBox").IsLoaded   MyInputBox = inputValue End Function まず、こにょうなMyInputBox 関数を作成。 <MyInputBox フォーム> Option Compare Database Option Explicit Private Sub cmdOK_Click()   DoCmd.Close End Sub Private Sub Form_Load()   Me.メッセージ.Caption = Me.OpenArgs End Sub Private Sub 入力欄_AfterUpdate()   InputValue = 入力欄 End Sub <利用> ? MyInputBox("顧客名を入力して下さい") ※こんなもんでも使えるでしょう!

その他の回答 (3)

noname#22222
noname#22222
回答No.4

s_husky です。 私は、値を戻すべきフォーム名とフィールド名をOpenArgに渡しています。まあ、全体の作り方です。

KAZUMI2003
質問者

お礼

ありがとうございます。OpenArgには別の情報を渡しているので、大域変数を使う方法を参考にさせていただきます。

noname#22222
noname#22222
回答No.2

Private Sub コマンド4_Click() On Error Resume Next   Dim strCustName As String   strCustName = InputBox("顧客名を入力して下さい。")   MsgBox strCustName End Sub 質問の主旨は、オリジナル InputBox の作成要領!?

KAZUMI2003
質問者

補足

>質問の主旨は、オリジナル InputBox の作成要領!? すみません。その通りです。 よろしくお願いします。

noname#60992
noname#60992
回答No.1

単にテキストボックスを配置して、そこのtextをvbaから指定すればよいのではないでしょうか? それとも、私何か勘違いしているのでしょうか?

KAZUMI2003
質問者

補足

回答ありがとうございます。 質問の意味は、「独自のINPUTBOXを作る」でした。 引き続き、よろしくお願いします。

関連するQ&A

  • Accessのフォームで…

    Access 2010のフォームのリストボックスで、あるテーブルのフィールドの値を選択した場合に、同じテーブルの同じレコードにある違うフィールドの値を、テキストボックスに読み込みたいのですが、どうすれば出来ますでしょうか? VBAのサンプルソース等でも構いません。回答お願いしますm(_ _)m

  • Access フォームからの検索について

    初歩的な質問で申し訳ありませんが教えて下さい。 Access2000を使っています。 フォームに作ったテキストボックスに、入力した値又は文字と、特定のフィールドと比較し一致した場合にそのレコードをフォームに表示する方法はないでしょうか? いろいろと、web上のQ&Aなども見ましたが、思った動作をしませでした。 考えているのは、   ・テキストボックスにある値を入力し、『Enter』を押すとテキストボックスに入力した値と特定のフィールドと一致したレコードをフォームに表示 ・一致しない場合はメッセージボックスで一致しない旨を表示 です。 ・完全一致のみ表示 VBAでの動作を考えていますが、合わせて他の方法があれば教示頂ければと思います。 以上、お手数をお掛け致しますがよろしくお願い致します。

  • MS Accessのフォームについて

    Access2010についてお教えください。 添付の画像のように「テストメインフォーム」があります。 フォームには「テストサブフォーム」というサブフォームが配置されています。 画像はないですが、「テストレポート」というレポートもあります。 やりたい事。 テキストボックス(テスト1の値)に文字列を入力し、印刷ボタンを押す。 テキストボックスに入力された値をキーに「テストレポート」にデータが渡され、プレビュー表示。 「テスト5」のチェックボックスをONにする。 添付画像では、テキストボックスに入力された値が003のため、サブフォームの テスト1の値が003の行のテスト5のチェックボックスをONにする。 以上の事を実現できる方法をお教え頂けませんでしょうか。 DoCmd.OpenReport "テストレポート, acViewPreview, , "テスト1 = '" & txt_inputID & "'" とやったら、クエリパラメータみたいになり、テキストボックスの値を直接見るといったことが できませんでした・・・

  • AccessのVBAにおいて,アクセスフォームに表示されている「値」を

    AccessのVBAにおいて,アクセスフォームに表示されている「値」を変数の中に格納したい。  例えば,オートフォームの単票形式でフォームを作成した場合,「番号」「製品」といったフィールドが2個あるテーブルを使うと,「番号」「製品」という名前のテキストボックスが2個ほどできます。 (フィールド名やテキストボックス名は問題ではありません。) このフォーム上に「ボタン」を配置し,このボタンをクリックした時に,「製品」というテキストボックスの内容を,メッセージボックスで表示させたい。 MsgBox (Me.製品.Text) と書いてもエラーとなります。 実際には,このフォームで欲しいデータを見つけた時,ボタンクリックで,テキストボックスに表示されている内容をグローバル変数に格納したいのですが,方法が分かりません。 Access 初心者です。どなたかよろしくお願いします。

  • MS ACCESSテキストボックスの値のリンク

    みなさんこんにちは! MS ACCESSで、フォームを作成いたしました。 そのフォームにはサブフォームが挿入されており、サブフォーム側で入力した値の合計を計算するテキストボックスを作りました。そしてその合計の値を、メインフォームに設けたテキストボックスに反映させたいのですが、なかなかうまく行きません・・・どうしたら値が反映するようにできるでしょうか? 初心者な者で質問ないようが分かりにくいかと思います。不足等ございましたら教えていただけると幸いです。 よろしくお願い致します。

  • フォームを開くときに、コンボボックスの値を選択(アクセスVBA)

    こんにちは。 アクセスVBAで、フォームを開いたとき (フォームのOpenイベント)に、 コンボボックスの値を選択したいのですが、 どういう方法が、あるでしょうか。 理想は、 フォームのOpenないし、Loadイベント内で、 コンボ0.ItemData(2).Selected と、書くような感じです。 (無論、Selectedは使えませんでした)。 よろしくお願いします。

  • Access2003 フォームでの入力制限

    AccessでVBAを使用している途中わからないところが でてきましたのでお教え頂ければと思います。 WindowsXPでAccess2003を使用しております。 さっそくですが、まずデータ入力用のフォームがあります。 数量を入力するテキストボックスがあり、そこに入力された値が 0以上100未満ではない場合エラーを表示するようなVBAを使用しています。 このエラーチェックをVBAで直接値を指定するのではなく テーブルにあるマスターを参照して判断することは可能でしょうか。 少々わかりにくいですかね…; 項目 下限 上限 ------------------- 数量   0    100 金額  500  5000 上記マスタがあります。 フォームにて数量のテキストボックスに値を入力し、とあるボタンを クリックした際にこのマスタを見に行き、0未満あるいは100以上の 場合はエラーを表示させたいのです。 こういう場合はADO?という記述を使用しなければならないのでしょうか… よろしければお教えください。

  • アクセスのフォームでテキストボックスを順番に選択

    任意の名前がついたテキストボックスがあります。 これをVBAを使い、1つずつ選択することは可能でしょうか? 例えばエクセルのシートだったら Sheets(1) みたいな感じで数字も使えますが、アクセスのフォームではできないのでしょうか? さらに取得していったテキストボックスの値を取得、ということもしたいです。 Access2000です。

  • アクセスのフォームを間違って削除してしまった

    MS Access でフォームを開こうとして誤って削除してしまいました(エンターキーを押すつもりが、その隣のデリートキーを押していた!) なんとかこのフォームを回復する手はありませんでしょうか。 また、削除する前に「削除します。いいですか?」といった警告メッセージくらい出ても良さそうなのですが、そういう表示をさせる設定方法はありますか。

  • accessのレポート上のフォント

    いつもお世話になっております。 さて、accessのフォーム上の入力値によってひとつのテキストボックスのフォントをvbaで変更する事は可能なのでしょうか? 例) フォーム上のテキストボックス1の値が ・1の場合 レポート上のテキストボックス1のフォント→MS明朝 ・2の場合 レポート上のテキストボックス1のフォント→MSゴシック、太字 のような事をやりたいのです。 また上記ができればその方向で、代案としてはレポート上にテキストボックスを2つ重ねてvisbleで表示を分けるのが一番いいかな、と思うのですが、何分数が多いため躊躇しております。 他に考えられるいい案はございますでしょうか? よろしくお願いいたします。