Buenas Grupo!
Estoy intentando hacer una cosa que necesito que sea lo más fácil posible, a ver si me podeis echar una mano:
VFP 9 SP1
SQL Server 2005
El tema es diferenciar la Facturación Preliminar de la Facturación Definitiva de mi aplicación. La tabla de SQL que interviene es "AdPagos" y lo que hago es que si es facturación preliminar, me creo un cursor con la misma estructura que la tabla de SQL, lo llamo (tmpAdPagos) y voy llenandola con la facturación preliminar, el resultado lo muestro en un reporte, y la borro.
Cuando es Facturación Definitiva, la cosa cambia, voy haciendo el mismo proceso que en la facturación preliminar, pero a diferencia, no voy guardando las facturas en un cursor temporal (tmpAdPagos) sino que voy haciendo Inserts sobre la tabla SQL (AdPagos) el resultado lo muestro en un reporte y hago otras operaciones, que no interfieren en mi pregunta:
Independientemente de que ataque a la base de datos (facturacion definitiva) o sobre un cursor vfp (facturacion preliminar) tengo que hacer un INSERT INTO y lo monto de la siguiente manera:
TEXT TO strInsert TEXTMERGE NOSHOW PRETEXT 8
INSERT INTO TMPAdPagos ( campo1, campo2, campo3 )
VALUES
(
'<<tmpAdInquilinos.campo1>>',
<<tmpAdInquilinos.campo2>>,
'<<tmpAdInquilinos.campo3>>'
)
ENDTEXT
&strInsert
Con este código trabajo con el cursor temporal de VFP y me va creando las líneas que necesito, si por el contrario fuera la facturacion definitiva, lo que haría sería:
TEXT TO strInsert TEXTMERGE NOSHOW PRETEXT 8
INSERT INTO AdPagos ( campo1, campo2, campo3 )
VALUES
(
'<<tmpAdInquilinos.campo1>>',
<<tmpAdInquilinos.campo2>>,
'<<DTOC(tmpAdInquilinos.campo3)>>'
)
ENDTEXT
SQLEXEC(pMiCon, strInsert, 'AdPagos')
Como veis lo único que cambia de la cadena "strInsert" es el prefijo de la tabla (AdPagos) por (TMPAdPagos) y que el tercer campo (en el ejemplo, en mi caso real son mas de 15 campos que cambian) uno es '<<tmpAdInquilinos.campo3>>' y el otro '<<DTOC(tmpAdInquilinos.campo3)>>'
Cómo puedo hacer para no tener dos textto strInsert, sino que dependiendo de que sea facturacion preliminar o definitiva, me monte la cadena válida para SQL o para VFP.
Espero haberme explicado bien, si necesitais alguna cosa mas, me lo decis.
Muchas gracias!