In my experience, your form is fairly simple.
The multiple similar name fields of AttributeX indicates a non-normalized structure. All 6 are required, never more nor less?
I agree, input boxes not the way to go for routine data entry. For one thing, responding to bunches of popups is just annoying. Another, harder to validate input via popup boxes. However, I have used. Example of more complicated one, which could possibly be better as a popup form with a listbox:
Code:
strRDC = IIf(strMode = "Draft", "X", "?")
While strRDC = "?"
strRDC = UCase(InputBox("Enter item ID for report distribution:" & vbCrLf & vbCrLf & _
" 1 - Highway Construction" & vbCrLf & vbCrLf & _
" 2 - Preconstruction" & vbCrLf & vbCrLf & _
" 3 - HAP/ACP Mix Designs" & vbCrLf & vbCrLf & _
" 4 - Northern Region" & vbCrLf & vbCrLf & _
" 5 - Southeast Region" & vbCrLf & vbCrLf & _
" 6 - Accepted Products" & vbCrLf & vbCrLf & _
" 7 - M&O Central Region" & vbCrLf & vbCrLf & _
" 8 - Special" & vbCrLf & vbCrLf & _
" 9 - Aviation Construction" & vbCrLf & vbCrLf & _
" 10 - Concrete Mix" & vbCrLf & vbCrLf & _
" 11 - AIA Field Maintenance" & vbCrLf & vbCrLf & _
" N - Number File" & vbCrLf & vbCrLf & _
" X - Copy not for distribution nor filing", "Distribution", "X"))
If (Val(strRDC) > 0 And Val(strRDC) < 12) Or strRDC Like "[N,X]" Then
'continue with report print
If IsNumeric(strRDC) Then strRDC = "D" & strRDC
ElseIf strRDC <> "" Then
MsgBox "Not an appropriate entry.", vbApplicationModal, "Entry Error"
strRDC = "?"
Else
GoTo Exit_proc
End If
Wend