RUN-TIME ERROR 3709

USUARIO.EXCLUIDOS 08/08/2007 14:39:12
#230031
eis aqui 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


Quando coloco um código de usuário me informa o seguinte erro:

Run-time error '3709': A operação solicitada requer um obijeto OLE DB Session, para o qual não há suporte do provedor atual.

Onde está o problema?
SILVERDRAGON 08/08/2007 15:23:53
#230040
O problema nao é no seu codigo + sim la na parte que vc esta fazendo a conexao... o PROVIDER esta errado...coloquei um outro provedor..
Tenta esse:


db.Open "Provider=MSDASQL;



flw
USUARIO.EXCLUIDOS 08/08/2007 17:20:06
#230087
o meu está assim:

Private Sub Timer1_Timer()
On Error GoTo errConexao
cnnBiblio.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" & _
"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

FLAVIOGUILHERME 08/08/2007 17:30:48
#230089
'Tenta conectar assim:

Public Sub Conecta()
Set cnn = New Connection
cnn.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source='" & App.Path & "\BolOnLine.mdb';Jet OLEDB:Database Password=241000;"
Set rs = New ADODB.Recordset
rs.Open SqlTabela, cnn, adOpenKeyset, adLockOptimistic, adCmdText

End Sub


USUARIO.EXCLUIDOS 08/08/2007 17:58:38
#230096
Ainda não funcionou, ficou assim:

Private Sub Timer1_Timer()

Set cnnBiblio = New Connection
cnnBiblio.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= '" & App.Path & "\biblio.mdb;'" & _
"Jet OLEDB:Database Password=241000;"
'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



SILVERDRAGON 08/08/2007 22:20:08
#230108
Faz assim:


[c]Private Sub Timer1_Timer()

Set cnnBiblio = New Connection
cnnBiblio.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= '" & App.Path & "\biblio.mdb;'" & _
"Jet OLEDB:Database Password=241000;"
'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


flw
[/c]
USUARIO.EXCLUIDOS 09/08/2007 09:14:53
#230135
Continua mostrando o mesmo erro na seguinte linha

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 [txt-color=#ff0000]<<<<---DAQUI NÃO PASSA--->>>[/txt-color]
.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

USUARIO.EXCLUIDOS 09/08/2007 10:37:08
#230157
Troque isto aqui:
    With cnnComando
.ActiveConnection = cnnBiblio '#ff0000'><<<<---DAQUI NÃO PASSA--->>>
.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



Por isto aqui:
    rsSelecao.Open "SELECT * FROM Usuarios WHERE CodUsuario = " & _
txtCodUsuario.Text, cnnBiblio, 3

USUARIO.EXCLUIDOS 09/08/2007 12:27:16
#230185
Blz Marcelohf,

mas o problema é que eu não estou conseguindo conectar com o banco de dados, biblio.mdb que está na mesma pasta do projeto, está dando o erro citado no tópico, já tentei da forma que o SILVERDRAGON e o FLAVIOGUILHERME me passaram mas ainda assim não consegui conectar, entendam que sou iniciante e estou fazendo os exercícios de uma apostila pois não tenho tantos argumentos pra identificar o problema.
USUARIO.EXCLUIDOS 17/08/2007 09:20:50
#231295
Problema resolvido pessoal o erro era que eu coloquei a conexão em um formulário que não estava iniciado então nunca iria conectar. rsrsrsrsrs.

Desculpem o atrapalho mas iniciante é assim mesmo.

Fiquem com Deus.
Tópico encerrado , respostas não são mais permitidas