Visual Basic.NET - Realizar filtro de un Select donde la tabla contiene datos numericos

   
Vista:

Realizar filtro de un Select donde la tabla contiene datos numericos

Publicado por Edward (11 intervenciones) el 04/10/2017 16:28:35
Saludos Todos...

Necesito la ayuda de ustedes urgente, quiero realizar un filtro del valor de las cantidades y mostrarlas en un datagridview, la BD es de access y el campo valor es numerico, pero cuando intento realizar la consulta me arroja el error, " No coinciden los tipos de datos en la expresión de criterios, necesito saber como realizo el cambio en el SELECT para que me lea los datos numericos de la BD.

Mediante un textbox en el Form es que introduzco el valor para filtar el resultado en el datagridview..

Este es el codigo que estoy realizando... si me pueden colaborar se los agradeceria

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim ds1 As New DataSet
    Dim dt1 As New DataTable
    Dim Fechini As Date
    Dim Fechfin As Date
 
    Fechini = Date.FromOADate(Val(DateTimePicker1.Value))
    Fechfin = Date.FromOADate(Val(DateTimePicker2.Value))
 
    Dim adp1 As New OleDb.OleDbDataAdapter("SELECT a.guia, a.consignatario, a.fechaarrivo, a.valor, b.fechanotif from Manifiesto a left outer join notifimpuestos b on a.guia = b.guia where a.valor >=  ' & TextBox2.Text & ' and a.fechaarrivo between ('" & Fechini & "') AND ('" & Fechfin & "')", conn)
    Try
 
        ds1.Tables.Add("tabla")
        adp1.Fill(ds1.Tables("tabla"))
        Me.DataGridView1.DataSource = ds1.Tables("tabla")
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo

Realizar filtro de un Select donde la tabla contiene datos numericos

Hazlo mediante un objeto OleDBCommand

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim Cmd as new OLedbCommand
 
Cmd.CommandText="SELECT a.guia, a.consignatario, a.fechaarrivo, a.valor, b.fechanotif from Manifiesto a left outer join notifimpuestos b on a.guia = b.guia where a.valor >=@Valor and a.fechaarrivo>=@Fechini AND a.fechaarivo<=@Fechfin "
 
Cmd.CommandType=CommandType.Text
 
Cmd.Parameters.Add("@Valor",OledbType.Decimal).Value=Convert.toInt32(txtvalor.text)
Cmd.Parameters.Add("@Fechini",OledbType.Date).value=Fechini
Cmd.Parameters.Add("@Fechfin",OledbType.Date).Value=Dechfin
 
 
Dim  adap as = new OleDBDataAdapter()
custDA.SelectCommand = selectCMD
 
Conn.Open();
 
Dim custDS as new DataSet()
custDA.Fill(custDS, "tabla")

Todo lo demas lo completas, con eso te debe funcionar sin problema.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Realizar filtro de un Select donde la tabla contiene datos numericos

Publicado por Edward edlirianl@gmail.com (11 intervenciones) el 05/10/2017 00:30:06
Wilfredo gracias por tu pronta respuesta, pero tengo unas dudas es que soy novato en esto:

esta parte no la entiendo:

custDA.SelectCommand = selectCMD

conn.Open()

Dim custDS As New DataSet()
custDs.Fill(custDS, "tabla")

, como defino "custDA." tambien "selectCMD, no se si es el dataset o el dataadapter.

Gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Realizar filtro de un Select donde la tabla contiene datos numericos

El que tiene DA en el nombre es data adapter, el que tiene DS es un dataset.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Realizar filtro de un Select donde la tabla contiene datos numericos

Publicado por Edward (11 intervenciones) el 07/10/2017 20:23:22
muy valiosa tu respuesta logre resolverlo como planteas, eres un genio, trabaja al 100%
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Realizar filtro de un Select donde la tabla contiene datos numericos

Que bueno que hayas solucionado tu inconveniente.

Pues no genio ni nada parecido.

Aunque te funcione, personalmente no trabajo con datasets, ni lo recomiendo, hay otras alternativas mas eficientes a los datasets.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad