Mis estimados, apenas voy leyendo todo lo que postearon y al parecer en estos dias, se ha estado mencionando mucho, respecto a MySQL, SQL, y tipos de bases de datos, y es una buena señal, aprender algo nuevo y migrar a otros tipos de bases de datos, y olvidarnos del dbf, aunque no del 100%, ya que depende del tipo sistema,que se seguiran usando dbf, pero si migrar para otras plataformas a otras bases de datos, hablando de SQL puro.
Yo un tiempo use visual foxpro, y siempre en dbfs, pero la ventaja del foxpro, que tiene su propia herramienta y dlls integradas para trabajar en SQL y casi no use index, era un pequeño programa sencillo para funerarias,segun recuerdo, ya que menciono desde hace muchos años , lo unico malo que perdi todos mis fuentes en que se me daño mi disco duro y nunca pude recuperarlos,en ese tiempo se usaba windows 2000,solo pude rescatar algunos pero no al 100%. y desde eso me desanimo y fue que me cambie a fivewin que me recomendaron.
Esta era la instruccion y comandos de sql de visual foxpro version 6.0
Code: Select all
sele str(solicitud.contrato,10) as contrato,;
solicitud.producto,;
productos.tipo,;
productos.tipos,;
str(solicitud.tipsol,1) as tipsol,;
str(solicitud.tiptemp,1) as tiptemp,;
solicitud.fecha_con,;
str(solicitud.estatus,1) as estatus,;
cargos.fechadocto ,;
cargos.fechavenci ,;
cargos.imp_origin ,;
cargos.saldo_actu ,;
xfec1-cargos.fechavenci AS DIASVEN,;
iif(xfec1-cargos.fechavenci>=xven3,TRANS(cargos.imp_origin-cargos.saldo_actu,"9999999.99"),TRANS(0.00,"9999999.99")) AS v4,;
iif(xfec1-cargos.fechavenci>=xven2 .and. xfec1-cargos.fechavenci<xven3,TRANS(cargos.imp_origin-cargos.saldo_actu,"9999999.99"),TRANS(0.00,"9999999.99")) as v3,;
iif(xfec1-cargos.fechavenci>=xven1 .and. xfec1-cargos.fechavenci<xven2,TRANS(cargos.imp_origin-cargos.saldo_actu,"9999999.99"),TRANS(0.00,"9999999.99")) as v2,;
iif(xfec1-cargos.fechavenci>=1 .and. xfec1-cargos.fechavenci<xven1,TRANS(cargos.imp_origin-cargos.saldo_actu,"9999999.99"),TRANS(0.00,"9999999.99")) as v1,;
iif(xfec1-cargos.fechavenci >= (-1*xven1) .and. xfec1-cargos.fechavenci <= 0 ,TRANS(cargos.imp_origin-cargos.saldo_actu,"9999999.99"),TRANS(0.00,"9999999.99")) as pv1,;
iif(xfec1-cargos.fechavenci >= (-1*xven2) .and. xfec1-cargos.fechavenci < (-1*xven1),TRANS(cargos.imp_origin-cargos.saldo_actu,"9999999.99"),TRANS(0.00,"9999999.99")) as pv2,;
iif(xfec1-cargos.fechavenci >= (-1*xven3) .and. xfec1-cargos.fechavenci < (-1*xven2),TRANS(cargos.imp_origin-cargos.saldo_actu,"9999999.99"),TRANS(0.00,"9999999.99")) as pv3,;
iif(xfec1-cargos.fechavenci < (-1*xven3),TRANS(cargos.imp_origin-cargos.saldo_actu,"9999999.99"),TRANS(0.00,"9999999.99")) AS pv4,;
9999999.99 AS VR1,;
9999999.99 AS VR2,;
9999999.99 AS VR3,;
9999999.99 AS VR4,;
9999999.99 AS PVR1,;
9999999.99 AS PVR2,;
9999999.99 AS PVR3,;
9999999.99 AS PVR4;
from cargos,solicitud,productos;
where cargos.tipsol+cargos.documento=str(solicitud.tipsol,1)+LEFT(ALLTRIM(str(solicitud.contrato))+spac(10),10) .and.;
solicitud.producto=productos.tipo .and. ;
solicitud.contrato>=xval1 .and. ;
solicitud.contrato<=xval2 .and. ;
val(cargos.movimiento)<>3 .and. ;
cargos.imp_origin-cargos.saldo_actu>0 .and.;
(solicitud.estatus=1 .or. solicitud.estatus=4) ;
ORDER BY solicitud.contrato ;
into table &repolo
use
use &repolo in 99 alias repolo
sele repolo
Saludos y espero que el maestro Antonio Linares, tome en cuenta y crea un foro del que mencione y asi a muchos les servira.
Atte: Adrian C. C.
acc69@hotmail.com