1

これは、入力中にテキストボックスを更新する方法について私が尋ねた前の質問のフォローアップです。前の質問では、3つのテキストボックスがあり、そのうち2つは有効になっていて、1つは無効になっています。彼らはこのように見えます:

3つのテキストボックス画像

私の目標は、2つのテキストボックスの名前と名前を使用して、もう一方のテキストボックスの「CodePersonal」に入力することです。姓名を入力するときに、Code PersonalテキストボックスをLLLLLL_F(例:BERNAS_P)の形式ですぐに更新する必要があります。ただし、Code Personalテキストボックスを更新しようとすると、次のエラーが発生します。

エラー画像

Code Personal形式を作成し、テキストボックスを更新するために使用するコードは次のとおりです。

Private Sub TxtFName_Change()

firstName = Me.TxtFName.Value
lastName = Me.txtLName.Value
firstPart = Left(lastName, 6)
secondPart = Left(firstName, 1)

nameCode = firstPart + "_" + secondPart
upperNameCode = UCase(nameCode)

txtCodePersonal.Text = upperNameCode 'My debug tells me I have an error here
End Sub

次の方法でフォーカスをtxtCodePersonalテキストボックスに設定しようとしましたが、[txtCodePersonal].SetFocusそれでもエラーが発生します(MS AccessはフォーカスをコントロールtxtCodePersonalに移動できません)。

他の2つのテキストボックスに入力しているときに「CodePersonal」テキストボックスを更新する方法について何かアイデアはありますか?

よろしくお願いします。

4

1 に答える 1

2

プロパティではなく、テキストボックスの.Valueプロパティに値を割り当て.Textます。これらのいずれかが機能するはずです:

Me.txtCodePersonal.Value = upperNameCode
Me.txtCodePersonal = upperNameCode

.Valueはテキストボックスのデフォルトのプロパティであるため、明示的に含める必要はありません。コードがより明確になると思われる場合は、それを含めてください。

于 2012-11-18T14:07:36.853 に答える