none
Buscar una Fecha y un decimal en un datagridviewer RRS feed

  • Pregunta

  • Hola a todos, soy Maria es la 1ra vez que escribo, mi problema es el siguiente. Tengo en un formulario un datagridviewer que muestra datos de distintas tablas de mi base de datos SQL Server.

    Además tengo un combobox que permite filtrar la busqueda ya sea por Importe (decimal) o por la Fecha de Vencimiento (date) y bueno otros campos que no me generan problema. Cuando en el combo seleccionó por Fecha muestro ahi un DateTimePicker para que se seleccione una Fecha en formato corto (por ejemplo 22/10/2016) porque asi guardo las fechas en la BD, el problema es que cuando selecciono no me muestra nada.

    Para esto tengo este codigo:

    Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
            Dim Factura As New Facturas
            Factura.FechaVencimiento = DateTimePicker1.Value
            DataGridView1.DataSource = FacturasDatos.BuscarFecha(Factura)
        End Sub
    

    Luego utilizo este query Sql.

    cmd.CommandText = "SELECT <todos los atributos/columnas> From Facturas WHERE FechaVencimiento = @FechaVencimiento"

    No me dá ningun error, simplemente es como que busca y no encuentra nada.

    Como decia tengo la fecha corta, pero me parece que cuando selecciono un valor en el datetimepicker toma la fecha más la hora, quiza pueda ser eso?

    Ahora en cuanto al decimal:

    Por defecto o cuando carga el formulario tengo un textbox donde también realizo busquedas por otros criterios, en caso de que quiero buscar o filtrar la informacion por IMPORTE , yo voy haciendo que me muestre en el datagrid ni bien ingreso un caracter usando el evento TextBox1_TextChanged, cuando ingreso un número si me muestra pero cuando ingreso la coma (,) porque el importe es un número con 2 decimales (ej: 350,50) ya no me muestra nada, osea si pongo 350 me muestra ese registro pero si pongo 350,50 ya no lo hace.

    Bueno, espero que me puedan ayudar.

    Gracias.

    • Cambiado Enrique M. Montejo jueves, 8 de septiembre de 2016 6:53 Pregunta relacionada con el acceso a datos.
    lunes, 5 de septiembre de 2016 10:22

Todas las respuestas

  • Hola MadameTikita

    Con respecto a la fecha, puedes realizar en el where que FechaVencimiento sea >= @FechaVencimiento And FechaVencimiento < @FechaVencimiento2

    pero a @FechaVencimiento2 le aumentas un día.

    Espero te ayude.

     

    Javier

    lunes, 5 de septiembre de 2016 19:49
  • Hola Javier Córdova, gracias por responder, el problema efectivamente era la hora por más que en la propiedad formato puse "Short" igual me tomaba la hora, lo que hice fue cambiar a Custom y poner en la propiedad custom format "dd/MM/yyyy" y en la propiedad value borrar la hora, y se soluciono por suerte.

    Todavía estoy con el problema de buscar un importe en decimal. Espero que alguien me pueda ayudar. Gracias de antemano.

    martes, 6 de septiembre de 2016 2:33
  • Hola MadameTikita.

    Lo que yo hago es convertir el campo numérico en un varchar.

    "SELECT Convert(char(15),numero) as numero, fecha FROM tbPedidos WHERE (numero LIKE '@texto%')"

    espero que te sirva.

    un saludo.

    martes, 6 de septiembre de 2016 6:59