MS FLEXGRID COM DAO

SACOFRITO 15/03/2011 17:03:24
#368057
Ola pessoas, sou eu novamente.
Estou tentando aprender bem a usar o msFlexGrid, mas estou com duvidas no preenchimento das linhas e nomenclatura das colunas.
Estou montando um form basico de pedido de compra de matéria prima. Mas nao sei adicionar os itens no msflexgrid.

Alguem tem algum exemplo usando DAO com access?
ALISSON 16/03/2011 01:01:02
#368092
Resposta escolhida
Amigo, seguinte... o DAO é bem rapidinho, mais vc ficará restrito somente ao banco de dados Access... Talvez valha a pena usar AOD ok... vou te dar exemplos em DAO e ADO pra vc ver como é simples

DAO
Dim Db as database, Tb as Recordset
Set Db = Opendatabase([Ô]caminho do banco de dados[Ô])
Set Tb = Db.OpenRecordSet([Ô]select * from clientes order by nome[Ô])
Grid.FormatString = [Ô]Código |Nome |Telefone[Ô] [ô]Definindo a coluna do grid
grid.rows = 1
Do while not Tb.EOF
Grid.Rows = Grid.Rows + 1
Grid.TextMatrix(grid.rows - 1, 0) = Tb([Ô]codigo[Ô]).Value
Grid.TextMatrix(grid.rows - 1, 1) = Tb([Ô]nome[Ô]).value
Grid.TextMatrix(grid.rows - 1, 2) = Tb([Ô]telefone[Ô]).value
Tb.movenext
Loop
Tb.Close
Db.Close

ADO
Dim Db as New ADODB.Conection, Tb as new ADODB.Recordset
Db.Open ([Ô]string de conexão com banco de dados ou conexão ODBC[Ô])
Tb.open [Ô]select * from clientes order by nome[Ô] , Db, OpenKeySet, OpenLockOptimistc
Grid.FormatString = [Ô]Código |Nome |Telefone[Ô] [ô]Definindo a coluna do grid
grid.rows = 1
Do while not Tb.EOF
Grid.Rows = Grid.Rows + 1
Grid.TextMatrix(grid.rows - 1, 0) = Tb([Ô]codigo[Ô]).Value
Grid.TextMatrix(grid.rows - 1, 1) = Tb([Ô]nome[Ô]).value
Grid.TextMatrix(grid.rows - 1, 2) = Tb([Ô]telefone[Ô]).value
Tb.movenext
Loop
Tb.Close
Db.Close


Espero ter ajudado!


SACOFRITO 16/03/2011 09:34:15
#368104
Ok, deu certo o exemplo do DAO.

Como faço para verificar se existem itens dentro do msflexgrid?

para ao clicar em um item por exemplo retornar os valores de dentro do grid.


Obrigado mesmo pela ajuda.
MSMJUDAS 16/03/2011 09:45:51
#368105
Para deletar UM registro por vez:

With Grid
If .Rows > 2 Then
.RemoveItem .Row
Else
.Rows = 1
End If
End With

Para LIMPAR o grid:

Grid.Rows = 1

Para verificar se existem itens no grid:

If Grid.Rows > 1 Then
MsgBox [Ô]Há registros no grid[Ô], vbInformation, [Ô]Aviso[Ô]
End If
SACOFRITO 16/03/2011 10:01:46
#368108
Valeu JUDAS, mas tentei fazer igual ao listbox para limpar o Grid. Fiz assim > Grid.clear O_o
Mas acabei de ver que o seu jeito é o mais correto, ja que nao altera as configuraçoes dos tamanhos das colunas
SACOFRITO 16/03/2011 14:47:44
#368140
Obrigado aos que ajudaram..
O resto foi dando um jeitinho, qualquer coisa reativo o tópico.

Abraços
Tópico encerrado , respostas não são mais permitidas