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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Mostrar arquivos do banco de dados em msflexgrid
Junio
não registrado
Postada em 03/05/2006 14:09 hs   
Olá pessoal, aprendi a gravar os dados do flexgrid em banco de dados,usando loop, agora preciso mostrar todos os registro do banco dentro de um flex grid. Como faço isso? Agradeço pela ajuda recebida...
     
Alfterra
Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 03/05/2006 15:16 hs            
se registrando e fazendo uma busca no site, tem uma "porrada" de tópicos.....
     
.::Sidnei::.
ARACAJU
SE - BRASIL
ENUNCIADA !
Postada em 03/05/2006 15:17 hs            
Junio, to mandando ai abaixo uma rotina que uso para preencher um MsFlexGrid com dados do banco. Consiste em executar o select no banco, determinar a largura de cada coluna e então ir alimentando coluna a coluna até que seja o fim do seu recordset.
Espero que sirva... analisa com cuidado, pois parece complicado mas não é!
=============================================================
sSQL = "SELECT * FROM tblcabpedidos WHERE NF=" & NumNF & ""
Set rsTemp = pcConexao.Execute(sSQL)
    If rsTemp.EOF Then
        MsgBox "Nota Fiscal não localizada!", vbCritical, "Sistema Gerencial"
        txtNF.SetFocus
        Exit Sub
    Else
            NumNF = rsTemp("NF")
            sSQL = "SELECT tblcabpedidos.CodPedido as 'Código Pedido', tblcabpedidos.CodigoExterno as 'Código Externo'," & _
                   " tblcabpedidos.Data, tblcabpedidos.ValorTotalPedido as 'Valor Pedido'," & _
                   " tblcabpedidos.DataSaida as 'Data Saída', tblcabpedidos.NF, tbldetpedido.CodProduto as 'Código Produto'," & _
                   " tblprodutos.codfabricante as 'CodFabricante', tblprodutos.DescricaoCompleta as 'Descrição', tbldetpedido.IPI, tbldetpedido.ICMS, tbldetpedido.CodDetPedido as 'CódDetPedido', tbldetpedido.Quantidade," & _
                   " tbldetpedido.Valor, tblcabpedidos.CodFornecedor as 'Código Cliente', tblclientes.Nome as 'Nome Cliente'," & _
                   " tbldetpedido.Status " & _
                   " FROM ((tblcabpedidos INNER JOIN tbldetpedido ON tblcabpedidos.CodPedido = tbldetpedido.CodPedido) INNER JOIN tblprodutos ON tbldetpedido.CodProduto = tblprodutos.CodProduto) INNER JOIN tblclientes ON tblcabpedidos.CodFornecedor = tblclientes.CodCliente " & _
                   " WHERE (((tblcabpedidos.NF)=" & NumNF & ") AND ((tbldetpedido.Status)=0));"
   
              
               Set rsNF = pcConexao.Execute(sSQL)
              
                If rsNF.EOF Then
                    MsgBox "Nota Fiscal sem Itens para Devolução! Verifique!", vbCritical, "Sistema Gerencial"
                    MSFlexGrid1.Clear
                    txtCodCliente.Caption = ""
                    txtCodigoExterno.Caption = ""
                    txtCodPedido.Caption = ""
                    txtDataSaida.Caption = ""
                    txtNomeCliente.Caption = ""
                    txtValorTotal.Caption = ""
                    txtDataPedido.Caption = ""
                    txtNF.SetFocus
                    txtNF = ""
                    MSFlexGrid1.Enabled = False
                    Exit Sub
                    Unload Me
                Else
                    txtCodPedido = rsNF("Código Pedido") & " "
                    txtDataPedido = rsNF("data") & " "
                    txtCodigoExterno = rsNF("Código Externo") & " "
                    txtDataSaida = rsNF("Data Saída") & "  "
                    txtCodCliente = rsNF("Código Cliente") & " "
                    txtNomeCliente = " " & rsNF("Nome Cliente")
                    txtValorTotal = Format(rsNF("valor pedido"), "0.00") & " "
                   
                   
                 'VOU PREENCHER O FLEXGRID
                                   
                  Dim X As Integer
                
                  MSFlexGrid1.FixedCols = 0 'Determinal Quantas Colunas Fixas Vai Ter o Flexgrid
                  MSFlexGrid1.FixedRows = 1 'Determinal Quantas Linhas Fixas Vai Ter o Flexgrid
                 
                  With MSFlexGrid1
                  'Determina numero de linhas e colunas
                    .Rows = 1
                    .Cols = 8
               
                'Determina largura das colunas
                   .ColWidth(0) = 740
                   .ColWidth(1) = 1300
                   .ColWidth(2) = 3450
                   .ColWidth(3) = 1000
                   .ColWidth(4) = 1000
                   .ColWidth(5) = 1
                   .ColWidth(6) = 740
                   .ColWidth(7) = 740
               
                'Coloca Titulo nas colunas
                .Col = 1
                .Text = "Código Produto"
               
                .Col = 2
                .Text = "Descrição"
               
                .Col = 3
                .Text = "Quantidade"
               
                .Col = 4
                .Text = "Valor"
               
                .Col = 5
                .Text = "Ref.Detalhe"
               
                .Col = 6
                .Text = "% IPI"
               
                .Col = 7
                .Text = "% ICMS"
               
               
                'Popula o FlexGrid
                    While Not rsNF.EOF
                        .Rows = .Rows + 1
                        .Row = .Rows - 1
               
                        X = .Rows - 1
                        For iCol = 0 To 4
                            Call ColocaCheck(X, 0, FrmDevolucao)
                       
                            .Col = 1
                            .Text = rsNF.Fields("CodFabricante")
                            '.Text = rsNF.Fields("Código Produto")
                           
                            .Col = 2
                            .Text = rsNF.Fields("Descrição")
                           
                            .Col = 3
                            .Text = rsNF.Fields("Quantidade")
                           
                            .Col = 4
                            .Text = Format(rsNF.Fields("Valor"), "0.00")
                           
                            .Col = 5
                            .Text = rsNF.Fields("CódDetPedido")
                           
                            .Col = 6
                            .Text = rsNF.Fields("IPI")
                           
                            .Col = 7
                            .Text = rsNF.Fields("ICMS")
                           
                           
                           
                        Next
                        rsNF.MoveNext
                    Wend
                End With
                MSFlexGrid1.Enabled = True
             End If
    End If
    Exit Sub
