一个VB循环的问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:49:18
我想让数据库提取22条记录并自动排放在22个TEXTBOX里,代码如下,请帮忙修改以达到目的。

For y = 1 To 22
Set adoConn = New ADODB.Connection
adoConn.Open sConnString
Set adoRS = New ADODB.Recordset
SqlQuery = "select sum(weith) as marksum from main where mark= '" & x(y) & "'"
Set adoRS = adoConn.Execute(SqlQuery)
Text = adoRS("marksum").Value '这句不知道怎么写了
Next
因为数据库当中有空置,我在加入了TEXTBOX控件数组后显示无效使用NULL值,请问怎么解决,谢谢

不清楚你X函数的作用,不知道你text是不是控件数组,暂作如下修改:

Set adoConn = New ADODB.Connection
adoConn.Open sConnString

For y = 1 To 22
SqlQuery = "select sum(weith) as marksum from [main] where mark= '" & x(y) & "'"
Set adoRS = adoConn.Execute(SqlQuery)
Text1(y) = format(adoRS("marksum").Value) '这是text1为控件数组的写法
'me.contorls("text"& y).text=format(adoRS("marksum").Value) '这是非控件数组的写法
Next

Set adoConn = New ADODB.Connection
adoConn.Open sConnString
Set adoRS = New ADODB.Recordset
For y = 1 To 22
SqlQuery = "select sum(weith) as marksum from main where mark= '" & x(y) & "'"
Set adoRS = adoConn.Execute(SqlQuery)
Text(y).text = adoRS("marksum").Value
Next

空值用 trim(""&adoRS("marksum").Value) 就可以了。

controls("Text" & cstr(y)) = adoRS("marksum"