MS FLEXGRID COM DAO
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?
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?
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!
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!
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.
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.
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
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
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
Mas acabei de ver que o seu jeito é o mais correto, ja que nao altera as configuraçoes dos tamanhos das colunas
Obrigado aos que ajudaram..
O resto foi dando um jeitinho, qualquer coisa reativo o tópico.
Abraços
O resto foi dando um jeitinho, qualquer coisa reativo o tópico.
Abraços
Tópico encerrado , respostas não são mais permitidas