![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.1ベストアンサー
- 回答日時:
> ここでForms!入力.入力者は繰り返し出てくるので、簡単にする
> ことは出来ないでしょうか?
変数を宣言して、それを使用すれば、文字数は減らすことができます。
「入力者」テキストボックスに対して、
値の代入やプロパティの参照などを行うのなら「Dim A As Control」とコントロールとして、
代入した値そのものを参照すればよいなら「Dim A As String」と文字列として、
それぞれ宣言して使用するのがよいと思います(「A」が変数:適当な文字を指定可能)。
なお、変数にテキストボックスの値を代入する場合は「A=B」でOKですが、テキストボックス等の
オブジェクトそのものを変数に設定する場合は、「Set」を使用する必要があります。
Option Compare Database
Option Explicit
Dim Cntl As Control '変数「Cntl」をコントロールとして宣言
Private Sub Form_Open(Cancel As Integer)
Dim StrName As String '変数「StrName」を文字列として宣言
Set Cntl=Forms!入力!入力者 '「入力者」を変数「Cntl」に設定
StrName="山田 太郎" '変数「StrName」に「"山田 太郎"」を代入
Cntl=StrName 'Cntlの値としてStrNameを代入
'~~~~~~
' 処理内容
'~~~~~~
End Sub
Private Sub Form_Close()
Set Cntl=Nothing
End Sub
上記のようなコードにすれば、このコードを記述したフォームのコードでは
「Cntl」を「Forms!入力」の代わりに使用することができます。
(「Dim Cntl As Control」の宣言を、「Dim StrName As String」と同様に
Subの内側で宣言した場合は、そのSub内でのみ有効になります)
また、単に値を参照するだけなら、StrNameを使用すればOKです。
なお、Closeイベントでの「Set Cntl=Nothing」は、変数の値を保持するために
消費されているメモリを解放するためのものです。
(本来は、フォームを閉じた際(?)に自動で解放されるはずですが、それが
うまくいかない場合があるため、常套的に行われる措置です)
「Cntl」の宣言をSub内にした場合は、これも同じSub内で行います。
また、「Forms!入力」を省略する方法としては、「With」というのもありますので、
簡単にご紹介(一部のみ抜粋の形):
With Forms!入力
!入力者="山田 太郎"
!かな="やまだ たろう"
!性別="男"
End With
No.2
- 回答日時:
簡単と言うならば、これも該当ですかね?
Me.入力者 = "山田 太郎"
Me.かな = "やまだ たろう"
Me.性別 ="男"
Meと言う書き方ができます。
私の(この場合自フォームの).入力者
この書き方の一番の利点は、フォーム名を書かないので
そのフォームをCOPYして別フォームを作成しても
手直しなく動きます。
テストがスムーズに行える利点があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- その他(プログラミング・Web制作) Microsoft Forms とか、それに似たツールで計算をすることはできないか? 2 2023/01/14 11:26
- Excel(エクセル) MicroSoft Formsの共有について 2 2022/12/29 17:19
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) forms用エクセル いきなり、forms入力しても、エクセルに反映しなくなりました。何か解決策あり 4 2023/04/12 16:40
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- Access(アクセス) Accessフォームで複数条件でフィールドの値を表示する方法 4 2022/07/21 10:47
- その他(クラウドサービス・オンラインストレージ) Forms のアンケートで、地図をいれてもらうことできますか?他 3 2023/03/27 09:55
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースのINT型項目にNULL...
-
アクセスで数値型のフィールド...
-
passwordが入れられません・・・・
-
ユーザーフォームで数字にカン...
-
フォームで入力しても反映されない
-
アクセスのテキストボックスの...
-
Accessのふりがな自動入力
-
アクセス コンボボックスのリ...
-
このオブジェクトに値を代入す...
-
日付のテキストボックスに(例...
-
Excelで入力したデータを自動的...
-
Microsoft Accessのフォームで...
-
EXCELのユーザーフォームで入力...
-
フォームテキスト内文字の縦位...
-
アクセス2003 入力規則
-
Access(office)のマクロの「値...
-
Accessで小数の入力について
-
accessでフォームに入力した値...
-
Access2007、フォームのテキス...
-
ファイルメーカーの入力値の制限
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースのINT型項目にNULL...
-
passwordが入れられません・・・・
-
アクセスで数値型のフィールド...
-
フォームで入力しても反映されない
-
Excelで入力したデータを自動的...
-
Access(office)のマクロの「値...
-
アクセスのテキストボックスの...
-
ユーザーフォームで数字にカン...
-
このオブジェクトに値を代入す...
-
入力規則違反-任意のエラーメ...
-
Accessで西暦の年だけ表示したい
-
Accessで小数の入力について
-
アクセス コンボボックスのリ...
-
ACCESS 時間の入力方法
-
Access2007 textboxに入力でき...
-
Access2007、フォームのテキス...
-
ファイルメーカー 一ヵ月後の...
-
日付のテキストボックスに(例...
-
sqlldrの使用方法について
-
Accessで主キーの最終番号を取...
おすすめ情報