ADICIONAR ITENS MSFLEXGRID
Pessoal...
como eu faço p/ adicionar ÃÂÂtens do meu banco de dados no meu MSFLEXGRID???
vlwww
como eu faço p/ adicionar ÃÂÂtens do meu banco de dados no meu MSFLEXGRID???
vlwww
Grid1.Clear
Grid1.Rows = 2
Cabeca
RSServicos.Open "Select *from Servicos;", Conexao, 3, 3
While Not RSServicos.EOF
With Grid1
.TextMatrix(.Rows - 1, 1) = "" & RSServicos!Codigo
.TextMatrix(.Rows - 1, 2) = "" & RSServicos!servico
.TextMatrix(.Rows - 1, 3) = "" & FormatNumber(RSServicos!Valor, 2)
.TextMatrix(.Rows - 1, 4) = "" & RSServicos!Comissao
.TextMatrix(.Rows - 1, 5) = "" & RSServicos!Tipo
.Rows = .Rows + 1
End With
RSServicos.MoveNext
Wend
RSServicos.Close
Set RSServicos = Nothing
Grid1.Rows = Grid1.Rows - 1
Grid1.Rows = 2
Cabeca
RSServicos.Open "Select *from Servicos;", Conexao, 3, 3
While Not RSServicos.EOF
With Grid1
.TextMatrix(.Rows - 1, 1) = "" & RSServicos!Codigo
.TextMatrix(.Rows - 1, 2) = "" & RSServicos!servico
.TextMatrix(.Rows - 1, 3) = "" & FormatNumber(RSServicos!Valor, 2)
.TextMatrix(.Rows - 1, 4) = "" & RSServicos!Comissao
.TextMatrix(.Rows - 1, 5) = "" & RSServicos!Tipo
.Rows = .Rows + 1
End With
RSServicos.MoveNext
Wend
RSServicos.Close
Set RSServicos = Nothing
Grid1.Rows = Grid1.Rows - 1
olha, aqui vai uma rotininha para preencher a grid
Do until recordset.eof
Grid.TextMatrix(0, 1) = recordset(0).value
Grid.TextMatrix(0, 2) = recordset(1).value
Grid.TextMatrix(0, 3) = recordset(2).value
Grid.TextMatrix(0, 4) = "recordset(3).value
Grid.TextMatrix(0, 5) = recordset(4).value
recordset.movenext
loop
Do until recordset.eof
Grid.TextMatrix(0, 1) = recordset(0).value
Grid.TextMatrix(0, 2) = recordset(1).value
Grid.TextMatrix(0, 3) = recordset(2).value
Grid.TextMatrix(0, 4) = "recordset(3).value
Grid.TextMatrix(0, 5) = recordset(4).value
recordset.movenext
loop
O ideal é criar uma subrotina para ao abrir o form, ao inserir um item, ao deletar etc, essa sub seja chamada e a grid atualizada. Pois do contrário as mudanças no banco não aparecem na grid(Depois de excluir, o valor ainda vai aparecer no grid). O MsHflexgrid é melhor para ligar o banco àgrid (Nem precisa loop). Procure em componentes por Microsoft Hierarchial Flexgrid Control. Anexo, um exemplo que mostra como usar o Hgrid com Ado. Observe que a qualquer mudança no banco, imediatamente aparece no hgrid. Se estiver dificuldade de colocar a hgrid na configuração deste projeto, copie este componente e cole no seu projeto.
Cara melhor forma
public sub Preenche_Grid()
dim rsGrid as adodb.recordset
set rsGrid = New adodb.recordset
rsGrid.Open "Select * from tabela", Conexao
with MSFLEXGRID 'Nome dado ao flexgrid
.cols = 2
.rows = 2
.FixedCols = 0
.row = 0
.col = 0
.Text = "ID" 'Nome que vai aparece na coluna
.ColWidth(0) = 900 'Tamanho da coluna.
.ColAligment(0) = flexAlignCenterCenter 'Local onde fica escrito no caso desse ficara no centro da coluna.
.col = 1
.Text = "Nome"
.ColWidth(1) = 900
.ColAligment(1) = flexAlignCenterCenter
end with
if rsGrid.EOF then
msgbox "Nenhum registro encontrado"
Exit sub
end if
.rows = 2
.row = 1
do while not rsGrid.EOF
with MSFLEXGRID
.col = 0
.text = rsGrid("ID") Nome dado na coluna do banco
.col = 0
.text = rsGrid("Nome")
.rows = .rows + 1
.row = .row + 1
rsGrid.MoveNext
end with
loop
MSFLEXGRID.Rows = MSFLEXGRID.Rows - 1
Ja era cara fica tilindo, qualquer duvida pergunte
Tópico encerrado , respostas não são mais permitidas