none
Refrescar resultado de consulta SUM RRS feed

  • Pregunta

  • Hola:

    La pregunta es basicamante como actualizar el resultado de una consulta sql (con SUM) que se muestra en un texbox y que va variando.

    La primera vez se muestra bien, pero si se modifica el resultado no se actualiza y siempre muestra lo mismo. Si salgo y vuelvo a entrar entonces sí lo muestra correctamente.

    He intentado con Mitableadapter.update(Misataset) no da error, pero aparentemente no hace nada.

    Esta es la linea que hace la operacion de calculo

    Subtotal = Me.VentasTableAdapter1.CalculoCaja(Nombre.tetx)
                Texbox1.Text = subtotal

    El primer calculo funciona bien pero en las siguientes consultas ya no se como actualizar 

    Espero haberme explicado, porque a veces lo realmente dificil es eso.

    Sigo en la dolorosa transicion de VB6 a VB.net y ruego comprension si las preguntas son de primaria

    Gracias y saludos

    domingo, 31 de mayo de 2015 22:10

Respuestas

  • Hola DiegC podrías guiarte del siguiente ejemplo:

    Imports System.Data
    Imports System.Data.SqlClient
    
    Public Class Form1
    
        Dim tbl As New DataTable
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Using conexion As New SqlConnection("Server=.;Database=Neptuno;Integrated Security =SSPI")
                conexion.Open()
                Dim da As New SqlDataAdapter("Select * from Productos", conexion)
                da.Fill(tbl)
                conexion.Close()
            End Using
    
            DataGridView1.DataSource = tbl
            Label3.Text = tbl.Compute("SUM(PrecioUnidad)", "").ToString()
        End Sub
    
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Using conexion As New SqlConnection("Server=.;Database=Neptuno;Integrated Security =SSPI")
                conexion.Open()
                tbl.Clear()
                Dim da As New SqlDataAdapter("Select * from Productos where NombreProducto like '%" + TextBox1.Text + "%'", conexion)
                da.Fill(tbl)
                conexion.Close()
            End Using
    
            DataGridView1.DataSource = tbl
            Label3.Text = tbl.Compute("SUM(PrecioUnidad)", "").ToString()
        End Sub
    End Class

    Espero haberte ayudado.

    domingo, 31 de mayo de 2015 22:27

Todas las respuestas

  • Hola DiegC si almacenas el resultado de tus consultas en un datatable y cada vez que tengas cargado los datos, aplicarías un .Compute a tu datatable para así poder capturar la suma actual de los registros que se actualizaron o filtraron.

    Dentro de minutos te mostrare un ejemplo.

    Espero haberte ayudado.

    domingo, 31 de mayo de 2015 22:13
  • Hola Aldair. 

    Solo quiero mostrar el resultado actualizado en un texbox, pero no se como actualizar la consulta.

    Gracias estare por aqui

    domingo, 31 de mayo de 2015 22:17
  • Hola DiegC podrías guiarte del siguiente ejemplo:

    Imports System.Data
    Imports System.Data.SqlClient
    
    Public Class Form1
    
        Dim tbl As New DataTable
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Using conexion As New SqlConnection("Server=.;Database=Neptuno;Integrated Security =SSPI")
                conexion.Open()
                Dim da As New SqlDataAdapter("Select * from Productos", conexion)
                da.Fill(tbl)
                conexion.Close()
            End Using
    
            DataGridView1.DataSource = tbl
            Label3.Text = tbl.Compute("SUM(PrecioUnidad)", "").ToString()
        End Sub
    
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Using conexion As New SqlConnection("Server=.;Database=Neptuno;Integrated Security =SSPI")
                conexion.Open()
                tbl.Clear()
                Dim da As New SqlDataAdapter("Select * from Productos where NombreProducto like '%" + TextBox1.Text + "%'", conexion)
                da.Fill(tbl)
                conexion.Close()
            End Using
    
            DataGridView1.DataSource = tbl
            Label3.Text = tbl.Compute("SUM(PrecioUnidad)", "").ToString()
        End Sub
    End Class

    Espero haberte ayudado.

    domingo, 31 de mayo de 2015 22:27