每次运行时都会出现“系统关闭时不容许操作”请大家帮忙纠正!!!谢谢
这是我模块的代码:
Public adoCon As New ADODB.Connection      
Public adoRs As New ADODB.Recordset        
Public adoRs1 As New ADODB.Recordset       
Public adoRs2 As New ADODB.Recordset        Public Sub main()           
Dim temp As String
temp = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ck;Data Source=liuping-727f568"
adoCon.Open (temp)
End Sub
这是我窗体代码:
Private Sub Command1_Click()
 Call main
adoCon.Open "select * from pand"
 Set adoRs = adoCon.Execute("update pand set pand.本月返修入库=cryd.fx from pand,(select 料号,sum( 出入数量)as fx from cryd where datediff(m, 出入时间,getdate())<=1 and 仓库号='" & Trim(Text1.Text) & "' and 出入类型 like '%返修入库'group by 料号) as cryd where pand.料号=cryd.料号") Set adoRs = adoCon.Execute("update pand set pand.本月领用出库=0-cryd.fx from pand,(select 料号,sum( 出入数量)as fx from cryd where datediff(m, 出入时间,getdate())<=1 and 仓库号='" & Trim(Text1.Text) & "' and 出入类型 like '%领用出库'group by 料号) as cryd where pand.料号=cryd.料号  ") 还有多条像以上这样的更新语句,这里不一一列举,但语句绝对正确
  adoCon.Close
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from pand"
Set DataGrid1.DataSource = Adodc1
Adodc1.Refresh
 End Sub

解决方案 »

  1.   

      adoCon.Close 
      

  2.   

    Set adoRs = adoCon.Execute(...)
    改成
    Call adoCon.Execute(...)UPDATE 是不返回纪录集的。
      

  3.   

    Public adoCon As New ADODB.Connection   你觉得 下面的代码正确吗?
    adoCon.Open "select * from pand" 
      

  4.   

    每次运行的时候就出现Operation   is   not   allowed   when   the   object   is   open
      

  5.   

    Set adoRs = adoCon.Execute("update pand......
    Update语句是不返回记录集的
    所以此时adoCon对象仍然是关闭的
    既然adoCon对象本来就是关闭的,你再执行adoCon.Close就会出现错误把adoCon.Close去掉
    应该可以解决
      

  6.   


    adoCon 前面你知道写连接字符 这里面写SQL语句干什么呢?
      

  7.   

    同意。
    adoCon.Open "select " 很可能重新连接数据库,可是给的 ConnectionString 不对,无法连接,状态就变成关闭的。
      

  8.   

    但我这样还是不行,看我这样写有那些问题?Private Sub Command1_Click() 
    Call main Set adoRs = adoCon.Execute(...) 
    adoCon.CloseSet adoRs = adoCon.Execute(...) 
    adoCon.CloseSet adoRs = adoCon.Execute(...) 
    adoCon.CloseAdodc1.CommandType = adCmdText 
    Adodc1.RecordSource = "select * from pand" 
    Set DataGrid1.DataSource = Adodc1 
    Adodc1.Refresh End Sub
      

  9.   

    adoRs.open sql, adoCon
    adoCon.Close adoRs.open sql, adoCon
    adoCon.Close adoRs.open sql, adoCon
    adoCon.Close adoRs.open sql, adoCon
    adoCon.Close adoRs.open sql, adoCon
    adoCon.Close adoRs.open sql, adoCon
    adoCon.Close 还有VB提示错误 至少要告诉大家错误在哪一行