
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
passwordが入れられません・・・・
-
アクセスで数値型のフィールド...
-
MA ACCESSデータベースに詳しい...
-
Excelで入力したデータを自動的...
-
アクセス コンボボックスのリ...
-
Access(office)のマクロの「値...
-
Microsoft Accessのフォームで...
-
ACCESS2000のフォームからの入...
-
ファイルメーカー 一ヵ月後の...
-
SQLで構文を間違って入力して;...
-
フォームで入力しても反映されない
-
日付のテキストボックスに(例...
-
エクセルVBA オプションボタ...
-
Access レポート印刷するときに...
-
新規レコード行を非表示にしたい
-
Accessレポートのチェックボッ...
-
ACCESS フォームをそのまま印刷...
-
条件に応じてコンボボックスの...
-
ACCESSで納品書の印刷
-
AccessVBA RecordSourceのリセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
passwordが入れられません・・・・
-
MA ACCESSデータベースに詳しい...
-
データベースのINT型項目にNULL...
-
アクセスで数値型のフィールド...
-
フォームで入力しても反映されない
-
このオブジェクトに値を代入す...
-
Access(office)のマクロの「値...
-
アクセスのテキストボックスの...
-
Accessで小数の入力について
-
Excelで入力したデータを自動的...
-
Access2007、フォームのテキス...
-
Microsoft Accessのフォームで...
-
入力規則違反-任意のエラーメ...
-
ファイルメーカー 一ヵ月後の...
-
Access2007 textboxに入力でき...
-
SQLで構文を間違って入力して;...
-
Accessで西暦の年だけ表示したい
-
アクセス2007 フォーム入力で...
-
ユーザーフォームで数字にカン...
-
アクセス2003 入力規則
おすすめ情報