• ベストアンサー

ACCESSで変数の保持

ACCESSを使っていますが、いまいち分からない点があります。 フォームのイベントで、変数に値を代入するのですが、 フォームAの変数AをフォームBのイベントで確認したいのですが、うまくいきません。 良く分からない表現で申し訳ありませんが、どのようにしたら良いのでしょうか。 よろしくお願いします。

  • m_s_m
  • お礼率54% (56/103)

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

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> 変数に値を代入するのですが、 この変数宣言を、標準モジュールでしておけば大丈夫ですね。 Public 変数名 As Long

m_s_m
質問者

お礼

早速ありがとうございました。 解決できました(^_^)b

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 変数を標準モジュールで、Publicで宣言して下さい。

m_s_m
質問者

お礼

早速ありがとうございました。 今まで、ものすごく遠回りな事をしていましたが、これで解消出来ました。

関連するQ&A

  • Access-VBAのPublic変数について =基本的な事です=

    フォームAのテキストボックスに入力された値をフォームBで使用したいのですが、調べるとPublic変数に値を代入しておけばフォームAを閉じても値を保持できるとの事でした。 そこで、 (1) 標準モジュール(My_Moduleという名前)を作成しそこに1行Public Hensu as Long と定義しました。 (2) フォームAにボタンを作成し、そのクリックイベントに、 Hensu=Text1.Value というコードを記述しました。 (3) フォームBにボタンを作成し、そのクリックイベントに、 Text1.Value=Hensu というコードを記述しました。 フォームBのボタンをクリックすると、Text1に値が代入されるかと思いましたが、意に反しHensuの中身はNullでした。 どのようにすればフォームBで変数の値を取得することが出来るのでしょうか? ちなみにフォームAからPublic Hensuには値が代入されているようで、イミディトウインドウで?Hensuとするとちゃんと代入された値が表示されます。

  • MS Access2007 フォーム作成で不思議な現象が起きて困っています

    OS: WindowsXPSP3 Access2007:SP2 MSO(12.0 6425.1000) フォームのモジュールで Private 変数を宣言し、 フォームの開く時イベントで、値を代入するようにしました。 レコード移動時イベントでその変数を利用しようとしたら、 最初のレコード移動時にすでに値が空になってしまっているのです。 フォームを開いた時には、ちゃんと代入されています。 モジュール変数に値を代入しているのは、開く時だけです。 当然ながら、Option Explicit宣言をしてあります。 どうしてこんな現象が起きてしまったのでしょう? 解決に向けて、何をどう調べていったら良いのか、皆目見当がつかない状況に陥ってしまいました。 皆様のお知恵を是非お借りしたく、どうかよろしくお願いいたします。 ちなみに、Officeの診断プログラムは実行して問題のないことを確認済みです。

  • Access2000 VBA で変数を次回立ち上げたとき利用するには?

    Access2000でVBAを使用していますが、変数にある値を代入してその値をアプリケーションの再立ち上げ後また利用したいのですが、何かよい方法はありませんか? 説明ではわかりにくいので実際の流れで示します。 Dim DiskNo AS string DiskNo = s459a      's459aというには使用中に変わっていきます。  ここでいったんAccessを終了し、次回使用するとき   変数 DiskNoに最後に代入された値(s459a)を保持している。 こんな使いかたなのですが、方法はどんなやり方でもかまいません。変数の値をを次回も利用するにはどうしたらよいのでしょうか?

  • ページ間で変数を保持したい

    いつもお世話になっております。 今回はhtml間での値渡しについてお聞きしたいです。 現在ある二つのページA,Bを作成していまして、お互いにリンクが張ってあります。 AからBに行く時、Aの中にあるフォームの内容をBに表示したく外部jsファイルでグローバル変数に保持したりなどやってみましたがだめでした。 そもそもこのようなことをjavascriptのみでできるのでしょうか? また可能ならばどのようにすればよいでしょうか? ご教授お願いします。

  • Access2000でTextBox変数の代入

    Access2000でTextBox変数を作成し、条件に応じて フォーム上に配置した2つのテキストボックスをその変数に代入したいのですが、うまくいきません。 Public tBox as TextBox If i = 1 Then Set tBox = テキスト1 ElseIf i = 2 Then Set tBox = テキスト2 End if ※ テキスト1、テキスト2はフォーム上に配置した テキストボックスの名称 このコードを実行すると、テキスト1は テキスト1.Textと解釈され、Textプロパティに何も設定 されていない場合、tBoxにはNULLが代入されます。 Textプロパティの値ではなく、テキストボックスオブジェクトそのものを変数に代入するにはどうすればよいのでしょうか。 ご教授お願いします。 環境は OS:Windows2000 Professional   Access2000 です。

  • bシェルでシェル変数に変数に代入されている値の個数

    bシェル(Bourneシェル)で、シェル変数に変数に代入されている 値の個数を知りたいのですが、できるのでしょうか。 ----- #!/bin/sh A="1 2 3 4 5" echo $A 変数Aには、半角スペース区切りで、「1 2 3 4 5」と5個の値が 代入されています。 この設定されている値の個数、5を求めたいのですが、 どうすればよいのでしょうか。 Solaris8 Bシェル です。

  • ACCESS2000で変数の扱い方について

    ある変数を用いて、テーブルの項目名の参照の仕方が知りたいのですが 具体的には。。。 ACCESS2000でAとB二つのテーブルがあります。 Aには 項目No. (オートNo.) 項目名 (文字) Bには コード  (数値) 名称   (文字) カナ   (文字) 住所1  (文字) 住所2  (文字) という構成になっています。 Aの項目名には、Bの名称以下の列名(名称、カナ、住所1,2)という レコードが入っています。 ここで、Bの文字型の項目を全て64バイト以下にするという事をやりたいのですが、 今後もBの項目は増えていくことが予想されますので、 一つづつコードを書いていくのは大変なので、以下の方法を考えました。 1.Aの1レコード目の項目名を変数Xに代入 2.B上の列名Xを1レコード目から順番に64バイト以下に変換 3.Bのレコード全て終わった段階で、変数XにAの次レコードの項目名を代入 4.Aのレコードがなくなるまで、2へ戻る Do Until A.EOF   X=A.項目名     '変数XへAの項目名を代入     Do Until B.EOF       B.Edit       B!X= LeftB(B!X,64) 'Bの列名Xの文字数を64へ変換       ~~~~~~~~~~~~~~~~~~       B.Update       B.MoveNext     LOOP   A.MoveNext LOOP というコードを書いたのですが ~~~~部分の”B!X”だとテーブルBのXに入っている列名を認識しません。 どのように記述すればいいのか、教えてください。 また、以前から参照していたACCESSの質問掲示板HPが なくなってしまい、困っています。そのようなHPをご存知でしたら 教えていただきたいです。

  • エクセルでpublic変数が使えない!

    突然、私のパソコンで、エクセルのpublic変数が使えなくなりました。なぜか、public変数そのものが機能しなくなったみたいです。たとえば、 public a as integer と宣言し、aの値を別のbookに渡して使おうとします。ユーザフォームにCommandButton1を貼り付けて、クリックし、次のイベントプロシージャを実行させ、デバックモードのウォッチ式で、aの値を追跡すると、”あるセルの値”は一旦、aに代入されるのですが、End Subのところで、値が<対象範囲外>、型がemptyとなってしまうのです。 Private Sub CommandButton1_Click() a = ”あるセルの値” End Sub 何か設定が変わってしまったのでしょうか? それまで使っていた、プログラムが使えなくなって困っています。 どなたか、回答よろしくおねがいします。

  • Access2003 VBAからの値の代入時に更新イベントを実行できない??

    access2003+WinXP_Pro環境です。 値の代入について質問させて頂きます。 フォーム上の値を同時に、開いている他のフォームから値を代入したのですが、 元フォーム上で更新時イベントに記述している値の代入が動作しません。 他のフォームのVBAから値の更新をした場合、どのように更新時イベントを設定すればよいのでしょうか?

  • アクセス97 モジュール 変数について

    変数について不明な点があります。 Public A As String Public B As String とモジュールの最上段に 宣言しました strSQL = strSQL & ",備考1 ='" & pfncReplaceString1(A, "'", "''") & "'" strSQL = strSQL & ",備考2 ='" & pfncReplaceString2(B, "'", "''") & "'" この時点では AとBにはそれぞれ値が入っているのですが pfncReplaceString1とpfncReplaceString2に飛んだ時にBの方は""(何も入っていない状態)になっています。 何が違いがあるのでしょうか? 変数に値が入っていたのに消えてしまう 状態です。

専門家に質問してみよう