POPULAR GRID COM DADOS DO MSSQL
Bom dia amigos do fórum.
é o seguinte eu estou tentando efetuar um carregamentos de dados de uma Base de dados em MSSQL Server para um Grid (grdEquipamentos)
O que eu estou tentando efetuar o carregamento são os produtos de uma compra, sendo que uma compra pode conter no mÃnimo um produto e no máximo N produtos.
Estou utilizando o seguinte codigo para a carga de dados:
Set oConCadC = New adodb.Connection
oConCadC.ConnectionString = Init.vStrConSQLServer
oConCadC.Open
Set oRecCadC = New adodb.Recordset
vStrSql = [Ô]Select * From ger106 Where controlecompra=[ô][Ô] & txtNumControle.Text & [Ô][ô][Ô]
oRecCadC.Open vStrSql, oConCadC, adOpenDynamic, adLockReadOnly
With grdEquipamentos
If oRecCadC.BOF = True And oRecCadC.EOF = True Then Exit Sub
.Rows = oRecCadC.RecordCount + 1
Do Until .EOF = True
Row = Row + 1
.TextMatrix(Row, 0) = oRecCadC.Fields([Ô]codprod[Ô]) [ô] Código do Equipamento
.TextMatrix(Row, 1) = oRecCadC.Fields([Ô][Ô]) [ô] Nome do Equipamento
.TextMatrix(Row, 2) = oRecCadC.Fields([Ô]valorunit[Ô]) [ô] Valor unitário
.TextMatrix(Row, 3) = oRecCadC.Fields([Ô]valorvenda[Ô]) [ô] Valor de vanda
.TextMatrix(Row, 4) = oRecCadC.Fields([Ô]bcicms[Ô]) [ô] Valor Base de cálculo de ICMS
.TextMatrix(Row, 5) = oRecCadC.Fields([Ô]valicms[Ô]) [ô] Valor do ICMS
.TextMatrix(Row, 6) = oRecCadC.Fields([Ô]qtdeprod[Ô]) [ô] Quantidade de Equipamentos
.TextMatrix(Row, 7) = oRecCadC.Fields([Ô]valortotal[Ô]) [ô] Valor total dos Equipamentos
oRecCadC.MoveNext
Loop
End With
Como vocês podem reparar neste trecho de código ( .TextMatrix(Row, 1) = oRecCadC.Fields([Ô][Ô]) [ô] Nome do Equipamento) eu deveria estar buscando o nome do produto para lança-lo na Grade.
Minha dificuldade é o seguinte na tabela 106 onde eu busco os dados somente o codigo do equipamento é armazenado, porém eu deveria trazer também o nome do equipamento que estar armazenado na tabela 10.
Alguém saberia, por favor, como eu posso efetuar este carregamento?
Desde já agradeço.
-----------------------------------------------
[txt-color=#e80000]TÃtulo editado por Jonathan Stecker[/txt-color] - Regras de uso do Fórum. [txt-color=#e80000] [/txt-color]
TÃtulos incorretos
Por favor não utilize tÃtulos para seu tópico que não ajudem em nada para quem pode te ajudar. Não coloque tÃtulos como [Ô]Help[Ô], [Ô]Socorro[Ô], [Ô]Pelo Amor de DEUS[Ô] pois isto só dificulta as pessoas interessadas em ajudar à olhar seu tópico.
é o seguinte eu estou tentando efetuar um carregamentos de dados de uma Base de dados em MSSQL Server para um Grid (grdEquipamentos)
O que eu estou tentando efetuar o carregamento são os produtos de uma compra, sendo que uma compra pode conter no mÃnimo um produto e no máximo N produtos.
Estou utilizando o seguinte codigo para a carga de dados:
Set oConCadC = New adodb.Connection
oConCadC.ConnectionString = Init.vStrConSQLServer
oConCadC.Open
Set oRecCadC = New adodb.Recordset
vStrSql = [Ô]Select * From ger106 Where controlecompra=[ô][Ô] & txtNumControle.Text & [Ô][ô][Ô]
oRecCadC.Open vStrSql, oConCadC, adOpenDynamic, adLockReadOnly
With grdEquipamentos
If oRecCadC.BOF = True And oRecCadC.EOF = True Then Exit Sub
.Rows = oRecCadC.RecordCount + 1
Do Until .EOF = True
Row = Row + 1
.TextMatrix(Row, 0) = oRecCadC.Fields([Ô]codprod[Ô]) [ô] Código do Equipamento
.TextMatrix(Row, 1) = oRecCadC.Fields([Ô][Ô]) [ô] Nome do Equipamento
.TextMatrix(Row, 2) = oRecCadC.Fields([Ô]valorunit[Ô]) [ô] Valor unitário
.TextMatrix(Row, 3) = oRecCadC.Fields([Ô]valorvenda[Ô]) [ô] Valor de vanda
.TextMatrix(Row, 4) = oRecCadC.Fields([Ô]bcicms[Ô]) [ô] Valor Base de cálculo de ICMS
.TextMatrix(Row, 5) = oRecCadC.Fields([Ô]valicms[Ô]) [ô] Valor do ICMS
.TextMatrix(Row, 6) = oRecCadC.Fields([Ô]qtdeprod[Ô]) [ô] Quantidade de Equipamentos
.TextMatrix(Row, 7) = oRecCadC.Fields([Ô]valortotal[Ô]) [ô] Valor total dos Equipamentos
oRecCadC.MoveNext
Loop
End With
Como vocês podem reparar neste trecho de código ( .TextMatrix(Row, 1) = oRecCadC.Fields([Ô][Ô]) [ô] Nome do Equipamento) eu deveria estar buscando o nome do produto para lança-lo na Grade.
Minha dificuldade é o seguinte na tabela 106 onde eu busco os dados somente o codigo do equipamento é armazenado, porém eu deveria trazer também o nome do equipamento que estar armazenado na tabela 10.
Alguém saberia, por favor, como eu posso efetuar este carregamento?
Desde já agradeço.
-----------------------------------------------
[txt-color=#e80000]TÃtulo editado por Jonathan Stecker[/txt-color] - Regras de uso do Fórum. [txt-color=#e80000] [/txt-color]
Por favor não utilize tÃtulos para seu tópico que não ajudem em nada para quem pode te ajudar. Não coloque tÃtulos como [Ô]Help[Ô], [Ô]Socorro[Ô], [Ô]Pelo Amor de DEUS[Ô] pois isto só dificulta as pessoas interessadas em ajudar à olhar seu tópico.
Amigo obrigado pela sua resposta, porém, eu gostaria de um exemplo mais prático. Obrigado.
vStrSql = [Ô]Select ger106.*, (select Nome from ger10 where codigo = ger106.codprod) NomeProduto From ger106 Where controlecompra=[ô][Ô] & txtNumControle.Text & [Ô][ô][Ô]
E no preenchimento:
.TextMatrix(Row, 1) = oRecCadC.Fields([Ô]NomeProduto[Ô]) [ô] Nome do Equipamento
Espero que entenda que o você terá que revisar nomes de campos e tabelas na sub-query que adicionei, fiz como exemplo, mas você deve adaptar para os nomes reais do seu banco de dados...
E no preenchimento:
.TextMatrix(Row, 1) = oRecCadC.Fields([Ô]NomeProduto[Ô]) [ô] Nome do Equipamento
Espero que entenda que o você terá que revisar nomes de campos e tabelas na sub-query que adicionei, fiz como exemplo, mas você deve adaptar para os nomes reais do seu banco de dados...
Kerplunk, entendi perfeitamente já iluminou aqui as ideias. Posso colocar esta query dentro do loop ? ou substituo esta:
vStrSql = [Ô]Select * From ger106 Where controlecompra=[ô][Ô] & txtNumControle.Text & [Ô][ô][Ô] por esta que você montou como exemplo?
vStrSql = [Ô]Select * From ger106 Where controlecompra=[ô][Ô] & txtNumControle.Text & [Ô][ô][Ô] por esta que você montou como exemplo?
Não precisa colocar no loop, basta substituir que cada linha já deve vir com o nome do produto.
Tópico encerrado , respostas não são mais permitidas