Visual Basic - Ayuda, por favor

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 3 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ayuda, por favor

Publicado por Celia (106 intervenciones) el 14/01/2004 22:52:52
Tengo esta consulta en un Form de VB:

cSQL = "SELECT Facturas.Id_Factura, Facturas.Num_factura, Facturas.Año_factura, Facturas.Fecha_factura, Facturas.TipoFactura, Facturas.totalaeuros"
cSQL = cSQL & " Facturas.canivaeuros, Facturas.importeeuros, STACLIENTES.cod_cifc, STACLIENTES.razonsocial, STACLIENTES.domicilio_sol"
cSQL = cSQL & " STACLIENTES.poblacion_sol, STACLIENTES.provincia_sol, STACLIENTES.cp_sol, STACLIENTES.cod_subcta, CInt([Num_factura]) AS ValorFactura
cSQL = cSQL & " FROM STACLIENTES INNER JOIN Facturas ON STACLIENTES.cod_ncc=Facturas.Cod_ncc"
cSQL = cSQL & " WHERE (Facturas.Año_factura) = '" & (txtAño.Text) & "' AND ([Num_factura]) >= '" & (cmbFraInicial.Text) & "' AND"
cSQL = cSQL & " (Num_factura) <= '" & (cmbFraFinal.Text) & "'"
cSQL = cSQL & " ORDER BY Val(Facturas.Año_factura) DESC, Val(Facturas.Num_factura) DESC;"
Set rcsConsulta = dbBaseDatos.OpenRecordset(cSQL, dbOpenSnapshot)

En la base de datos los campos Año_factura y Num_factura son tipo texto. Lo que me sucede es cuando ejecuto esta consulta, introduzco 2 facturas en 2 combo box, he probado también a pasar los combo box a tipo entero.... pero me sigue saliendo más registros de la cuenta. Ejemplo: Le digo que me visualice los registros entre las facturas nº 1181 y 1289 , pues aparte de visualizar estas facturas también saca, por ejemplo, la 122, la 12.... bueno, muchas más. ¿Alguna idea?

Espero que me puedan ayudar, por favor.
Un saludo y muchas gracias.
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

RE:Ayuda, por favor

Publicado por Saul (2 intervenciones) el 15/01/2004 17:37:01
Hola Cecilia, si entendi bien lo que esta sucediendo es que no estas tomando en cuenta que al tener datos caracteres si los pones en un rango, el ordenamiento puede no se el esperado, ya que no depende del numero de factura en este caso sino del numero de orden en la tabla ascii, por ejemplo si tengo los numeros de facturas 122, 123,....1181,1182, 1289 todas del mismo año, numericamente ese es el orden, pero siendo caracter el orde es 1181,122,123,1289, mi sugerencia es que conviertas en el qry a val los datos de los combos ylos de la base de datos talves ...... where aniofac= text1.text and val(numfactura) >= val(combo1.txt) and val(numfactura) <= val(combo2.txt)

Espero que te sirva de algo.
Saludos Saul.
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