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

Somar +1 e Subtrair -1


krisium

Pergunta

BD Access e VB.Net 2012

Como fazer que ao clicar no botão Salvar (seja executada a rotina de salvar o registro normalmente) e ao mesmo tempo exibir em uma label ou textbox a numeração atual da quantidade de registros que foram salvos, somando +1 a cada clique (quando um novo registro for salvo)? E subtrair -1 dessa mesma numeração caso seja clicado no botão Excluir

Não pode ser feito com variável pois essa numeração deve permanecer gravada mesmo depois do programa ser encerrado, e ao tornar abri-lo essa numeração deve ser exibida (em espera para somar ou subtrair 1 conforme o botão que for clicado) O problema é como guardar essa numeração? Acredito que deva ser no BD onde os demais registros serão guardados também. Mas como fazer isso? Imaginando o funcionamento dessa ação teria que usar o comando Insert para salvar (do código do botão Salvar)? E a cada soma ou subtração?! Manteria o Insert ou usaria o comando Update??? Ou nada disso??? Tô completamente no escuro

Código para somar/subtrair 1

Public Class Form1

    Private Sub btnAcrescenta_Click(sender As Object, e As EventArgs) Handles btnAcrescenta.Click
        Label1.Text = Label1.Text + 1

    End Sub

    Private Sub btnDiminui_Click(sender As Object, e As EventArgs) Handles btnDiminui.Click
        If (Label1.Text > 0) Then
            Label1.Text = Label1.Text - 1
        ElseIf (Label1.Text <= 0) Then
            Label1.Text = Label1.Text
        End If

    End Sub
End Class

 

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Não precisa salvar a numeração, você já a tem.

Retorne o número de registros, baseando sua requisição com o WHERE que se fizer necessário:

SELECT COUNT(*) FROM TABLE WHERE NAME = :NAME;

Lembrando que seria melhor simplesmente setar a label com a quantidade de registros da sua provável lista offline

label.Text = List(T).Count;

 

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

  • 0

Então nunca usei o Select sou novato (praticamente tudo que aprendi foi por tutoriais) preciso que some +1 ao clicar em Salvar e subtraia -1 ao clicar no botão Delete. O comando  pode ser repetido para ambos os botões?

SELECT COUNT(*) FROM PRODUTO WHERE ITEM = :ITEM;

E este útlimo como funciona?

label.Text = List(T).Count;

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

São comandos SQL para bancos de dados relacionais. Aconselho que você leia sobre bancos de dados antes e veja também como e onde está armazenando essa lista de registros

Para testes, defina uma lista e adicione itens nos eventos de click.

Digamos que você tem a seguinte classe:

Public Class Pessoa
	Public Property Nome As String
	Public Property Idade As Integer
End Class

E tem a seguinte lista na classe que está trabalhando:

Dim listaPessoas As List(Of Pessoa) = New List(Of Pessoa)()

Sendo Pessoa o que você esteja registrando, no evento de click de registro, crie um objeto dessa classe e adicione à uma lista, para que você possa manusear esses registros fora do banco.

Dessa forma, no evento de adição:

Dim novaPessoa As New Pessoa With {.Nome = txtNome.Text, .Idade = Convert.toInt32(txtIdade.Text)}
listaPessoas.Add(novaPessoa)

Siga aos poucos não pude as etapas de aprendizado!

Você pode ver o básico de uma conexão utilizando VB.NET e o banco MySQL aqui 

Link para o comentário
Compartilhar em outros sites

  • 0

Então as conexões com o BD estão feitas (uso Access) Se puder usar como exemplo esse trecho do código... para exemplificar onde e o quê deveria alterar agradeço

Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
conecta()
Me.Tabela1TableAdapter.Fill(Me.DataSetFilmes.Tabela1)
Me.BindingSource1.AddNew()


Private Sub btnSalvar_Click(sender As Object, e As EventArgs) Handles btnSalvar.Click
If txtTitulo.Text = "" Then
MessageBox.Show("Digite o nome do Filme!", "ATENÇÃO!", MessageBoxButtons.OK,
MessageBoxIcon.Error)
txtTitulo.Focus()
Return
End If

...

Try Me.Tabela1TableAdapter.Insert (txtTitulo.Text) 
Me.Tabela1TableAdapter.Update(DataSetFilmes.Tabela1) 
Me.Tabela1TableAdapter.Fill (Me.DataSetFilmes.Tabela1)
 txtCodigo.Text = "" txtTitulo.Text = ""

Catch ex As Exception
Me.Tabela1TableAdapter.Fill(Me.DataSetFilmes.Tabela1) 
txtTitulo.Focus() 

End Try
dr.Close() 

End Sub

 

Link para o comentário
Compartilhar em outros sites

  • 0

Beleza, não entendo inglês e como uso Access teria que modificar muita coisa, além disso nesse link não tem absolutamente nada do que preciso, apenas mostra como fazer conexão com o banco mysql, conexão que aliás já está feita em meu projeto! Vejo muitos pedindo ajuda e sequer enviam trecho de seus códigos e ainda assim recebem respostas com todo código feito (ou grande parte dele) sem precisar mudar nada, bastando copiar! Fiz a pergunta porque realmente não sei como fazer e enviei o trecho onde preciso inserir essa funcionalidade que procuro. Mas não recebo ajuda alguma, apenas "estude isso", "veja isso" e ninguém usa o meu trecho como exemplo para me esclarecer. A ajuda nesse ramo realmente é "cada um por si" as pessoas podem realmente saber muito, ter muito conhecimento mas não passam e nem ajudam ninguém. Quando se prestam a ajudar parece que passam o mínimo do mínimo do mínimo com o propósito de que a pessoa não consiga resolver seu problema e desista ou pague para alguém fazer. Mas o mundo sempre dá voltas. Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Não cara não é, mas ajudar tenho certeza de que é impossível. E o mais engraçado é que se você teve intenção de ajudar (não parece) não enviou o link diretamente do vídeo que talvez pudesse me ajudar, é como eu disse a "ajuda" sempre é a maior desmotivação pra qualquer um, principalmente para quem está aprendendo sozinho, se tivesse dinheiro ou tempo faria curso mas como não tenho faço por esforço próprio mas isso parece ser até um insulto e não uma demonstração de que quero aprender ao invés de se encostar nos outros procurando soluções; como vi muitos fazerem recebendo o código pronto.

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...