none
Somar +1 e Subtrair -1 RRS feed

  • Pergunta

  • Boas!

    (Utilizando 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

    quarta-feira, 5 de abril de 2017 14:55

Respostas

  • Abadom, o que te passei é a apenas o comando que deve ser feito no banco.

    para que funcione, você tem que criar a connection, Command, abrir e fechar conexão, etc.

    tem bastante material na net para dar uma olhadinha.

    Att.

    Thyago

    sexta-feira, 7 de abril de 2017 16:56

Todas as Respostas

  • Abadom,

    pelo que entendi você quer saber o total de registro salvo no banco? 

    sugiro que faça um select da tabela desejada usando Count(). isso sempre te retornar o total de registro na tabela, ou seja, crie uma rotina de contar e chama ela toda vez que fizer um Insert ou Delete.

    Ex: SELECT COUNT(*) FROM TBLCLIENTE

    ai o seu Label.Text  = sua consulta (count()).

    espero ter ajudado.

    quarta-feira, 5 de abril de 2017 15:56
  • Thyago

    SELECT COUNT(*) AS Quantidade FROM Banco
    Label.Text  = Quantidade (count())

    Assim daria certo?
    sexta-feira, 7 de abril de 2017 00:23
  • Abadom, o que te passei é a apenas o comando que deve ser feito no banco.

    para que funcione, você tem que criar a connection, Command, abrir e fechar conexão, etc.

    tem bastante material na net para dar uma olhadinha.

    Att.

    Thyago

    sexta-feira, 7 de abril de 2017 16:56
  • Foi exatamente assim que concluí 90% do projeto, mas fica difícil entender muita coisa apenas assim e alone. Por exemplo: faço as query usando o wizard do VB! E só encontrei exemplos de como fazer esse comando select count diretamente no SQL (dessa forma: SELECT COUNT(*) FROM tabela, apenas isso) sem a ligação com o VB para que seja mostrado em um label como preciso.

    Código do botão Salvar

          ...
    
    Private Sub btnSalvar_Click(sender As Object, e As EventArgs)Handles btnSalvar.Click 
          If txtNome.Text = " "  Then 
    	   MessageBox.Show("Digite o nome!", "ATENÇÃO!", MessageBoxButtons.OK, MessageBoxIcon.Error)
     	   txtNome.Focus() 
    	   Return
          End If
    
    	....
    
    	Try
    	    Me.Tabela1TableAdapter.Insert(txtNome.Text ....)
    	    Me.Tabela1TableAdapter.Update(DataSetCadastro.Tabela1)
    	    Me.Tabela1TableAdapter.Fill(Me.DataSetCadastro.Tabela1)
    	    txtCodigo.Text = ""
    	    txtNome.Text = ""
    	    ...
    	    txtNome.Focus()
    	Catch ex As Exception
    	    Me.Tabela1TableAdapter.Fill(Me.DataSetCadastro.Tabela1)
    	    txtNome.Focus()
    	End Try
    	    dr.Close()
    	End Sub
    

    Att.
    sexta-feira, 7 de abril de 2017 17:56
  • Sem respostas....
    quinta-feira, 13 de abril de 2017 04:17