Por culpa de Antonio Meza y de toda la legion de programadores adoradores de las buenas costumbres de programacion, estoy rediseñando mi aplicacion e intentando seguir todas las recomendaciones. :-)
El caso es que quiero sustituir append blank+replace del todo por insert into, que ya lo hacia en determinadas situaciones. El problema esta cuando quieres añadir el contenido de propiedades de formulario, por ejemplo:
thisform.tabla contiene CLIENTES
thisform.indice contiene CODIGOSi lo escribes directo sin propiedades funciona sin problemas:
INSERT INTO CLIENTES (CODIGO) VALUES (CODIGO+1)
Si pones las propiedades te dara error:
INSERT INTO thisform.TABLA (thisform.INDICE) VALUES (thisform.INDICE+1)
Se puede evitar error en el thisform.TABLA si lo pones entre parentesis pero falla lo demas:
INSERT INTO (thisform.TABLA) (thisform.INDICE) VALUES (thisform.INDICE+1)
Las dos soluciones que he encontrado hasta ahora, a la espera de que alguien me enseñe otra mas sencilla o elegante:
Usar un parentesis para la propiedad tabla una variable para la propiedad indice
x=thisform.indice
INSERT INTO (thisform.table) (&x) VALUES (&x+1)
Usar el metodo para construir sentencias sql:
x=""
TEXT TO x NOSHOW TEXTMERGE PRETEXT 8
INSERT INTO <<thisform.tabla>> (<<thisform.indice>>) VALUES (<<thisform.indice>>+1)
ENDTEXT
&x
Tal vez haciendo una funcion personalizada o algo similar seria una tercera opcion, pero casi prefiero escuchar otras opciones.