Jump to content
Sign in to follow this  
mcosta

dúvida no datagrid

Recommended Posts

mcosta

Olá pessoal tudo bem?

preciso de uma ajudinha..

estou a desenvolver um pequeno projeto em vb com uma base de dados access...

e vi um pequeno exemplo de fazer uma procura para um datagridview...

o problema é:

fiz tudo como o exemplo mas dá um erro:

eu tenho um select * varios campos

from funcionarios

where (departamentos = '?departamentos')

o erro que dá é: too many arguments to 'public overridable overloads function fillby_pesquisa (....)as integer'..

não percebo...

no entanto se abrir só o access essa querylá funciona correto...no vb se lhe retirar o ?departamentos e passar por exemplo informática ja funciona..

alguém me pode ajudar?

obrigado a todos.

Share this post


Link to post
Share on other sites
mcosta

olá..obrigado por responder!!

porque quero que vá ler o valor que é passado numa textbox...

não é assim??

ou terei de colocar where (departamentos = 'Textbox.text')

agradeço a ajuda.

Share this post


Link to post
Share on other sites
bioshock

Não.

Se queres que seja filtrado à medida que escreves, utilizas a expressão LIKE %valor%.

Caso queiras a palavra por completo, então sim, utilizas o =.

Dim query As String = "SELECT * FROM tabela WHERE departamentos = '" & textBox1.Text & "'"
Dim query As String = "SELECT * FROM tabela WHERE departamentos LIKE '%" & textBox1.Text & "%'"

Atenção que não é boa prática não passares as informações por parâmetros.

http://wiki.portugal-a-programar.pt/dev_net:vb.net:access

Share this post


Link to post
Share on other sites
mcosta

ah..ok!!

percebido!!é que estava aqui a ver este exemplo e a aplicar no meu mas não dava!!

ok..vou tentar e logo digo se funcionou!!

cumprimentos e muito obrigado por tudo.

Share this post


Link to post
Share on other sites
mcosta

Bom dia..

afinal não funcionou!!

o problema é este: eu vi um exemplo em que fazem um botão com uma pesquisa no datagrid.

Para isso no dataset através do assistente da query eu criei o fillby_pesquisa:

o código que coloquei é:

select * from funcionarios

where (departamentos ='"& Textbox1.Text&"')

aqui a minha duvida:(coloquei Textbox1.text porque é a text onde vou escrever o que quero procurar)..

depois no botão de procura escrevi: (criei uma label procura e uma textbox)

Me.funcionarioTableAdapter.FillBy_pesquisa (Me.BaseDadosDataDataSet.Funcionario, TextBox1. TExt)

aqui é que dá o erro:-( ele não reconhece Textbox1.Text) dá erro: too many arguments too public overridable overloads....()as integer

agradeço ajuda..

Share this post


Link to post
Share on other sites
bioshock

Estás a utilizar bindings..não é lá muito prático.

Se tiveres um DataSet associado à DGView, podes fazer o seguinte:

Dim table As New DataTable
table = DataSet1.Tables["Funcionarios"]
Dim query As String = "SELECT * FROM Funcionarios WHERE departamentos LIKE '%" & Textbox1.Text & "%'"
DataGridView1.DataSource = table.Select(query, "ORDER BY id DESC").CopyToDataTable()

Share this post


Link to post
Share on other sites
mcosta

obrigado mais uma vez..

no entanto dá logo erro na segunda linha:

eu coloco table = gestaorecursoDataSet.Tables ["Funcionarios"]

e erro value of type system.data.datatablecollection cannot be converted system.data.datatable

:-((

Share this post


Link to post
Share on other sites
bioshock

Pá, provavelmente não deve ser parêntesis rectos, mas sim parêntesis curvos. Como estou mais habituado ao C#, às vezes engano-me aqui a escrever.

Edit: Até podes fazer:

table = gestaorecursoDataSet.Tables(0)

Edited by bioshock

Share this post


Link to post
Share on other sites
mcosta

Olá mais uma vez:

escrevi este código:

Dim table As New DataTable

table = GestaodeRecursosHumanosDataSet.Tables("Funcionarios")

Dim query As String = "select * from Funcionarios where departamentos = ' " & TextBox1.Text & "'"

FuncionarioDataGridView.DataSource = table.Select(query, "Order By id Desc").CopyToDataTable()

mas quando executo não dá erro, no entanto quando faço a procura dá erro na ultima linha de código descrita em cima:

o erro é NullReference Exception was unhandled (a referencia do objeto não foi definida como instância do objeto)

alguém me ajuda..

grato

Share this post


Link to post
Share on other sites
bioshock

Erro meu. Esqueci-me que não precisas de tanta informação.

Dim table As New DataTable
table = GestaodeRecursosHumanosDataSet.Tables("Funcionarios")
Dim query As String = "departamentos = '" & TextBox1.Text & "'"
FuncionarioDataGridView.DataSource = table.Select(query, "id DESC").CopyToDataTable()

Share this post


Link to post
Share on other sites
mcosta

Funciona:-)))

muito obrigado pela ajuda...

muito grato.

bom trabalho

Como coloco o tópico como resolvido??

muito obrigado por tudo!!!

como coloco o tópico como resolvido??

grato.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.