AJUDA GRID

RDPIZA 29/05/2012 22:36:47
#403118
como faço pra grid exibir relatorio de entrada do meu projeto de gerenciamento de estoque
tipo eu quero que a grid só exiba o que esta entrando (A entrada de produtos)e não o banco de dados completo entendeu
pra depois eu imprimir só o que eu dei de entrada naquele dia ok.
FILMAN 30/05/2012 00:02:21
#403123
Resposta escolhida
Caro colega

Você quer preencher um grid com as informações de entrada de produtos correto?
Mais como você esta tratando isso na tabela, você esta utilizando uma tabela para tratar Entrada/Saída?

Se for somente preencher o grid ficaria mais ou menos assim

Tabela: (ID, COD_PROD, DESC_PROD, DATA_PROD, TIPO)
TIPO = [Ô]S[Ô] Saída ou [Ô]E[Ô] Entrada

Em um botão colocaria assim
Private Sub cmd_preencheGRID_Click()
Dim Conn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim strConn, SQL As String

[ô]Abrindo a Conexão com o Banco
strConn = [Ô]PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & App.Path & [Ô]\Banco.mdb[Ô] & [Ô];Persist Security Info=False[Ô]
Conn.CursorLocation = adUseClient
Conn.Open strConn

[ô]Abrindo a consulta na tabela
SQL = [Ô]SELECT * FROM Tabela WHERE DATA_PROD BETWEEN # [Ô]
SQL = SQL & [Ô]Format(mskData1, [Ô]MM/dd/yyyy[Ô]) & [Ô]# AND #[Ô] & Format(mskData2, [Ô]MM/dd/yyyy[Ô])
SQL = SQL & & [Ô]# AND TIPO=[Ô]E[Ô] ORDER BY lan_emissao DESC[Ô]
rst.Open SQL, Conn, adOpenStatic, adLockReadOnly

With GRID
.Clear
.Cols = 5
.Rows = rst.RecordCount + 1

rst.MoveFirst
For i = 1 to rst.RocordCount
.TextMatrix(i,0) = rst!ID
.TextMatrix(i,1) = rst!COD_PROD
.TextMatrix(i,2) = rst!DESC_PROD
.TextMatrix(i,3) = rst!DATA_PROD
.TextMatrix(i,3) = rst!TIPO
Next
End With

rst.Close
Set rst = Nothing
Conn.Close
Set Conn = Nothing
End Sub



A consulta é feita através de dois MaskEditBox chamado de Data1 e Data2

MsFlexGrid chamado de GRID


Se for para preencher o grid é isso ai e através desse SELECT você pode estruturar o relátorio
RDPIZA 03/06/2012 09:45:57
#403393
vlw ajudou muito
Tópico encerrado , respostas não são mais permitidas