Una de RecordSet SOLUCIONADO

Una de RecordSet SOLUCIONADO

Postby Pedro » Sat Feb 28, 2015 9:47 am

Hola a todos
Hace ya mucho tiempo que no vengo por aqui, y estoy más perdido que un pinguino en el sahara. Bueno a lo que voy, que es a pediros ayuda.
Le hice a un amigo un programa con ADO y una BBDD Access, le funciona bien, no hay problemas, pero ahora me pide una modificación y,
he debido perder el tacto, porque intento hacer el recordset y no me lo trae, debe ser algo de cómo poner las comillas o los apóstrofes de la sentencia
porque en modo simple si me lo trae. Me explico : el usuario me ingresa dos fechas, entre las cuales debo traer el recordset, PEROOOO, también puede ingresar
en código de un proveedor entonces el recordset debe traer solo los registros entre las dos fechas y que sean de ese proveedor. No consigo sacarlo, si entre las dos
fechas, también el de un proveedor, pero las dos cosas no. Alguien me ilumina?
Asi es como lo hago :
Code: Select all  Expand view
     cSource := "SELECT * FROM GASTOS WHERE CODIGO = "+cCodProv
      cSource += " AND FECHA >=" +cDatIni+" and FECHA <= "+cDatFin
      cSource += " ORDER BY FECHA"

las fechas vienen correctas y el código del proveedor también ya que esa sentencia si quito el proveedor me trae las fechas correctamente y si quito las fechas me trae el proveedor de forma correcta
pero las dos cosas no me las trae.
Luego me han pedido otra listado de esa misma tabla, pero aqui el pero aunque sea minúsculas es más grande que el anterior, porque lo único que cambia es que el codigo
que puede estar en tres campos de la tabla, digamos que hay un codigo_gasto_1, un codigo_gasto_2 y un codigo_gasto_3 , tres campos y el codigo que solicita, puede estar en cualquiera de los 3 campos.
¿Me tirais una mano a ver como puedo poner esas sentencias y que me traigan el RecordSet?

Agradecido a todos
Pedro
Last edited by Pedro on Sun Mar 01, 2015 12:17 pm, edited 1 time in total.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Una de RecordSet

Postby horacio » Sat Feb 28, 2015 2:09 pm

Prueba así

Code: Select all  Expand view
cSource := "SELECT * FROM GASTOS WHERE CODIGO = '"+cCodProv
      cSource += "' AND FECHA >='" +cDatIni+"' and FECHA <= '"+cDatFin
      cSource += "' ORDER BY FECHA"

Verifica que las fechas esten en formato 'AAAA-MM-DD'

Saludos
horacio
 
Posts: 1358
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Una de RecordSet

Postby Armando » Sat Feb 28, 2015 6:16 pm

Pedro:

Te va un pequeño ejemplo:

Code: Select all  Expand view

        oRsDlp:Source               := "SELECT " +;
                                                "* " +;
                                            "FROM " +;
                                                "DetLdp " +;
                                            "WHERE " +;
                                                "Det_Ldp = " + STR(anLdp[oHdr:LDP],2) + " " +;
                                            "AND " +;
                                                "Det_Pro = '" + oWrk:PRO + "'"
 


Observa cómo defino las variables cuando son numéricas,
"Det_Ldp = " + STR(anLdp[oHdr:LDP],2) + " " +;

Y cómo cuando son alfanuméricas
"Det_Pro = ' " + oWrk:PRO + " ' "

La diferencia son los apostrofes o comilla simple, además las fechas deben estar en formato
AAMMDD, puedes usar la función DTOS(dFecha) y por ser convertida en alfanumérica debe
ir entre apostrofes.
"Det_Fecha = '" + DTOS(oWrk:FECHA)+ "'"

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3049
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Una de RecordSet

Postby Pedro » Sun Mar 01, 2015 12:17 pm

Gracias los dos, los apóstrofes era lo que tenia mal, no los colocaba correctamente
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 6 guests