Ir ao conteúdo
  • Cadastre-se

DavidsonGomes1998

Membro Pleno
  • Posts

    21
  • Cadastrado em

  • Última visita

posts postados por DavidsonGomes1998

  1. 1 hora atrás, Basole disse:

    @DavidsonGomes1998 se quer inserir os dados juntamente com o carregamento do ListView, 

     

    Eu faria assim, usando o select case: 

     

    Declarando as variaveis: 

    
    'DESPESAS
    Dim SomaDh_D    As Double
    Dim SomaDe_D    As Double
    Dim SomaCr_D    As Double
    Dim SomaCHA_D   As Double
    Dim SomaCHP_D   As Double
    Dim SomaBa_D    As Double

     

    Dentro do while:

     

    
    
           'DESPESAS
        Select Case rs!CodPlanoVenda & rs!Natureza
     
                Case Is = "dinheiro" & "D"
                SomaDh_D = SomaDh_D + rs!Valor.Value
                
                Case Is = "DINHEIRO" & "D"
                SomaDh_D = SomaDh_D + rs!Valor.Value
                
                Case Is = "CARTÃO DÉBIT.." & "D"
                SomaDe_D = SomaDe_D + rs!Valor.Value
                
                Case Is = "BANCO" & "D"
                SomaBa_D = SomaBa_D + rs!Valor.Value
                '    Continue... abaixo...
                ' SomaCr_D
                ' SomaCHP_D
                ' SomaCHA_D
                
        End Select

    Depois associe cada variavel aos respectivos campos (textbox (s)) 

    As Receitas deixo por sua conta, é so sequir a lógica 😆

     

    Então deixa eu ser mais especifico.

     

    eu tenho a Label Saldo caixa

     

    nela é pra ir a soma de toda a tabela de fluxo do access

    mas so os itens que tiverem o "1" na coluna CodPlanoVenda e o "D" na Natureza.

    como faz essa soma?

     

    tentei adaptar o Select Case mas nao ta me dando o valor correto

    ta colocando apenas o valor da primeira linha da tabela

     

     

    aqui como fiz o codigo

    Dim Soma_Dh As Double
    
    ConectDB
    
        rs.Open "Select * From tb_fluxo", db, 3, 3
            Select Case rs!CodPlanoVenda & rs!Natureza
                Case Is = "1" & "D"
                Soma_Dh = Soma_Dh + rs!valor.Value
            End Select
    FechaDb
    
    Lbl_Saldo_DinheiroCaixa = Soma_Dh

     

  2. Fala pessoal, sei q to postando coisa atras de coisa kkkk, mas to aprendendo muito com isso tudo

     

    To montando meu fluxo de caixa.

    ele ja esta gerando a listview puxando da tabela access de acordo com o intervalo de datas a cima.

     

    agora preciso fazer as somas para o controle de caixa kkk.

     

    tipo a formula somases do excel

    como fazer isso nos itens filtrados pela list view?

     

    Os calculos seriam da seguinte forma

    somando a coluna Valor

    iria separar pelo cod do plano de venda

    1 = dinheiro

    2 = debito

    e por ai vai

     

    e tambem dividir pela natureza

    D = despeza

    R = Receita

    B = Banco

     

    print da tela do fluxo de caixa

    Spoiler

    image.png.95e6f58e88d4d9fc7a9ac471bec3bdb6.png

     

    codigos da ListView

    Spoiler
    
    Sub carregar_fluxo()
    Dim data As Date
    Dim inicio As Date
    Dim fim As Date
    
    inicio = Txt_Data1
    fim = Txt_Data2
    
    ConectDB
        
        rs.Open "Select * from tb_fluxo where Data Between'" & inicio & "' AND '" & fim & "'", db, 3, 3
        
        On Error Resume Next
        
        Me.ListView1.ListItems.Clear
        
        While Not rs.EOF
        
            
            Set List = Me.ListView1.ListItems.Add(Text:=rs!data)
                List.SubItems(1) = rs!CodPlanoVenda
                List.SubItems(2) = rs!PlanoVenda
                List.SubItems(3) = rs!CodPlanoConta
                List.SubItems(4) = rs!Descricao
                List.SubItems(5) = Format(rs!Valor.Value, "currency")
                List.SubItems(6) = rs!Natureza
             
             
             
                
                rs.MoveNext
        Wend
        
    FechaDb
    
    
    
    
    End Sub
    

     

     

  3. Bom dia mestres,

     

    Eu to fazendo um método de pesquisa por ListView, com uma tabela no access.

    pimeiro fiz a condição de se todas as checkbox estiverem desmarcadas ele buscar todos os cadastros, ae ai tudo perfeito

    depois fui fazendo as IF para cada checkbox, fiz a ID funcionou perfeitamente, porém logo na segunda IF do cliente nao funciona. nao consigo entender por que!

    abaixo esta o codigo o trabalhando e uma print do Formulário!

    
        Dim ID As String
        Dim CLIENTE As String
        
        
    If Me.CheckBox_ID.Value = False And Me.CheckBox_Cliente.Value = False And Me.CheckBox_CPF.Value = False _
    And Me.CheckBox_CNPJ.Value = False And Me.CheckBox_Cidade.Value = False And Me.CheckBox_UF.Value = False Then
        
        
        ConectDB
        
        rs.Open "Select * from tb_clientes", db, 3, 3
        
        On Error Resume Next
        
        Me.ListView1.ListItems.Clear
        
        While Not rs.EOF
        
            Set List = Me.ListView1.ListItems.Add(Text:=rs(0))
                List.SubItems(1) = rs(1)
                List.SubItems(2) = rs(2)
                List.SubItems(3) = rs(4)
                List.SubItems(4) = rs(5)
                List.SubItems(5) = rs(6)
                List.SubItems(6) = rs(7)
                List.SubItems(7) = rs(8)
                List.SubItems(8) = rs(10)
                List.SubItems(9) = rs(12)
                
                rs.MoveNext
        Wend
        
        FechaDb
    End If
    
    If Me.CheckBox_ID.Value = True Then
    
        ID = Me.Txt_Busca.Text
        
        ConectDB
        
        rs.Open "Select * from tb_clientes where Codigo like '" & ID & "'", db, 3, 3
        
        On Error Resume Next
        
        Me.ListView1.ListItems.Clear
        
        While Not rs.EOF
        
            Set List = Me.ListView1.ListItems.Add(Text:=rs!Codigo)
                List.SubItems(1) = rs!Nome
                List.SubItems(2) = rs!DECONTO
                List.SubItems(3) = rs!CPF
                List.SubItems(4) = rs!CNPJ
                List.SubItems(5) = rs!ENDERECO
                List.SubItems(6) = rs!CIDADE
                List.SubItems(7) = rs!ESTADO
                List.SubItems(8) = rs!TELEFNE
                List.SubItems(9) = rs!Email
                
                rs.MoveNext
        Wend
        
        FechaDb
    End If
    
    If Me.CheckBox_Cliente.Value = True Then
    
        CLIENTE = Me.Txt_Busca.Text
        
        ConectDB
        
        rs.Open "Select * from tb_clientes where Nome like '" & CLIENTE & "'", db, 3, 3
        
        On Error Resume Next
        
        Me.ListView1.ListItems.Clear
        
        While Not rs.EOF
        
            Set List = Me.ListView1.ListItems.Add(Text:=rs!Codigo)
                List.SubItems(1) = rs!Nome
                List.SubItems(2) = rs!DECONTO
                List.SubItems(3) = rs!CPF
                List.SubItems(4) = rs!CNPJ
                List.SubItems(5) = rs!ENDERECO
                List.SubItems(6) = rs!CIDADE
                List.SubItems(7) = rs!ESTADO
                List.SubItems(8) = rs!TELEFNE
                List.SubItems(9) = rs!Email
                
                rs.MoveNext
        Wend
        
        FechaDb
    End If
    
    
    End Sub
    

    image.thumb.png.90b2127ffcbef66029827353879c35b6.png

  4. 6 minutos atrás, Basole disse:

    Considerando que os dados armazenados na combobox cep, como valores,experimente sem as aspas simples.

     

    
    rs.Open "Select * FROM [tb_cep] WHERE [Codigo]=" & ComboBox_Cep.Text, db, 3, 3

     

    ainda continua.

    ate alterei de combobox para txtbox.

    ConectDB
            
            rs.Open "Select * FROM [tb_cep] WHERE [Codigo]=" & ComboBox_Cep.Text, db, 3, 3
                    
                If Not rs.EOF And Not rs.BOF Then
              
                    ' * Altere abaixo o nome da textbox CIDADE e Combobox UF
                        Me.Txt_Cidade.Value = rs.Fields(4).Value
                        Me.Txt_Estado.Value = rs.Fields(5).Value
                        
             
                Else
              
                        MsgBox "Registro Não Encontrado"
                
                End If
              
      FechaDb

     

    adicionado 2 minutos depois
    8 minutos atrás, Basole disse:

    Considerando que os dados armazenados na combobox cep, como valores,experimente sem as aspas simples.

     

    
    rs.Open "Select * FROM [tb_cep] WHERE [Codigo]=" & ComboBox_Cep.Text, db, 3, 3

     

    na verdade funcionou, uma coisa q nao reparei é q tava com uma formatação programada, e tava ficando diferente do banco por causa dos pontos kkk, valeu mestre

  5. 46 minutos atrás, Basole disse:

    Coloque a instrucão no evento _Click da Combobox CEP, para acionar automaticamente

     

    
    ConectDB
           
            rs.Open "Select * FROM [tb_cep] WHERE [Codigo]='" & "NOME_DO_SEU_COMBOBOX_C/A PROPRIED .Text(*sem as aspas) " & "'", db, 3, 3
                    
              If Not rs.EOF And Not rs.BOF Then
              
                    ' * Altere abaixo o nome da textbox CIDADE e Combobox UF
                     Me.textbox1.Text = rs.Fields(4).Value
                     Me.combobox1.Text = rs.Fields(5).Value
             
              Else
              
                    MsgBox "Registro Não Encontrado"
                
               End If
              
      FechaDb

     

    Bom no evento click nao funciona porque são muuuuitos ceps, teria que ser no exit.

     

    tentei ajustar o codigo mas so passa pro msgbox. da uma olhada, o que fiz errado?

     

    ConectDB
            
            rs.Open "Select * FROM [tb_cep] WHERE [Codigo]='" & ComboBox_Cep.Text & "'", db, 3, 3
                    
                If Not rs.EOF And Not rs.BOF Then
              
                    ' * Altere abaixo o nome da textbox CIDADE e Combobox UF
                        Me.ComboBox_cidade.Text = rs.Fields(4).Value
                        Me.ComboBox_estado.Text = rs.Fields(5).Value
             
                Else
              
                        MsgBox "Registro Não Encontrado"
                
                End If
              
      FechaDb

     

  6. 6 minutos atrás, bngomes disse:

    Pelo código do SQL em Sub Carrega_Estado() vai trazer uma linha pra cada registro na tabela de cep... se tiver 5000 registros vai gerar um combo com 5000 registros duplicando... o mesmo vai ocorrer no combo de cidade

     

     A solução elegante.. é ter uma tabela de CEP, uma tabela de cidades e uma tabela de estados... na tabela de CEP você só grava a cidade... na tabela de cidade teria uma chave para a tabela de estado.. e cada combo carregaria a tabela correspondente, embora não aconselho um combo pra cidade pois terá muitos registros...

     

    Ficaria assim + ou -:

     

    tb_estado: id_estado, nome_estado

    tb_cidade: id_cidade, nome_cidade, id_estado (FK de tb_estado)

    tb_cep: id_cep, cep, id_cidade

     

     

    Solução Pratica:

    select distinct UF  FROM tb_cep order by UF , você tira o * que traz todos os campos e traz só a UF usando Distinct para que não se repitam... 

     

    Funcionou perfeitamente amigo, obrigado

  7. Bom dia/tarde/noite,

     

    Estou aos poucos desenvolvendo meu sisteminha aqui. Fiz uma caixa de combinação com os dados que se encontram no meu banco de dados no access, no caso aqui, cidade, estado e CEP, mas como a maior parte das cidades nao são CEP unico, acaba se repetindo as cidades e estados nas listas do banco de dados. como faço para nao mostrar repetido nas combobox?

     

    Logo a baixo está o codigo usado para carregar as combo box. coloquei a call das macros no initialize do formulario

    Sub Carrega_CEP()
    ConectDB
        rs.Open "select * FROM tb_cep order by Codigo", db, 3, 3
        
        Do Until rs.EOF
        Me.ComboBox_Cep.AddItem rs!Codigo
        rs.MoveNext
        Loop
        FechaDb
    End Sub
    
    Sub Carrega_Estado()
    ConectDB
        rs.Open "select * FROM tb_cep order by UF", db, 3, 3
        
        Do Until rs.EOF
        Me.ComboBox_Estado.AddItem rs!UF
        rs.MoveNext
        Loop
    FechaDb
    End Sub
    
    Sub Carrega_Cidade()
    ConectDB
        rs.Open "select * FROM tb_cep order by Cidade", db, 3, 3
        
        Do Until rs.EOF
        Me.ComboBox_Cidade.AddItem rs!Cidade
        rs.MoveNext
        Loop
    FechaDb
        
    End Sub

     

     

     

    tela.png

     

  8.  

    Em 13/11/2019 às 10:13, Basole disse:

    Veja o exemplo de pesquisa do registro, e caso já exista mostra a mensagem, e limpa os campos (TexttBox).

     

    
    Private Sub Btn_Salvar_Click()
     ConectDB
        
            rs.Open "Select * FROM [tb_usuarios] WHERE [Codigo]=" & Me.Txt_ID.Value, db, 3, 3
                    
              If rs.EOF Then
                rs.AddNew
                    rs!Codigo = Me.Txt_ID.Value
                    rs!Usuarios = Me.Txt_usuario.Value
                    rs!Senha = Me.Txt_senha.Value
                    rs.Update
                    
                    MsgBox "Registrado Com Sucesso!", vbInformation, "REGISTRADO"
              Else
              
              MsgBox "ID ja existir no BD", vbInformation, "Aviso"
              
                    Me.Txt_ID.Value = ""
                    Me.Txt_usuario.Value = ""
                    Me.Txt_senha.Value = ""
              End If
      FechaDb
    End Sub

     

    Eu fiz aqui esse processo ai, funcionou, porém os novos cadastros tambem ta indo pro else e nao cadastra, diz q ja existe

  9. Boa tarde gente, estou aprendendo ainda usar o access como banco de dados.

     

    Segui os tutoriais do diarioexcel.com.br para conexao e programar as funcões, gravar, alterar e excluir.

    porém eu nao to conseguindo adicionar funções aos botões sem q interfira na conexão do banco de dados. alguem pode me dizer onde eu colocaria,

    condições como se o campo ID ja existir no BD os demais campos ficarem vazios "", ou se o ID ja existir desabilitar o botao gravar e habilitar os outros e por ai vai

     

    segue abaixo os codigos:

     

    Spoiler

    Tela Login

     

    TXT_ID

    
    Private Sub Txt_ID_Change()
    On Error Resume Next
       CodRegistro = Txt_ID
       ConectDB
         rs.Open "Select * From tb_usuarios Where Codigo=" & CodRegistro, db, 3, 3
            Me.Txt_usuario = rs!Usuarios
            Me.Txt_senha = rs!Senha
                 
            rs.MoveNext
        FechaDb
    End Sub
    

     

    SALVAR

    
    Private Sub Btn_Salvar_Click()
     ConectDB
        
            rs.Open "Select * FROM tb_usuarios", db, 3, 3
                rs.AddNew
                    rs!Codigo = Me.Txt_ID.Value
                    rs!Usuarios = Me.Txt_usuario.Value
                    rs!Senha = Me.Txt_senha.Value
                    rs.Update
    FechaDb
        MsgBox "Registrado Com Sucesso!", vbInformation, "REGISTRADO"
    End Sub

    EXCLUIR

    
    Private Sub Btn_Excluir_Click()
    CodRegistro = Me.Txt_ID
            
            ConectDB
                rs.Open "Select * From tb_usuarios Where Codigo=" & CodRegistro, db, 3, 3
                      rs.Delete
                      rs.Update
            FechaDb
            
            MsgBox "Excluido com Sucesso!"
    End Sub

     

    ALTERAR

    
    Private Sub Btn_Alterar_Click()
    CodRegistro = Me.Txt_ID
            
            ConectDB
                rs.Open "Select * From tb_usuarios Where Codigo=" & CodRegistro, db, 3, 3
                         rs!Usuarios = Me.Txt_usuario
                         rs!Senha = Me.Txt_senha
                         rs.Update
            FechaDb
            
            MsgBox "Alterado com Sucesso!"
    End Sub

     

     

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!