erro:
    MsgBox Err.Number & "-" & Err.Description, vbCritical, "Sistema Gerencial"
End Sub
   
Geronimo
não registrado
Postada em 03/05/2006 15:23 hs   
Veja este exemplo somando a coluna valores :
Private Sub ClienteU_Click()
On Error GoTo Trata_Erro
Me.MousePointer = 11
Usuario.Enabled = False
Set BancoDeDados = OpenDatabase(App.Path & "salao.MDB", False)
Set TBDados = BancoDeDados.OpenRecordset("select  Data,Usuario,comentario,sum (valor) from dados Where Data >= #" & Format(DataInicial, "mm/dd/yy") & "# and data<= #" & Format(DataFinal, "mm/dd/yy") & "# and Nome='" & NomeCliente.Text & "'and Usuario='" & Nomeusuario.Text & "' group by Data,Usuario,comentario order by data desc")

If Not TBDados.EOF Then
    With MSFlexGrid1
        .Rows = 1
        .Cols = 5
        .ColWidth(0) = 0
        .ColWidth(1) = 1500
        .ColWidth(2) = 2500
        .ColWidth(3) = 0
        .ColWidth(4) = 1500
        .MergeCells = flexMergeFree
        .MergeCol(1) = True
        .TextMatrix(0, 0) = ""
        .TextMatrix(0, 1) = "Data"
        .TextMatrix(0, 2) = "Usuario"
        .TextMatrix(0, 3) = ""
        .TextMatrix(0, 4) = "Valor"
    End With
   
i = 1
Do While Not TBDados.EOF
    With MSFlexGrid1
        .Rows = i + 1
        .ColAlignment(0) = flexAlignCenterCenter ' alinha coluna
        .TextMatrix(i, 0) = i - 0 ' autonumeração colocar zero para poder começar com 1
        .ColAlignment(1) = flexAlignCenterCenter
        .TextMatrix(i, 1) = TBDados(0)
        .ColAlignment(2) = flexAlignCenterCenter
        .TextMatrix(i, 2) = TBDados(1)
        .ColAlignment(3) = flexAlignCenterCenter
        .TextMatrix(i, 3) = TBDados(2)
        .ColAlignment(4) = flexAlignRightCenter
        .TextMatrix(i, 4) = Format(TBDados(3), "Currency")
        .Col = 4
        .Row = i
        .CellForeColor = vbRed
        .CellFontBold = True
    End With
   
i = i + 1
SomaColuna = SomaColuna + TBDados(3)
TBDados.MoveNext
Loop
' Textbox com o total da coluna
Saldo.Text = Format(SomaColuna, "currency")
End If
FlexCores &HFFFFFF, &HC0FFFF ' este cara deixa o flex zebrado
Me.MousePointer = 0
Exit Sub
Trata_Erro:
MsgBox "Você  Selecionou DADOS INVÁLIDOS!!!!"
End Sub
 
 
Função para deixar o flex zebrado :
 
Sub FlexCores(lCorPar As Long, lCorImpar As Long)
  Dim iLinha As Integer
  MSFlexGrid1.FillStyle = flexFillRepeat
  For iLinha = 1 To MSFlexGrid1.Rows - 1
     With MSFlexGrid1
       .Row = iLinha
       If EImpar(iLinha) Then 'Se a linha for impar:
         'Seleciona a partir da primeira coluna
         .Col = 1
         'Seleciona até a última coluna
         .ColSel = .Cols - 1
         'Aplica a cor
         .CellBackColor = lCorImpar
       Else 'Se a linha for par:
         'Seleciona a partir da primeira coluna
         .Col = 1
         'Seleciona até a última coluna
         .ColSel = .Cols - 1
         'Aplica a cor
         .CellBackColor = lCorPar
       End If
     End With
  Next
  MSFlexGrid1.FillStyle = flexFillSingle
End Sub
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 03/05/2006 15:43 hs            
Vc pode usar tb a propriedade DataSource do seu flexgrid....
Sendo rs o seu recordset para acessar a tabela no banco de dados.
 
'Exemplo para ADO
 
Set MSHFlexgrid.DataSource = rs
 
qq dúvida é só postar...
 
t+
     
Junio
não registrado
Postada em 04/05/2006 07:28 hs   
Olá pessoal, muito obrigado pelas dicas oferecidas, vasleu mesmo e ajudou bastante. Desde já agradeço a todos pela ajuda....
     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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