SELECAO DE DADOS ENTRE TABELAS

 Tópico anterior Próximo tópico Novo tópico

SELECAO DE DADOS ENTRE TABELAS

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#494146 - 22/06/2020 16:02:23

MARCIOFERRER
RONDONOPOLIS
Cadast. em:Agosto/2013


 Anexos estao visíveis somente para usuários registrados

Boa tarde,
Preciso de uma ajuda no sistema que estou montando que estou montando, vou colocá-los a par de como é  ofuncionamento dele:
Preciso preencher o DataGrid Produtos Selecionados, com os dados do DataGrid Produtos Cadastrados (Produto, CFOP), porem devem ser somente os produtos que o NCM constar da DataGrid Dase de Dados
Resumidamente:
Na DataGrid Produtos Selecionados sera preenchida com os ítens NCM, Produto e CFOP, os serão serão provenientes dos seguintes DataGrid.:
NCM: Que está na DataGrid Dase de Dados.
Produto e CFOP: Que estão no DataGrid Produtos Cadastrados

Cada um dos DataGrid é preenchidos com dados que importo de tabelas do Excel, ou seja, não estão em um Banco de Dados. Com issoo código postado acima não será mais possivel utilizar.

  [txt-size=5]  
Marcio Ferreira

#494149 - 22/06/2020 18:00:04

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Excel pode ser perfeitamente usado como um banco de dados incluindo SQL.

Se mesmo assim não quiser, você pode usar OOP e usar listas List<T> e com ajuda do LINQ através de expressões lambda fazer o que você precisa.

E acho que consigo adivinhar qual sua próxima requisição...

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#494154 - 23/06/2020 19:58:49

MARCIOFERRER
RONDONOPOLIS
Cadast. em:Agosto/2013


Obrigado pela ajuda KERPLUNK, mas não consegui captar como ficaria esta consulta.

  [txt-size=5]  
Marcio Ferreira

#494159 - 24/06/2020 00:34:50

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Procure e estude:
- Connection string para Excel
- OOP(de longe o mais importante). Com ele todo o resto fica barbadinha
- LINQ e expressões lambda

São vários assuntos para pesquisar e absorver. E isso pode levar um tempinho. É o melhor caminho para que você saia do copia e cola código de 'exemplos'

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#494166 - 24/06/2020 09:43:32

MARCIOFERRER
RONDONOPOLIS
Cadast. em:Agosto/2013


Obrigado,
Concordo com você, prefiro entender a ficar copiando e colando.
Vou estudar o assunto e caso precise de ajudo, informo por aqui.

  [txt-size=5]  
Marcio Ferreira

#494195 - 28/06/2020 14:04:01

PEGUDO
RIO DE JANEIRO
Cadast. em:Março/2009


Última edição em 28/06/2020 14:04:54 por PEGUDO

Irmão,
Tenta esse código aí embaixo.

O conceito é o seguinte:
- o código vai percorrer todas as linhas do primeiro Grid (Base de dados);
- Para cada NCM existente, o código vai procurar o mesmo NCM no segundo Grid (Produtos cadastrados);
- Caso existam NCMs iguais, o produto será inserido no terceiro Grid (Produtos selecionados).


        Dim ncm As String

        Me.DataGridView3.Rows.Clear()

        For x = 0 To Me.DataGridView1.RowCount - 1
            ncm = Me.DataGridView1.Rows(x).Cells(0).Value 'Cells(0) significa a primeira célula

            Dim query = From dados As DataGridViewRow In Me.DataGridView2.Rows
                        Where dados.Cells(0).Value = ncm
                        Select dados

            For Each item In query
                Me.DataGridView3.Rows.Add()
                Me.DataGridView3.Rows(Me.DataGridView3.RowCount - 1).Cells(0).Value = item.Cells(0).Value
                Me.DataGridView3.Rows(Me.DataGridView3.RowCount - 1).Cells(1).Value = item.Cells(1).Value
                Me.DataGridView3.Rows(Me.DataGridView3.RowCount - 1).Cells(2).Value = item.Cells(2).Value
            Next
        Next


Lembrando que:
- para funcionar sem erros, o terceiro Grid deve ter a propriedade AllowUserToAddRows = False.
- modifique os nomes dos Grids para condizer com seu código.


Às vezes, para poder andar pra frente, o homem deve deixar tudo para trás

 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário