USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  RecordCount
Carlos Sergio
não registrado
ENUNCIADA !
Postada em 18/04/2009 15:30 hs   
Estou tantando preencher um listview no entando quando o cursor percorre a rodina no loop ele entende que a tabela esta vazia, mas na relidade não esta. Na depuração quando o cursor chega linha   If .RecordCount > 0 Then ao invez dele ir para a linha seguinte ele ja pula direto para o else, como se não houvesse registros nas tabelas.
alguém sabe porque isso ocorre?
 
With rsTemp
            str_sql = "SELECT TB_Det_Pesc_Pescador.Codigo_Det_Pesc_pescador, "
            str_sql = str_sql & " TB_Det_Pesc_Pescador.Codigo_Pescaria, "
            str_sql = str_sql & " TB_Det_Pesc_Pescador.Codigo_Pescador , "
            str_sql = str_sql & " Pescadores.Nome FROM Pescaria INNER JOIN "
            str_sql = str_sql & " (Pescadores INNER JOIN TB_Det_Pesc_Pescador ON "
            str_sql = str_sql & " Pescadores.Codigo_Pescador = "
            str_sql = str_sql & " TB_Det_Pesc_Pescador.Codigo_Pescador) "
            str_sql = str_sql & " ON Pescaria.Codigo_Pescaria = "
            str_sql = str_sql & " TB_Det_Pesc_Pescador.Codigo_Pescaria "
            str_sql = str_sql & " WHERE TB_Det_Pesc_Pescador.Codigo_Pescaria = " & Text1(0).Text
            .Open str_sql, Banco.conexao, adOpenKeyset, adLockOptimistic
            If .RecordCount > 0 Then
                lvwPescador.ListItems.Clear
                Do While Not .EOF
                    Set LISTA = lvwPescador.ListItems.Add(, , !codigo_pescador)
                    LISTA.SubItems(1) = !Nome
                    .MoveNext
                Loop
            Else
                lvwPescador.ListItems.Clear
            End If
   
Álvaro
Pontos: 2843
GUARULHOS
SP - BRASIL
Postada em 18/04/2009 22:54 hs            
Carlos Sergio, primeiro vc tem que abrir o banco para depois usar o select
Exemplo, o que eu faço, crio um módulo
Sub AbreBanco()
   Dim sPath As String
  
   Set db = New ADODB.Connection
   sPath = App.Path & "mercado.mdb"
   db.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & sPath '& ";Jet OLEDB:Database Password=alv2209"
   BancoAberto = True
End Sub

no load do form

abrebanco

e onde eu quiser fazer a busca
Sql = "select v.coditem,v.quant,v.valorunitario,i.descricao from vendaitens v " & _
         "inner join itens i on i.codbarras = v.coditem " & _
         "Where v.codvenda = " & Val(LblNVenda.Caption) & " and v.nvenda = " & Posicao & " and v.ncaixa = " & Val(NCaixa) & " and v.data = #" & Format(Date, "MM/DD/YYYY") & "#"
         Set Banco = db.Execute(Sql)

No seu caso vc esta abrindo sem setar a conexão com o banco
Espero ter entendido a sua dúvida e poder ter te ajudado da melhor forma

Abraço e que DEUS te abençõe, espero poder ter te ajudado
Eu sou o Senhor, o DEUS de vocês;
eu os seguro pela mão e lhes digo;
Não fiquem com medo, pois eu os ajudo
Isaias 41:13
     
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
Postada em 18/04/2009 22:56 hs            
TENTE ESTA PEQUENA ALTERAÇÃO NESTE TRECHO DO CÓDIGO
 
If Not (.EOF = True And .BOF = True) Then
                lvwPescador.ListItems.Clear
                Do While Not .EOF
                    Set LISTA = lvwPescador.ListItems.Add(, , !codigo_pescador)
                    LISTA.SubItems(1) = !Nome
                    .MoveNext
                Loop
            Else
                lvwPescador.ListItems.Clear
            End If
 
     
APW
S.J.RIO PRETO
SP - BRASIL
ENUNCIADA !
Postada em 19/04/2009 11:47 hs         
eu uso esta minha funçãozinha pra preencher tanto listview ou combo não tem erro... (é só colocar num modulo geral)


Public Function RefazerComboLista(aCMB As Control, aSQL As String, aCampoDescricao As String, Optional aCampoItemData As String = "")
    'ESTA SUB-ROTINA PREENCHE UM COMBOBOX OU UMA LISTBOX COM OS DADOS RESULTANTES DE UM CONSULTA SQL. EX:
    'RefazerComboLista CMB_Fornecedor, "SELECT FOR_CODFOR, FOR_NOMFOR FROM TAB_CADFOR ORDER BY FOR_NOMFOR", "FOR_NOMFOR", "FOR_CODFOR"
    Dim Tabela As New ADODB.Recordset
    
    aCMB.Clear
    Tabela.CursorLocation = adUseClient
    Tabela.Open aSQL, poConexao, adOpenForwardOnly, adLockReadOnly
    If Tabela.RecordCount > 0 Then
        Tabela.MoveMin
        Do
             aCMB.AddItem Tabela(aCampoDescricao)
            If aCampoItemData <> "" Then aCMB.ItemData(aCMB.NewIndex) = Val(Tabela(aCampoItemData))
            Tabela.MoveNext
        Loop Until Tabela.EOF
    End If
    Tabela.Close
    Set Tabela = Nothing
End Function
   
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 21/04/2009 01:36 hs            
Se nada resolver, abra o Access e compacte o BD, pode estar com erro.
 
vlu//
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página