none
Buscar registro RRS feed

  • Pregunta

  • Tengo un formulario "FrmFacturas", en el tengo un boton y un TextBox (BuscaNFactura).

    Lo que quiero es: si pongo el numero 5 en el textBox y le doy al boton, pues que me aparezca la factura n5.

    Se que es algo asi, pero no acierto

    Me.TblFacturasBindingSource.Filter ( NFactura = BuscaNFactura)

    Agradezco ayuda

    Saludos

    miércoles, 24 de noviembre de 2010 21:53

Respuestas

Todas las respuestas

  • Hola,

     

    Mira el metodo que ahi se expone, puede serte de ayuda

    http://social.msdn.microsoft.com/Forums/en/adodotnetdataset/thread/82773434-c898-4a6f-a410-851455b61b99



    Jason Ulloa
    Mi Blog
    miércoles, 24 de noviembre de 2010 22:00
  • hola

    esta usando dataset tipados ?

    porque en realidad lo haria por mediod e una query a la tabla de tu db

     

    [ADO.NET] Parte 5 - Ejemplos Simples Operaciones CRUD

    ya sea como el link suando los objectosa de ado.net, o sino usando algun metodo en el tableadapter

    pero no se filta en el BindingSource, porque puede que no tengas cargado ese item como para filtrarlo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta pjuan33 sábado, 27 de noviembre de 2010 8:12
    miércoles, 24 de noviembre de 2010 22:01
  • Añado algo.

    Si se pudiera, mejor que filtrar me gustaria que me trasladara a ese numero de factura pero que no me filtre.

    Saludos

    miércoles, 24 de noviembre de 2010 22:02
  • Hola,

    >Tengo un formulario "FrmFacturas", en el tengo un boton y un TextBox (BuscaNFactura).
    >
    >Lo que quiero es: si pongo el numero 5 en el textBox y le doy al boton, pues que me aparezca la factura n5.
    >
    >Se que es algo asi, pero no acierto
    >
    >Me.TblFacturasBindingSource.Filter ( NFactura = BuscaNFactura)


    prueba con este codigo me dice si te ayudo


            Using cn As New SqlConnection("conection")
                Dim cmd As New SqlCommand("select * from tabla where NumFactura= @NFactura",cn)
                cmd.Parameters.AddWithValue("@NFactura", 5)
                Dim dt As New DataTable
                Dim da As New SqlDataAdapter(cmd)

                Try
                    da.Fill(dt)

                    Me.DatgridView.DataSource = dt

                Catch ex As Exception

                End Try


            End Using

    Enmanuel Grullard@Developer ASP.NET,ASP.NET MVC,VB6,VB.NET ,C#.NET
    miércoles, 24 de noviembre de 2010 22:06
    Moderador
  • Uso DataSet Tipados, no entiendo mucho pero creo que lo de las conexiones me sobran.

    Ademas, me gustaria si es posible usar Find en vez de Filter

    Me.TblFacturasBindingSource.Find ( NFactura = BuscaNFactura.text)

    Saludos

    miércoles, 24 de noviembre de 2010 22:17
  • hola,

    >Uso DataSet Tipados, no entiendo mucho pero creo que lo de las conexiones me sobran.
    >
    >Ademas, me gustaria si es posible usar Find en vez de Filter
    >
    >Me.TblFacturasBindingSource.Find ( NFactura = BuscaNFactura.text)


    uuu si te fija en la primer comentario no me expesifica  que era un datasetTipado por eso te propuse ese codigo
    pero de todo modo te hice una prueba observa el codigo abajo.

    Si observa esta parte del codigo GetDataByID(1) es una consulta que hice entro del dataset 


    Dim dt As New MSDNDataSet.clienteDataTable
            Dim da As New MSDNDataSetTableAdapters.clienteTableAdapter
            dt = da.GetDataByID(1)
            Me.DataGridView1.DataSource = dt


    Enmanuel Grullard@Developer ASP.NET,ASP.NET MVC,VB6,VB.NET ,C#.NET
    miércoles, 24 de noviembre de 2010 22:34
    Moderador
  • Realmente lo que mejor me resultaria, seria que al pulsar el boton me llevara al numero de factura especificado en el TextBox "BuscaNFactura".

    Pero que no me filtre, es decir que si pulso el boton de registro siguiente, pues el registro avance sin tener que quitar filtros.

    Saludos

    jueves, 25 de noviembre de 2010 21:12

  • espero y esto solucione tu duda

    # ' Función que retorna el índice de la fila 
    #   '' '''''''''''''''''''''''''''''''''''''''''''''''''''' 
    #   Function Buscar( _ 
    #     ByVal Columna As String, _ 
    #     ByVal texto As String, _ 
    #     ByVal BindingSource As BindingSource) As Integer 
    #  
    #     Try 
    #       ' si está vacio salir y no retornar nada 
    #       If BindingSource1.DataSource Is Nothing Then 
    #         Return -1 
    #       End If 
    #  
    #       ' Ejecutar el método Find pasándole los datos 
    #       Dim fila As Integer = BindingSource.Find(Columna.Trim, texto) 
    #  
    #       ' Mover el cursor a la fila obtenida 
    #       BindingSource.Position = fila 
    #  
    #       ' retornar el valor 
    #       Return fila 
    #  
    #       ' errores 
    #     Catch ex As Exception 
    #       MsgBox(ex.Message.ToString, MsgBoxStyle.Critical) 
    #     End Try 
    #     ' no retornar nada 
    #     Return -1 
    #  
    #   End Function 

    y en el boton

    # Private Sub Button1_Click( _ 
    #     ByVal sender As System.Object, _ 
    #     ByVal e As System.EventArgs) Handles Button1.Click 
    #  
    #     ' Pasar el nombre del campo por el cual buscar ,  
    #     ' el dato, y el BindingSource enlazado al DataGridView  
    #     ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
    #     Dim ret As Integer = Buscar( _ 
    #                  "Nombre", _ 
    #                  TextBox1.Text.Trim, _ 
    #                  BindingSource1) 
    #  
    #     ' si no se encontró .... 
    #     If ret = -1 Then 
    #       ' mostrar un mensaje 
    #       MsgBox("No se encontró la fila", MsgBoxStyle.Critical) 
    #     Else 
    #       With DataGridView1 
    #         ' volver a enlazar 
    #         .DataSource = BindingSource1 
    #         ' Pasarle el índice para Visualizar la fila al comienzo de la grilla 
    #         .FirstDisplayedScrollingRowIndex = ret 
    #       End With 
    #     End If 
    #   End Sub 

    y otros detalles que puedes consultar desde la fuente sobre .Find

    fuente:

    http://www.recursosvisualbasic.com.ar/htm/vb-net/52-buscar-fila-en-datagridview.htm

     


    Saludos,
    Recuerda que si las respuestas te ayudan a resolver tus problemas no olvides marcarla como respuesta, ya que otros usuarios pueden tener el mismo problema.
    J. Miguel
    • Editado J_Miguel jueves, 25 de noviembre de 2010 21:25 Adecuar lineas
    jueves, 25 de noviembre de 2010 21:21
  • Pero NO es en una grilla donde estoy buscando, es un formulario en el que cada registro es una factura,

    Lo que quiero es poder buscar una factura determinada, para eso he puesto un TextBox "BuscaNFactura" y un boton. Quiero poner en el TextBox un numero(Por ejemplo el 8), y que al pulsar el boton que me lleve al registro en el que esta la factura numero 8

    Saludos

    Algo asi

    TblFacturasBindingsource.Position=TblFacturasBindingsource.Find=("NFactura"=BuscaNFactura.Text)

    Saludos

    jueves, 25 de noviembre de 2010 21:43
  • OK, uso dataset tipados

    Con la consulta me ha funcionado

    Gracias

    sábado, 27 de noviembre de 2010 8:12