Ir para conteúdo
Fórum Script Brasil
  • 0

[VB 2008] AJUDA ! Como fazer um textBox receber dados...


williamjda

Pergunta

Tenho um formulário que que recebe informações de nota fiscal. o mesmo esta pronto para funcionar porem a uma alteração que pretendo fazer mas não sei por onde começar.

Este formulário recebe informações digitadas em seu textbox. E grava em um BD de bloco de notas txt. As ultimas informações aparecem em uma listbox. que quando selecionada a informação elas novamente aparecem nas textbox. (COMO SE FOSSE UMA AGENDA TELEFONICA ).

O que preciso.

os campos são:

Código Descrição Quatidade:

textbox textbox textbox

Quero que quando eu digitar o código do meu produto no textbox (Código ), o produto que esta no meu bd dentro do proprio visual basic em linha de comando ele apareça no textbox (descrição) automaticamente. Por que a informação descrição não pode ser digitada pois demoraria muito tempo para preencher por isso criei um banco de dados:

EXEMPLO 12345 é o código para " Nome do Produto"

Eu consegui fazer isso utilizando da seguinte forma:

MEU BD esta assim:

Public Class Form1

    ' INICIO DO BANCO DE DADOS NOTA FISCAL INDUSTRIALIZAÇÃO '
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        carrega_dados()
    End Sub
    Private Sub carrega_dados()
        produto(1) = "Nome do Produto"
        codigo(1) = "12345"
        produto(2) = "Nome do Produto"
        codigo(2) = "12345"
        ' FIM DO BANCO DE DADOS NOTA FISCAL  '
    End Sub
Codigo do TextBox (CÓDIGO) Código Descrição Quatidade: textbox listbox textbox Preciso que isso seja feito apenas utilizando textbox. Veja o código que usei e deu certo com listbox.
Private Sub TextBox7_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox7.TextChanged
        Dim achou As Boolean
        If Len(TextBox7.Text) >= 5 Then
            If Len(TextBox7.Text) <= 0 Then
            End If
            For t = 1 To 1
                If codigo(t) = TextBox7.Text Then
                    ListBox2.Items.Add(produto(1))
                    achou = True
                End If

            Next t
            If achou = False Then
                MsgBox("Produto não cadastrado")
            End If
            ListBox2.Text = ""
        End If

    End Sub

