我有一个访问2007年窗体与两个列中的18个文本框控件。他们在输入新样式时将颜色和颜色代码添加到供应商表格中。 第一栏的控件被命名为COLOR1,COLOR2等,和列二的控制被命名为代码1,代码2,等等如何使用变量字符串引用表单上的现有对象名称
下面的代码通过文本框控件那张表格上,并得到控制的名称和值正常。
我知道我需要把另一个if/then类型语句只在case语句选择的控件的名字以“color”开头时才执行动作。稍后我会补充。
如果您看到sql语句,我试图通过调用名称以“code”开头并以当前正在与“color”文本框关联的数字结尾的控件来插入新的颜色/代码组合在案例选择评估。
TL; DR,当文本框“color1”正在被评估时,我希望“code1”中的内容也是sql语句的一部分。最后的数字是两者之间的联系。
我敢肯定,我可能使用ctrlcode或类似的东西不正确的引用,但如果有人知道我想要做的,可以帮助我得到这个工作,我会很感激的。
Dim sql As String, ctrlcode As Control 'Also tried as Object
For Each ctl In Me.Controls
Select Case ctl.ControlType
Case acTextBox 'Only searching textboxes
'Debug.Print ctl.Name, ctl.Value
If Not IsNull(ctl.Value) Then
Debug.Print ctl.Name, ctl.Value, Right(ctl.Name, 1)
**Next line fails Runtime error 424, object required**
Set ctrlcode = frm.Controls("code" & Right(ctl.Name, 1))
Debug.Print ctrlcode.Value, "ctrlcode value"
sql = "INSERT INTO tblVendorColors (Stylecode, color, colorcode, coloravail)" _
& " VALUES (Styletext, '" & ctl.Value & "', '" & ctrlcode.value & "', true)"
Debug.Print sql
End If
Case Else
' pass
End Select
下一页
Styletext是包含样式名称的表格控件文本框(而不是“text1”)的名称。 – RunningWithScissors