Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Paulinho9200

Erro botão delete e tabindex

Recommended Posts

Boa noite a todos!

estou iniciando agora nesse mundo do Visual Basisc, e estou com algums probleminhas!

seguinte,criei um botão personalizado para deletar o registro só oque acontece e q,

quando eu deleto todos os registro o botão ainda fica funcionando ai se eu clico deletar de novo

sem ter nenhum registro da erro no programa, ai ele aponta para a função que estou usando q e a seguinte

 

Private Sub btapagar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btapagar.Click

If MsgBox("Deseja Realmente apagar esse registro?", vbYesNoCancel) = vbYes Then

ORDEMBindingSource.RemoveCurrent()

End If

End Sub

 

ai estava reparando o botão deleta da bindingnavigator que, quando apaga todos os registro ele desativa

gostaria que o meu tbm fizesse isso!

 

outrp problema que estou tendo estou utilizando o access como banco de dados existe a coluna primaria q se chama "COD"

oque esta acontecendo e q quando clico em "add" o numero de auto geração fica -1,-2,-3 e assim por diante, se eu fecha e abrir de novo fica normal

me ajudem por favor!

 

e tbm tem o problema do tabindex esta funcionando legal mais so pelo "Tab"

gostaria que ao aperta "Enter" ele mudasce para outra textbox!

 

estou utilizando o Visual Studio 2010

 

Obs: desculpa o português estou com sono!

Compartilhar este post


Link para o post
Compartilhar em outros sites

- O problema do TABINDEX você pode resolver assim, mas me ajude melhorar isso:

 

If e.KeyChar = Chr(13) Then

SendKeys.Send(Chr(9))

 

End If

 

Tem que colocar este comando no EVENTO KEY_PRESS e tem que ser em todos os text_box, é ruim mas é a primeira solução que pensei, já fiz isso mais não lembro como. Vamos debatendo para ver se chegamos a uma solução melhor.

 

- No ACCESS você definiu o campo como NUMERAÇÃO_AUTOMÁTICA e deixou para ele incrementar de 1 em 1 nas propriedades do campo ??? Já tentou reparar o banco de dados ??

 

- Para solucionar o problema de deletar você teria que fazer uma função que faz uma SELECT no BD e verificar se vocÊ está na ultima linha se estiver você desativa o botão, porque nao tem mais nada para apagar um exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

kara tem agradeço!

o negocio do enter deu certo! ^^

foi bem simples de fazer não precisei colocar esse codigo em todos, oque eu fiz foi o seguinte

tem uma textbox NOMETextBox nessa textbox eu coloquei o codigo, ai peguei as outras textbox

e fui selecionando segurando shift ai em propriedade selecionei macro e no evento keypress

coloquei "NOMETextBox_KeyPress_1" que ai as outras textbox puxa o evento da textbox NOMETextBox!

 

e o banco de dados eu ja reparei e compactei sim, mais não deu certo

 

e sobre o botão deleta eu tentei fazer assim tem o textbox do codigo de auto geração entao quando o textbox nao tiver nenhum valor

ele desativa o botão ve ai, pra ver se você intende essa logica

 

Private Sub btapagar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btapagar.Click

If MsgBox("Deseja Realmente apagar esse registro?", vbYesNoCancel) = vbYes Then

ORDEMBindingSource.RemoveCurrent()

End If

If CODTextBox.text = "Empty" Then

btapagar.Enabled = False

End If

End Sub

 

so que quando o campo fica vazio ele não desativa o botão

 

Edite

 

Conseguir fazer o botão desativa quando o CODTextBox for vazio o erro tava no

If CODTextBox.value = "Empty" Then era so tirar o Empty que fufa!

 

e para reativa o botão quando adicionar registro eu coloquei no botão adicionar o seguinte

btapagar.enabled = true

 

esqueci de dizer que o access q estou utilizando e o 2007

no formato .accdb pode ser essa a causa do erro de numeração?

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa vlw não sabia que pode puxar evento e um txtbox desta maneira

 

A lógica provalvelmente deve ter ficado assim né ??

 

Private Sub btapagar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btapagar.Click

If MsgBox("Deseja Realmente apagar esse registro?", vbYesNoCancel) = vbYes Then

ORDEMBindingSource.RemoveCurrent()

End If

If CODTextBox.text = "" Then

btapagar.Enabled = False

else

btapagar.Enabled = true

End If

End Sub

 

Só para alinhar aqui, isso não funcionaria pq está no evento CLICK do BTNapagar, você deve ter botoes de navegar pelos dados certo?? Desta maneira você colocaria esse código no evento CHANGE do CODTextBox, desta maneira parece que ficaria legal.Certo ??

 

 

Você tentou salvar o BD em formato 2003 para fazer um teste ?? Eu não sei como funciona o método BindingSource apenas sua teoria(sei que é autônome e executa relação direta com o banco, eu acho), mas se você precisar uma linha de comando para conexão com o ACCESS 2003 então lá vai:

Dim conexao As String = "Provider = Microsoft.jet.oledb.4.0;data source=dados.mdb"

Esse problema de ficar acrescentando -1 parece ser algum problema de autoincremente que deve esta em algum lugar. Vou procurar aqui...

Compartilhar este post


Link para o post
Compartilhar em outros sites

correto dessa maneira tbm funciona legal!

vo coloca aqui o projeto pra você pode olha ver se da uma luz, assim fica mais facil!

 

Link Removido

 

esse "BindingSource" se não me engano ele faz a conexão das textbox com os registros do banco de dados!

ele aparece automaticamente, quando você arasta o dataset para o form.

ja teste tbm em 2003 fica da msm forma.

 

Amigo conseguir resolver o problema de numerção automatica no dataset o autoincrementseed tava -1 !

 

Obrigado pela sua ajuda! precisando to aqui pra ajuda tbm

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.