POPULAR GRID COM DADOS DO MSSQL

AZORSCA 13/09/2012 11:22:32
#409565
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.
    ONBASS 13/09/2012 11:29:47
    #409568
    veja se consegue achar alguma coisa aqui
    AZORSCA 13/09/2012 11:36:42
    #409571
    Amigo obrigado pela sua resposta, porém, eu gostaria de um exemplo mais prático. Obrigado.
    KERPLUNK 13/09/2012 11:37:56
    #409572
    Resposta escolhida
    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...
    AZORSCA 13/09/2012 11:52:44
    #409574
    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?
    KERPLUNK 13/09/2012 11:57:45
    #409575
    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