こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

AccessVBA テキストボックスの内容を規定値

AccessVBA テキストボックスの内容を規定値に設定したい

環境:Access2003 VBA WindowsXP sp3


テキストボックスに入力された値を、規定値として設定したいです。
テキストボックスは30個程度。
『任意』のテキストボックスのみ設定したいので関数の自作を考えています。

コマンドボタン『既定1』を押すと、右側の『テキストボックス1』の内容が既定として登録されるよう考えています。


イメージ

↓コマンドボタン    ↓テキストボックス
[既定1]   [テキストボックス1         ]
[既定2]   [テキストボックス2         ]
[既定3]   [テキストボックス3         ]
……



VBAにて下記ソースを書いたのですが正常に動作しません。
自作関数にて、引数 textboxName へと "テキストボックス名"を代入しています。
プログラムを実行すると

   『修飾詞が不正です』
   textboxName.ForeColor = 255
   ~~~~~~~~~~~
というエラーが出てしまいます。
この時の引数の中身は textboxName = "テキストボックス1"です
textboxName.ForeColor を テキストボックス1.ForeColor として認識してくれないようです。

解決方法を教えてください



ソースは以下の通り-------------------------------------

Option Compare Database

-------------------------------------------------------

Function textboxSetDefault(textboxName As String)

'テキストを赤に変更
textboxName.ForeColor = 255
'現在入力されている値をデフォルト値に設定
textboxName.DefaultValue = textboxName.Value

End Function

-------------------------------------------------------
Private Sub 既定1ボタン_Click()

Call textboxSetDefault(テキストボックス1.Name)

End Sub

-------------------------------------------------------

投稿日時 - 2011-08-25 17:31:47

QNo.6966920

困ってます

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

デザインビューで設定する必要がありますが、
以下にそのままがあります。

http://www.accessclub.jp/bbs3/0254/superbeg79523.html

投稿日時 - 2011-08-25 20:14:18

お礼

ありがとうございます!
ズバリ解決しました!!!

■修正前、間違っていたソース

Function textboxSetDefault(textboxName As String)

'テキストを赤に変更
textboxName.ForeColor = 255
'現在入力されている値をデフォルト値に設定
textboxName.DefaultValue = textboxName.Value

End Function


■修正後、正しく機能したソース

Function textboxSetDefault(textboxName As String)

'テキストを赤に変更
Me(textboxName).ForeColor = 255
'現在入力されている値をデフォルト値に設定
Me(textboxName).DefaultValue = Me(textboxName).Value

End Function


以上です。
引数に保存された値を利用する場合は、Me(カッコ) を使用すればいいんですね!
ありがとう御座いました!!!!

投稿日時 - 2011-08-25 22:02:03

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問