配列を使用して2つのテキストボックスから入力を取得し、リストを含むメッセージボックスを作成しようとしています。フォームを開くと、リストに追加する「名前の数」が表示され、その番号が保持されます。名前の数が5に達するまで「名前を追加」をクリックします。次に、リストがいっぱいであることを示すメッセージボックスがポップアップ表示されます。ランタイムエラーが発生する - 範囲外のスクリプトを出力するAccess VBA
Option Compare Database
Option Explicit
Dim intItems As Integer
Dim strFName() As String, strLName() As String
Private Sub Form_Load()
intItems = Val(InputBox("How many names?", "Name Count"))
Do While intItems <= 0
MsgBox "Please provide a number greater than 0", vbCritical, "Correct Value
Required"
intItems = Val(InputBox("How many names do you have?", "Name List"))
Loop
ReDim strFName(intItems - 1)
End Sub
Private Sub cmdAddName_Click()
Dim intI As Integer
If IsNull(Me.txtFirstName.Value) Or IsNull(Me.txtLastName.Value) = True Then
MsgBox "There must be values for both First and Last names", vbCritical,
"Data Entry Error"
Else
If strFName(intItems - 1) <> "" Then
MsgBox "Sorry, the list is full!"
Me.txtFirstName.Value = Null
Me.txtLastName.Value = Null
Else
For intI = 0 To intItems - 1
If strFName(intI) = "" Then
strFName(intI) = Me.txtFirstName.Value
strLName(intI) = Me.txtLastName.Value
Me.txtFirstName.Value = Null
Me.txtLastName.Value = Null
Exit For
End If
Next
End If
End If
End Sub
私はstrFName(intItems - 1)が」の「範囲外のスクリプト」ランタイムエラーを取得<> 『は』次に誰理由として任意のアイデアがありますか?
のデータ型をリセットするのを忘れて、常に投稿するときにコードをインデントすることができます - 私たちは、その後何が起こっているのか見することがはるかに簡単です。 –
「下付き文字が範囲外です」エラーは、どの行にありますか? – YowE3K
strFName(intItems - 1)<> "" Then –