none
No Cargan los datos de la consulta SELECT MAX Ayudaaaaaaa!!!!!! RRS feed

  • Pregunta

  • Buenas noches.

    Ahora uno de mis temas para consulta es el siguiente:

    Necesito traer a un TextBox el registro mayor de mi campo recibo el cual es autonumerico cuando cargue el Load de Formulario Ingresos.

    Posteriormente en este mismo formulario Necesito insertar datos de mi resto de controles ComboBox, DateTimePikeck y TextBox. esto lo logro hacer bien, luego de insertar necesito mostrar un mensaje en un MsgBox (" Se ha generado el Recibo No ! en este espacio colocar el nuevo numero que asigne automaticamente en la Base de datos'")

    Y en ese momento es donde se presenta precisamente mi problema cuando ejecuto la sentencia SELECT MAX para traer el ultimo registro del campo recibo no me carga informacion en mi DataSet.

    Utilizo este codigo:

    '1. declaro mi conexcion a la base de datos que cabe anotar es de access

    cadenaconexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrador\Mis documentos\Aplicacion Medisoft\Basededatos_Medisoft.mdb;Persist Security Info=True;Jet OLEDB:Database Password=1234"
    conexionmedisoft = New OleDbConnection(cadenaconexion)

    2. declaro mi Table Adapter.

    Dim  ingresosTableAdapter As OleDbDataAdapter

    ingresosTableAdapter = New OleDbDataAdapter ingresosTableAdapter.SelectCommand = New OleDbCommand("select MAX(recibo) from Tbl_Ingresos", conexionmedisoft)

    ingresosdataset = New DataSet
            ingresosdataset.Tables.Add("ingresos")
            ingresosTableAdapter.Fill(ingresosdataset.Tables("ingresos"))
            Txt_No_recibo_caja.DataBindings.Add("text", ingresosdataset.Tables("ingresos"), "No de recibo"

    Espero me puedan ayudar, ya que no me carga nada en el data set y es algo que tengo que entregar con prioridad y por este error estoy estancado.

    Mil bendiciones a todos.

    viernes, 15 de febrero de 2013 4:06

Todas las respuestas

  • Y en ese momento es donde se presenta precisamente mi problema cuando ejecuto la sentencia SELECT MAX para traer el ultimo registro del campo recibo no me carga informacion en mi DataSet.

    es que no usas un dataset para recuperar la info del MAX

    Dim maxid As Integer = 0
    
    Using cn As New SqlConnection(ConnectionString)
    	cn.Open()
    	Dim query As String = "select MAX(recibo) from Tbl_Ingresos"
    	Dim cmd As New SqlClient.SqlCommand(query, cn)
    	maxid = Convert.ToInt32(cmd.ExecuteScalar())
    End Using

    como veras desde codigo es que recuperas el valor concreto

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 15 de febrero de 2013 14:19
  • Buenas noches 

    Leandro 

    Primero que todo mil bendiciones y muchas gracias por contestar, en verdad he estado un poco enredado con el tema ya que no tengo mucha experiencia con Visual Basic. 

    Veo que eres una persona que sabe bastante y cualquier consejo lo seguire al pie de la letra Master.

    acomode el codigo tal cual el ejemplo que me colocaste, pero me surgieron ciertos inconvenientes que describo a continuacion:

    a) cuando intente llamar sql connection no me dejo declararlo y pues creo que obviamente porque estoy usando conexion OleDB y es con access. por lo cual acomode el codigo de la siguiente manera:

    Try
                Dim maxid As Integer
                Using cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\AMP\Documents\Visual Studio 2010\Projects\Medisoft\Basededatos_Medisoft.accdb;Persist Security Info=True;Jet OLEDB:Database Password=1234")
                    cn.Open()
                    Dim query As String = "select max (recibo) as recibo from Tbl_ingresos"
                    Dim cmd As New OleDbCommand(query, cn)
                    maxid = Convert.ToInt32(cmd.ExecuteScalar())
                End Using
            Catch ex As OleDbException
                MessageBox.Show(ex.Message)
            End Try

    entonces me surge el segundo inconveniente. 

    b). no me llama ningun registro aunque mi tabla tiene registros y el campo recibo es autonumerico y no me genera ningun error para colocar aca en el comentario.

    Agradezco cualquier nueva ayuda que me puedas brindar. Y como dije al principio seguire instrucciones al pie de la letra ,

    Mil gracias.

    sábado, 16 de febrero de 2013 4:46