locked
Run-time error '3709' ??????? RRS feed

  • Pergunta

  • Ao tentar conectar com o banco de dados biblio.mdb, (usando o vb 6.0) assim que digito o código de usuário no meu formulário me informa o seguinte erro:

    Run-time error '3709'

    A operação solicitada requer um objeto OLE DB Session, para o qual não há suporte do provedor atual.

    Esse é o código:

    Private Sub txtCodUsuario_LostFocus()
    Dim cnnComando As New ADODB.Command
    Dim rsSelecao As New ADODB.Recordset

        'On Error GoTo errSelecao
        'Verifica se foi digitado um código válido:
        If Val(txtCodUsuario.Text) = 0 Then
            MsgBox "Não foi digitado um código válido, verifique.", _
                vbExclamation + vbOKOnly + vbApplicationModal, "Erro"
            Exit Sub
        End If
       
        Screen.MousePointer = vbHourglass
       
        With cnnComando
            .ActiveConnection = CnnBiblio
            .CommandType = adCmdText
            'Monta o comando SELECT para selecionar o registro na tabela:
            .CommandText = "SELECT * FROM Usuarios WHERE CodUsuario = " & _
                txtCodUsuario.Text & ";"
            Set rsSelecao = .Execute
        End With
             
        With rsSelecao
            If .EOF And .BOF Then
                'Se o recordset está vazio, não retornou registro com esse código:
                LimparDados
                'Identifica a operacao como Inclusão:
                vInclusao = True
            Else
                'Senão, atribui aos campos os dados do registro:
                txtNomeUsuario.Text = !NomeUsuario
                txtEndereco.Text = !Endereco
                txtCidade.Text = !Cidade
                txtEstado.Text = !Estado
                txtCEP.Text = !CEP
                txtTelefone.Text = Empty & !Telefone
                'Identifica a operacao como Alteração:
                vInclusao = False
                'Habilita o botão Excluir:
                Toolbar1.Buttons(3).Enabled = True
            End If
        End With
        'Desabilita a digitação do campo código:
        txtCodUsuario.Enabled = False
    Saida:
        'Elimina o command e o recordset da memória:
        Set rsSelecao = Nothing
        Set cnnComando = Nothing
        Screen.MousePointer = vbDefault
        Exit Sub
    errSelecao:
        With Err
            If .Number <> 0 Then
                MsgBox "Houve um erro na recuperação do registro solicitado.", _
                    vbExclamation + vbOKOnly + vbApplicationModal, "Aviso"
                .Number = 0
                GoTo Saida
            End If
        End With
    End Sub

    Onde está o problema?
    quinta-feira, 9 de agosto de 2007 19:47

Respostas

  • Olá, baixei a mesma apostila, verifiquei que a definição da connectionString do objeto adodb.connection

    estava em outro formulário,  como foi dito. quem tiver esse problema, faça a connectionString e a abertura da conexão do mesmo formulário.

    • Marcado como Resposta Marcos SJ segunda-feira, 15 de fevereiro de 2016 10:44
    segunda-feira, 15 de fevereiro de 2016 01:28

Todas as Respostas

  • Olá Fpetrucc, faça um teste, copie o seu mdb e convertar para a versão 97 ou a anterior. ve se funciona.

    sexta-feira, 10 de agosto de 2007 11:40
  • Não adiantou, o código que faz a conexão está assim:

    Private Sub Timer1_Timer()

        On Error GoTo errConexao
            CnnBiblio.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                         "Data Source=" & App.Path & "\Biblio.mdb;"
            CnnBiblio.Open
            Unload Me
            frmBiblio.Show
        Exit Sub

    errConexao:
    With Err
        If .Number <> 0 Then
            MsgBox "Houve um erro na conexão com o banco de dados." & _
            vbCrLf & "O sistema será encerrado.", _
            vbCritical + vbOKOnly + vbApplicationModal, _
            "Erro na conexão"
            .Number = 0
    Set CnnBiblio = Nothing
        End
        End If
    End With
    End Sub
    sexta-feira, 10 de agosto de 2007 15:28
  • Pessoal consegui, o erro foi que rotina pra conectar ao bd estava no load de um formulário que eu não tinha aberto ainda.

    Mas de qualquer obrigado a todos que tentaram ajudar, espero contar mais e mais com vcs.


    Fiquem com Deus.
    • Sugerido como Resposta SimorC segunda-feira, 15 de fevereiro de 2016 04:17
    sexta-feira, 10 de agosto de 2007 20:19
  • Olá, baixei a mesma apostila, verifiquei que a definição da connectionString do objeto adodb.connection

    estava em outro formulário,  como foi dito. quem tiver esse problema, faça a connectionString e a abertura da conexão do mesmo formulário.

    • Marcado como Resposta Marcos SJ segunda-feira, 15 de fevereiro de 2016 10:44
    segunda-feira, 15 de fevereiro de 2016 01:28