none
Erro ao concatenar campos em uma textbox multiline RRS feed

  • Pergunta

  • boa tarde,

    Estou colocando esse código para o sistema pesquisar um campo de controle e todos os campos que contiverem o mesmo código de controle ele me retornar os comentários concatenados em um textbox multiline, mas está dando um erro na parte em negrito:

    Private Sub btabrir_Click(sender As Object, e As EventArgs) Handles btabrir.Click Dim lista = From cadastro In CadastrotesteDataSet.cadastro Where cadastro.vinculo = tbcodigo.Text Select cadastro.nome, cadastro.cidade, cadastro.vinculo For Each cadastro In lista tbnome.Text = cadastro.nome tbcidade.Text = cadastro.cidade tbcontrole.Text = cadastro.vinculo

    Next

    Dim ListaComentarios As New List(Of String)(From historic In CadastrotesteDataSet.historic Where historic.vinculo = tbcodigo.Text Select historic.historico).ToList() Dim stb As New StringBuilder For Each comentario As String In ListaComentarios stb.Append(comentario & Environment.NewLine) Next tbhistorico.Text = ToString()


    O erro é "End of Statement expected.

    sexta-feira, 11 de agosto de 2017 15:18

Respostas

  • tbhistorico.Text = ToString()

    Quando vc chama qualquer método não estático (como é o caso do ToString) no código de um form, sempre é chamado para a instância atual do form. É o mesmo que fazer Me.ToString().
    Então este texto "Duas_Tabelas.Form1, Text: Cadastro" é o retorno desta função.
    "Cadastro" é o valor da propriedade Text do seu form.

    Para colocar o texto da lista no textbox deve fazer assim:

    tbhistorico.Text = String.Join(Environment.NewLine, ListaComentarios)

    A função String.Join junta os valores de uma coleção de strings.

    Por favor, marque as postagens úteis e as soluções.

    ATT

    • Marcado como Resposta Eduardo Pietro terça-feira, 15 de agosto de 2017 01:57
    terça-feira, 15 de agosto de 2017 00:20

Todas as Respostas

  • Boa tarde, Eduardo Pietro.

    Estaremos estudando teu caso, e logo daremos um retorno.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 11 de agosto de 2017 21:03
    Moderador
  • Bom dia,

    Dá uma olhada nesse link:

    https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/error-messages/end-of-statement-expected

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 14 de agosto de 2017 13:35
    Moderador
  • Bom dia, Eduardo.
    Neste caso é preciso colocar a expressão Linq com o ToList entre parênteses para que isto seja usado pelo construtor da lista.
    Dim ListaComentarios As New List(Of String)(
      (From historic In CadastrotesteDataSet.historic
         Where historic.vinculo = tbcodigo.Text
         Select historic.historico
      ).ToList()
    )

    ATT
    segunda-feira, 14 de agosto de 2017 14:13
  • Aristides obrigado pelo retorno,

    Agora deu outro erro, quando eu pesquiso o item no campo que deveria aparecer todos os comentários daquele cliente aparece:

    "Duas_Tabelas.Form1, Text: Cadastro"

    Duas_Tabelas é o nome do projeto

    Form1 é o formulário que estou crianda

    Text: Cadastro eu não sei mas acho que é referência a uma das tabelas do banco de dados.

    Sabe porque desse erro?


    Eduardo Pietro

    segunda-feira, 14 de agosto de 2017 19:59
  • tbhistorico.Text = ToString()

    Quando vc chama qualquer método não estático (como é o caso do ToString) no código de um form, sempre é chamado para a instância atual do form. É o mesmo que fazer Me.ToString().
    Então este texto "Duas_Tabelas.Form1, Text: Cadastro" é o retorno desta função.
    "Cadastro" é o valor da propriedade Text do seu form.

    Para colocar o texto da lista no textbox deve fazer assim:

    tbhistorico.Text = String.Join(Environment.NewLine, ListaComentarios)

    A função String.Join junta os valores de uma coleção de strings.

    Por favor, marque as postagens úteis e as soluções.

    ATT

    • Marcado como Resposta Eduardo Pietro terça-feira, 15 de agosto de 2017 01:57
    terça-feira, 15 de agosto de 2017 00:20
  • Aristides boa noite,

    Funcionou perfeitamente, muito obrigado pela ajuda e pela explicação de onde estava errando.


    Eduardo Pietro

    terça-feira, 15 de agosto de 2017 01:58