ele retorna o valor do meu bd porem se o usuário digitar o codigo de outro produto no mesmo campo e quiser trocar não seria possível por que uma vez que o código entra no listbox ele vai criando linhas e não podem ser apagadas. espero que tenha dado para entender o meu problema. ( cada textbox representa uma linha da minha nota que no total são 9, mas com as Listbox cada linha equivale a um montão de linhas por que a listbox fica adicionando linhas dentro de is mesma.

Fico no aguardo de sua resposta e desde já agradeço.Sem mais;

William

Editado por williamjda
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
sobre vb 2008, poste na sala de .net, moverei pra la.

agora, no TextChanged(), você pode usar um select e pesquisar direto no banco de dados mesmo.

Olá amigo você poderia ser mostrar como ficaria pois tentei fazer da seguinte forma mas também não funcionou.

Private Sub TextBox7_Select(ByRef TextBox8)

Dim achou As Boolean

If Len(TextBox7.Text) >= 5 Then

For t = 1 To 2

If codigo(t) = TextBox7.Text Then

TextBox8.Items.Add(produto(1))

achou = True

End If

Next t

If achou = False Then

MsgBox("Produto não cadastrado")

End If

Não deu nenhum erro porem não funcionou. EXEMPLO. Preciso digitar o código no TextBox1 e ele retornar a descrição na texbox2.

A DESCRIÇÂO QUE ele tem que me retornar esta no proprio VB. em linha de comando:

Public Class Form1

' INICIO DO BANCO DE DADOS NOTA FISCAL '

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

carrega_dados()

End Sub

Private Sub carrega_dados()

produto(1) = "Nome do Produto"

codigo(1) = "12345"

produto(2) = "Nome do Produto"

codigo(2) = "13245"

' FIM DO BANCO DE DADOS NOTA FISCAL

End Sub

DESDE já agradeço.

Estou meio perdido no site pois sou membro apenas a 2 dias. você disse que moveria este post para a sala do .NET você poderia me passar o link pois achava que esta era a sala. procurei porem não encontrei a sala mencionada por você. Mais uma vez obrigado.

Editado por williamjda
Link para o comentário
Compartilhar em outros sites

  • 0
sobre vb 2008, poste na sala de .net, moverei pra la.

agora, no TextChanged(), você pode usar um select e pesquisar direto no banco de dados mesmo.

Olá amigo você poderia ser mostrar como ficaria pois tentei fazer da seguinte forma mas também não funcionou.

Private Sub TextBox7_Select(ByRef TextBox8)

Dim achou As Boolean

If Len(TextBox7.Text) >= 5 Then

For t = 1 To 2

If codigo(t) = TextBox7.Text Then

TextBox8.Items.Add(produto(1))

achou = True

End If

Next t

If achou = False Then

MsgBox("Produto não cadastrado")

End If

Não deu nenhum erro porem não funcionou. EXEMPLO. Preciso digitar o código no TextBox1 e ele retornar a descrição na texbox2.

A DESCRIÇÂO QUE ele tem que me retornar esta no proprio VB. em linha de comando:

Public Class Form1

' INICIO DO BANCO DE DADOS NOTA FISCAL '

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

carrega_dados()

End Sub

Private Sub carrega_dados()

produto(1) = "Nome do Produto"

codigo(1) = "12345"

produto(2) = "Nome do Produto"

codigo(2) = "12345"

' FIM DO BANCO DE DADOS NOTA FISCAL '

End Sub

DESDE já agradeço.

Estou meio perdido no site pois sou membro apenas a 2 dias. você disse que moveria este post para a sala do .NET você poderia me passar o link pois achava que esta era a sala. procurei porem não encontrei a sala mencionada por você. Mais uma vez obrigado.

Só para melhor visualização do que preciso:

Meu formulário é assim:

CódigoEC Descrição EC QTD EC

-------------------------------------------------------------------------------------------------------------------------------------

| Listbox7 | ListBox8 | ListBox9 |

-------------------------------------------------------------------------------------------------------------------------------------

| Listbox10 | ListBox11 | ListBox12|

-------------------------------------------------------------------------------------------------------------------------------------

e assim sucessivamente até o ListBox34

Quando o usuario digitar o código EC no listBox7 a informação deverá aparecer no listBox8 (DescriçãoEC) e assim sucessivamente com o outros campos Código EC e Descrição EC não se preocupe com a QTD EC pois ela ser digitada manualmente. creio que se eu resolver uma linha as outras é só copiar e colar.

Os código dos produto e o produtos estão no próprio VB.

Desta forma:

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

carrega_dados()

End Sub

Private Sub carrega_dados()

produto(1) = "Nome do Produto"

codigo(1) = "12345"

produto(2) = "Nome do Produto"

codigo(2) = "12345"

' FIM DO BANCO DE DADOS NOTA FISCAL '

End Sub

Resumindo se eu digitar no ListBox7 (CódigoEC) 64115 devera aparecer no ListBox8 (DescriçãoEC) a informação: Nome do Produto.

Fico no aguardo de uma resposta e de sua ajuda, pois necessito disto com muita urgência e é de extrema importância. Desde já agradeço.

Sem mais;

Williamjda :thumbsup:

Editado por williamjda
Link para o comentário
Compartilhar em outros sites

  • 0

Amigos obrigado pela anteção, mas eu já consegui resolver o meu problema, acabei usando o seguinte código:

rivate produtos As Dictionary(Of String, String)

Private Sub CarregaDados()

produtos = New Dictionary(Of String, String)

produtos.Add("12345", "Nome do Produto")

produtos.Add("12345", "Nome do Produto")

' FIM DO BANCO DE DADOS NOTA FISCAL INDUSTRIALIZAÇÃO '

Mesmo assim muito obrigado.

Editado por williamjda
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...