FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Una de RecordSet SOLUCIONADO
Posts: 464
Joined: Tue Mar 21, 2006 07:30 PM
Una de RecordSet SOLUCIONADO
Posted: Sat Feb 28, 2015 09: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 (fw): Select all Collapse
 聽 聽 聽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
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Una de RecordSet
Posted: Sat Feb 28, 2015 02:09 PM
Prueba as铆

Code (fw): Select all Collapse
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
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Una de RecordSet
Posted: Sat Feb 28, 2015 06:16 PM
Pedro:

Te va un peque帽o ejemplo:

Code (fw): Select all Collapse
聽 聽 聽 聽 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
Posts: 464
Joined: Tue Mar 21, 2006 07:30 PM
Re: Una de RecordSet
Posted: 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

Continue the discussion