Ir para conteúdo
Fórum Script Brasil
  • 0

Erro Ao Carregar O Listview


Rafael Portal

Pergunta

Olá gente é o seguinte estou tentando carregar um ListView mas desta ves aconteceu um erro que eu não conhecia gostaria que vces me ajudassem a resolve-lo:

Public Sub CarregaLvw()
    Dim Lvw As ListItem
    Dim CodCliente As Integer
    Dim Data As String
    
    Data = Format(Date, "dd/mm/yyyy")
    
    sSql = "Select C.Nome, L.Lembrete from Cliente C, Lembrete L Where Data = #" & Data & "#"
    AbreBanco (sSql)
    Do While Rs.EOF = False 'Aqui gera o Erro
        Set Lvw = Me.Lvw.ListItems.Add(, , Rs!CodCliente)
        Lvw.Text = Rs!Nome
        Lvw.SubItems(1) = Rs!Lembrete
        Rs.MoveNext
    Loop
    Rs.Close
End Sub

Este é o Erro:

Run-time error '3704':

Operation is not allowed when the object is closed.

Alguém sabe como resolver??????

Desde já agradecido..

Rafael Portal

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Rafael,

Acredito que o problema esteja na sua rotina AbreBanco (sSql), pois o erro retornado indica q você está tentando efetuar uma operação (Do While Rs.EOF = False) com o recordset fechado.

Abs,

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Natarelli dá uma olhada no código da minha função que abre o banco .. Tu vai ver que o RecordSet está aberto sim!!! Por isso que é estranho o erro que acontece...

Public Function AbreBanco(ByVal sSql As String) As Boolean
    Dim Caminho As String
    Set Conexao = New ADODB.Connection
    Set Rs = New ADODB.Recordset
    Set Rs = CreateObject("ADODB.Recordset")
    
    On Error GoTo Erro
    Caminho = "\\davi\CadGeral\DbCadastroTotal.mdb"
    Set Conexao = CreateObject("ADODB.Connection")
    Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source= " & Caminho & ";" & _
                   "User Id=admin;" & _
                   "Password=;"

    Rs.Open sSql, Conexao, adOpenKeyset, adLockOptimistic
    AbreBanco = True

Erro:
    If Err.Number = "-2147467259" Then
        MdiFPrincipal.StBar.Panels(2) = "Não conectado ao banco"
        Exit Function
    End If
End Function

Link para o comentário
Compartilhar em outros sites

  • 0

Rafael,

Inibe na sua function o tratamento de erro, pra verificar se a conexão está ocorrendo mesmo, pois como você está tratando um nº de erro especifico (Err.Number = "-2147467259" ) pode estar ocorrendo um outro erro.

Abs,

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...