Private Sub Form_Load() Dim txtSQL As String Dim MsgText As String Dim mrc As ADODB.Recordset
txtSQL = "select distinct typename from roomtype" Set mrc = ExecuteSQL(txtSQL, MsgText) If Not mrc.EOF Then Do While Not mrc.EOF Combo1(0).AddItem mrc.Fields(0) mrc.MoveNext Loop End If mrc.Close
txtSQL = "select distinct price from roomtype" Set mrc = ExecuteSQL(txtSQL, MsgText) If Not mrc.EOF Then Do While Not mrc.EOF Combo1(1).AddItem mrc.Fields(0) Combo1(2).AddItem mrc.Fields(0) mrc.MoveNext Loop End If mrc.Close
End Sub
Dim mrc As ADODB.Recordset是不是这句要改成Dim mrc As new ADODB.Recordset 如果改过来后,提示,对象关闭时不允许操作... 为什么呢?
例子: Public Sub FillStrSendCompanyGroup(Cbo As ComboBox) Dim db As New ADODB.Connection Dim rec As New ADODB.Recordset db.Open "driver={SQL Server};server=" & GetServerName & ";uid=sa;pwd=;database=grain_Buy" rec.Open "B_GetStrSendCompanyGroup", db, adOpenDynamic, adLockOptimistic Do While Not rec.EOF If Not IsNull(rec.Fields(0)) Then Cbo.AddItem Trim(rec.Fields(0)) rec.MoveNext Loop rec.Close db.Close Set rec = Nothing Set db = Nothing End Sub
Dim txtSQL As String
Dim MsgText As String
Dim mrc As ADODB.Recordset
txtSQL = "select distinct typename from roomtype"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Not mrc.EOF Then
Do While Not mrc.EOF
Combo1(0).AddItem mrc.Fields(0)
mrc.MoveNext
Loop
End If
mrc.Close
txtSQL = "select distinct price from roomtype"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Not mrc.EOF Then
Do While Not mrc.EOF
Combo1(1).AddItem mrc.Fields(0)
Combo1(2).AddItem mrc.Fields(0)
mrc.MoveNext
Loop
End If
mrc.Close
End Sub
如果改过来后,提示,对象关闭时不允许操作...
为什么呢?
Public Sub FillStrSendCompanyGroup(Cbo As ComboBox)
Dim db As New ADODB.Connection
Dim rec As New ADODB.Recordset
db.Open "driver={SQL Server};server=" & GetServerName & ";uid=sa;pwd=;database=grain_Buy"
rec.Open "B_GetStrSendCompanyGroup", db, adOpenDynamic, adLockOptimistic
Do While Not rec.EOF
If Not IsNull(rec.Fields(0)) Then Cbo.AddItem Trim(rec.Fields(0))
rec.MoveNext
Loop
rec.Close
db.Close
Set rec = Nothing
Set db = Nothing
End Sub
利用上面函数可以在form_load里
call FillStrSendCompanyGroup(combo1)
就把combo1填充好了如果需要填充另外combobox
可以再次调用
call FillStrSendCompanyGroup(comboxxxx)
就把comboxxxx填充好了
定义这个函数返回一个ADODB.Recordset,所以mrc保存的已经是结果集了啊。。
不知道这样的应该怎么 open啊。。