Visual Basic - Ayuda urgente, 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 urgente, por favor

Publicado por Celia (106 intervenciones) el 14/01/2004 22:56:55
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 urgente, por favor

Publicado por Pedro Luis (878 intervenciones) el 15/01/2004 10:13:28
Creo que el problema, como bien apuntas, es que al ser el número de factura alfabético, las busquedas son alfabéticas, Sanz siempre estará entre Sanchez y Navarro, aunque tenga menos letras. No son los Combos los que hay que pasar a enteros, sino cambiar en la base de datos el numero de factura a numérico.
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
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

RE:Ayuda urgente, por favor

Publicado por Celia (106 intervenciones) el 15/01/2004 21:22:01
Pero no puedo cambiar los tipos de datos en la base de datos...
¿No hay otra forma?
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
sin imagen de perfil

RE:Ayuda urgente, por favor

Publicado por Saul (2 intervenciones) el 15/01/2004 21:58:31
Hola Cecilia, Creo que tu problema esta sencillo, recuerda que los caracteres se comportan en diferente forma que los numeros, por esa razon tu qry deberia de incluir lo siguiente:
WHERE (Facturas.Año_factura) = '" & (txtAño.Text) & "' AND VAL([Num_factura]) >= '" & VAL(cmbFraInicial.Text) & "' AND"
cSQL = cSQL & "VAL (Num_factura) <= '" & VAL(cmbFraFinal.Text) & "'"

OBSERVA LA CONVERSION DE NUMERO EN EL QRY, ESPERO QUE TE SIRVA, NO NECESITAS CAMBIAR EL TIPO DE DATO EN TU BASE DE DATOS.
Espero que te sirva.
Saul.
[email protected]
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