none
Pesquisar registro em uma tabela e inserir em outra RRS feed

  • Pergunta

  • Olá Boa noite a todos!

    Estou desenvolvendo um sistema de controle de contas a pagar com banco ACCES,

    tenho duas tabelas uma é cadastro de fornecedor e oura é cadastro de contas a pagar,

    gostaria de fazer da seguinte forma;

    no formulário de cadastro de contas a pagar tenho os campos, código, fornecedor, valor débito e datavencimento, e os botões gravar, alterar, excluir, procurarcliente e sair,ao pressionar o botão procurarcliente, abre um form com uma grid mostrando os meus fornecedores. O que eu queria é selecionar um fornecedor e clicar em inserir,

    com isso o fornecedor selecionado automaticamente caira nas texbox Fornecedor do cadastro de contas a pagar

    quinta-feira, 27 de outubro de 2011 21:20

Respostas

Todas as Respostas

  • Caro,

     Segue o seguinte exemplo:

     

    No Form Cadastro de Contas poe os seguinte

    private static frmCadastroContas instance= null;

     

       public static frmCadastroContas Instance

        {

               get

                {

                    if (CentroCusto.instance == null)

                    {

                        frmCadastroContas .instance = new frmCadastroContas ();

                    }

                   return frmCadastroContas .instance;

                }

                set { frmCadastroContas .instance = value; }

            }

     

     

    Quando chamares o frmCadastroContas  faca o seguinte:

    frmCadastroContas.Instance.Show();

    No botao procuracliente:

    frmListaFornecedor f = new frmListaFornecedor ()

    f.ShowDialog;

     

    No form frmListaFornecedor  faca o seguinte.

    Quando selecionar o fornecedor 

    frmCadastroContas.Instance.TxtCodigo.Text= dgvFornecedor.Rows[2].Cells[1].Value;

    assim sucessivamente.

    E no final this.close();

    No unload do frmCadastroContas

    frmCadastroContas.Instance = null;

    Deve-se destruir a instancia do formulario.

     

    Espero que ajude.

    sexta-feira, 28 de outubro de 2011 07:34
  • Caro,

     Segue o seguinte exemplo:

     

    No Form Cadastro de Contas poe os seguinte

    private static frmCadastroContas instance= null;

     

       public static frmCadastroContas Instance

        {

               get

                {

                    if (CentroCusto.instance == null)

                    {

                        frmCadastroContas .instance = new frmCadastroContas ();

                    }

                   return frmCadastroContas .instance;

                }

                set { frmCadastroContas .instance = value; }

            }

     

     

    Quando chamares o frmCadastroContas  faca o seguinte:

    frmCadastroContas.Instance.Show();

    No botao procuracliente:

    frmListaFornecedor f = new frmListaFornecedor ()

    f.ShowDialog;

     

    No form frmListaFornecedor  faca o seguinte.

    Quando selecionar o fornecedor 

    frmCadastroContas.Instance.TxtCodigo.Text= dgvFornecedor.Rows[2].Cells[1].Value;

    assim sucessivamente.

    E no final this.close();

    No unload do frmCadastroContas

    frmCadastroContas.Instance = null;

    Deve-se destruir a instancia do formulario.

     

    Espero que ajude.

    Centro de custos é uma variável?
    sexta-feira, 28 de outubro de 2011 13:58
  • Essa parte 

    frmCadastroContas.Instance.TxtCodigo.Text= dgvFornecedor.Rows[2].Cells[1]

    o TxtCodigo.Tex essa texbox não aparece quando estou digitando,

    estou inserindo esse bloco de código no botão inserir do form fornecedores,

    o form tem um grid e um botão inserir

    sexta-feira, 28 de outubro de 2011 14:11
  • Qual e o problema?

     


    One word frees us of all the weight and pain of life: that word is love.
    sexta-feira, 28 de outubro de 2011 18:55
    Moderador
  • Boa tarde!

     estou tentando fazer um mini aplicativo CADASTRO DE CONTAS A PAGAR, com banco ACCESS tenho 2 Tabelas; cadastro de fornecedores e cadastro de contas a pagar,

    gostaria de fazer o seguinte;

    no form cadastro de contas a pagar tenhos os seguintes campos: ID, FORNECEDOR, VALOR e DATAVENCIMENTO, no campo fornecefor gostaria de pegar o nome do fornecedor clicando em um botão onde me levaria para outro form listando os fornecedores, eu selecionaria o fornecedor desejado e clicaria em um botão inserir , dai o nome do fornecedor irá cair na textbox nome do fornecedor do form cadastro de contas a pagar

    sexta-feira, 28 de outubro de 2011 19:17
  • Resumindo, ao cadastrar novas contas a pagar, queria inserir um campo só da tabela FORNECEDORES e listar na texbox de cadastro de contas a pagar
    sexta-feira, 28 de outubro de 2011 19:19
  • Ok, vamos com calma cara...

    como voce carrega o primeiro form? quais sao os controis que tens, datagridview ou textbox?

    Voce quer carregar o nome de todos os fornecedores num outro form. Onde vais mostrar esta lista? num combobox?

     


    One word frees us of all the weight and pain of life: that word is love.
    sexta-feira, 28 de outubro de 2011 19:30
    Moderador
  • Tenho um Form principal somente com os botões que chamam os formulários de cadastro,

    neste formprincipal, tenho um botão que chama o "cadastro de contas a pagar", outro para chamar "cadastro de fornecedores", etc

     

     

     

    sexta-feira, 28 de outubro de 2011 19:45
  • Ok, vamos com calma cara...

    como voce carrega o primeiro form? quais sao os controis que tens, datagridview ou textbox?

    Voce quer carregar o nome de todos os fornecedores num outro form. Onde vais mostrar esta lista? num combobox?

     


    One word frees us of all the weight and pain of life: that word is love.

    tenho um form principal de onde chamo este aqui.

    Este é o meu form de cadastro de contas a pagar, o fornecedor eu gostaria de buscar de outra tabela a tabela de fornecedores, clicando no botão localizar

    sexta-feira, 28 de outubro de 2011 19:57
  • Ok, vamos com calma cara...

    como voce carrega o primeiro form? quais sao os controis que tens, datagridview ou textbox?

    Voce quer carregar o nome de todos os fornecedores num outro form. Onde vais mostrar esta lista? num combobox?

     


    One word frees us of all the weight and pain of life: that word is love.
    Ao clicar no botão localizar do form cadastro de contas a pagar abre o form fornecedor, este form é apenas para escolher o fornecedor a ser jogado na texbox fornecedor do cadastro de contas a pagar, pressionando o botão inserir ou através de duplo click
    sexta-feira, 28 de outubro de 2011 20:02
  • Vamos aos factos...

    E deficil pegar ou passar o valor de uma datagridview pra uma variavel, as vezes funciona e outra vezes nao funciona. pra cada problema existe uma solucao...

    A unica solucao que eu encontrei foi esta, vais ter de adapter este metodo como queiras. Eu testei e funciona perfeitamente...

    So vais ter de criar o codigo que faz insert na tabela....

     

    private void button13_Click(object sender, EventArgs e)

            {

                textBox2.DataBindings.Clear();

                textBox1.Text = dataGridView2.CurrentCell.Value.ToString();

                DataTable dtss = new DataTable();

     

                if (this.dataGridView2.DataSource is DataTable)

                {

                    dtss = (DataTable)dataGridView2.DataSource;

                }

     

                BindingSource source = new BindingSource();

                source.DataSource = dtss;

     

                int registo = source.Find("FirstName", textBox1.Text);

                source.Position = registo;

                textBox2.DataBindings.Add("text", source, "FirstName");

     

                //nao aqui vais construir o cosigo insert

                //como tu nao tens textbox, vais ter de usar strings.

                //antes de gravar vais ter de usar messagem que te vai mostrar o valor do fornecedor

            }

     private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                textBox1.Text = dataGridView2.CurrentCell.Value.ToString();
            }


    One word frees us of all the weight and pain of life: that word is love.
    sexta-feira, 28 de outubro de 2011 21:13
    Moderador
  • Olá Malange!

    Qual seria a melhor forma para buscar o campo fornecedor na tabela fornecedor??

    sexta-feira, 28 de outubro de 2011 21:34
  • Posso usar este form para inserir o fornecedor nas texbox do cadastro de contas a pagar.
    sexta-feira, 28 de outubro de 2011 21:39
  • Sim, o exemplo que eu passei faz isto. tens de testar...

     


    One word frees us of all the weight and pain of life: that word is love.
    sábado, 29 de outubro de 2011 12:08
    Moderador
  • Vamos aos factos...

    E deficil pegar ou passar o valor de uma datagridview pra uma variavel, as vezes funciona e outra vezes nao funciona. pra cada problema existe uma solucao...

    A unica solucao que eu encontrei foi esta, vais ter de adapter este metodo como queiras. Eu testei e funciona perfeitamente...

    So vais ter de criar o codigo que faz insert na tabela....

     

     

    private void button13_Click(object sender, EventArgs e)

            {

                textBox2.DataBindings.Clear();

                textBox1.Text = dataGridView2.CurrentCell.Value.ToString();

                DataTable dtss = new DataTable();

     

                if (this.dataGridView2.DataSource is DataTable)

                {

                    dtss = (DataTable)dataGridView2.DataSource;

                }

     

                BindingSource source = new BindingSource();

                source.DataSource = dtss;

     

                int registo = source.Find("FirstName", textBox1.Text);

                source.Position = registo;

                textBox2.DataBindings.Add("text", source, "FirstName");

     

                //nao aqui vais construir o cosigo insert

                //como tu nao tens textbox, vais ter de usar strings.

                //antes de gravar vais ter de usar messagem que te vai mostrar o valor do fornecedor

            }

     private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                textBox1.Text = dataGridView2.CurrentCell.Value.ToString();
            }

     


    One word frees us of all the weight and pain of life: that word is love.

    Bom Dia Malange!

    tenho dúvidas estou implementando este código no evento do botão inserir no fornecedores, minha dúvida é, gostaria que vc definisse txBox1.tex e txtBox2, é do form cadastro de contas a pagar, porque se for eu não tenho acesso a eles, meu código esta no form2 eu estou usando o mesmo form que faço cadastro de fornecedores, onde tenho txtCodigocliente, txtnomefornecedor.

    sábado, 29 de outubro de 2011 13:43
  • ainda não consegui resolver o meu problema,  Tenho 2 form (form1=cadastrocontasapagar, FORM2 = FORNECEDORES), nos dois forms tenho datagrid e texbox, queria fazer o seguinte, no form1 na texbox FORNECEDOR, queria buscar o fornecedor do form2 tenho um botão no form1 que chama o form2 no form2 tenho um botão com uma seta indicando que é para inserir o conteudo da texbox ou da linha selecionada na grid veja os forms
    sábado, 29 de outubro de 2011 17:25
  • clico no evento do botão localizar abre este form

    EEste é o form2 ele contem o cadastro de todos os fornecedores, clico na grid o registro vai para as texbox, o que eu quero é o seguinte. ao clicar no botão inserir apenas o NOME do fornecedor apareça na texbox fornecedor do form1, é só isso.

    sábado, 29 de outubro de 2011 17:29
  • Olá amigo!

    Acredito que os exemplos abaixo possam lhe ser úteis:

    http://www.codeproject.com/KB/cs/pass_data_between_forms.aspx

    http://www.macoratti.net/07/05/vbn5_tdf.htm

    att;

     


    Eder Costa
    LATAM Forum Support Engineer
    Microsoft Corporation
    forumguys
    terça-feira, 1 de novembro de 2011 15:57
    Moderador
  • ainda não consegui. Alguem poderia me ajudar??
    quarta-feira, 2 de novembro de 2011 00:52
  • Boa tarde a todos, encontrei a resposta esta neste link:

    http://www.macoratti.net/08/06/c_shp4.htm 

    Consegui resolver Tópico encerrado.

    Obrigado a todos!

     

     


    sexta-feira, 4 de novembro de 2011 18:23