Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Micaiu

Erro na conexão

Recommended Posts

RUN-TIME ERROR "3709"

 

A CONEXÃO NÃO PODE SER USADA PARA REALIZAR ESTA OPERAÇÃO, ELA ESTA FECHADA OU É INVALIDA NESTE CONTEXTO.

 

Este erro ocorre no Private Sub Form_Load()

Connect

Nesta linha >>>>>>> record.Open "select * from pizza where Codigo <> '" & Codigo & "& Nome &" & Preço & ", conec, adOpenStatic, adLockOptimistic"

 

 

Alguem sabe me dizer o que acontece?????

Obrigado

 

segue abaixou meu codigo.

 

Dim conec As ADODB.Connection, record As ADODB.Recordset, BDpizza As String

Private Function
 Connect()

    Set conec = New ADODB.Connection
    Set record = New ADODB.Recordset
    BDpizza = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\BDpizza.mdb" & ";Persist Security Info=False"
    conec.Open BDpizza
    
    'If conec.State = adStateOpen Then
    'MsgBox " Conexão ativa "
    'Else
    'MsgBox " Conexão inativa "
    'End If
    
    
End Function

Private Sub Command1_Click()
Connect

    BDpizza = "select * from Pizza"
    record.Open BDpizza, conec, , adOpenDynamic
    record.AddNew

    record.Fields(1) = Text1.Text
    record.Fields(2) = Text2.Text
    record.Fields(3) = Text3.Text

    record.Update
    If Not record.EOF Then record.MoveNext
    record.Close
    Set conec = Nothing
    Set record = Nothing
    MsgBox "Cadastro efetuado com sucesso!", vbInformation, "Cadastro"
    
    lista
End Sub

Private Sub
 lista()

    List1.Clear
    nomes = ""
    Connect
    record.Open "select * from clientes where Codigo <> '" & Codigo & "& Nome &" & Preço & ", conec, adOpenStatic, adLockOptimistic"
    
 
     
   Do While Not record.EOF
     List1.AddItem record.Fields(1) & "  " & record.Fields(2) & "  " & record.Fields(3)   'faz os dados ficarem na msm linha
     List1.ItemData(List1.NewIndex) = record.Fields(0)
     record.MoveNext
Loop

    'If Not record.EOF Then record.MoveNext

    record.Close
    conec.Close
    Set conec = Nothing
    Set record = Nothing
    
    
    
    
End Sub]

Private Sub Form_Load()
Connect
    record.Open "select * from pizza where Codigo <> '" & Codigo & "& Nome &" & Preço & ", conec, adOpenStatic, adLockOptimistic"

    Do While Not record.EOF
    List1.AddItem record.Fields(1)
    List1.AddItem record.Fields(2)
    List1.AddItem record.Fields(3)
    List1.ItemData(List1.NewIndex) = record.Fields(0)
    record.MoveNext
    Loop
    If Not record.EOF Then record.MoveNext

    record.Close
    conec.Close
    Set conec = Nothing
    Set record = Nothing
    
      
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Micaiu, primeiramente seja bem vindo ao fórum.

Caso não tenha lido nossas regras e deseje fazer, clique aqui.

 

 

Você declarou sua variável de conexão como dim, ou seja, ela só é válida dentro da sub que está sendo usada.

 

No caso, você a abre em uma sub depois tenta usar em outra.

 

Troque o Dim por Private e veja se funciona.

 

Abç.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.