El problema que estás enfrentando es que desconoces una tabla o un archivo de base de datos desde donde debes obtener la información. El error Alias '...' not found es el clásico error que Visual FoxPro (VFP) lanza cuando intentas acceder a un campo de una tabla que no está abierta o no es accesible en el área de trabajo actual.
La Causa del ErrorEl mensaje de error "Alias 'PTransacciones' not found" significa que cuando tu código intenta ejecutar una operación (como SQLINSERT o SQLEXEC), no puede encontrar una tabla o alias llamado PTransacciones en el entorno de trabajo de VFP.
Aunque tu código de SQLEXEC inserta datos en MySQL, VFP necesita tener la tabla PTransacciones abierta localmente para poder leer los datos que va a enviar.
La SoluciónPara solucionar esto, debes asegurarte de que la tabla PTransacciones esté abierta y sea la tabla activa antes de ejecutar el SQLINSERT.
Aquí te muestro cómo debes estructurar tu código para asegurarte de que VFP pueda encontrar la tabla:
USE PTransacciones IN 0 ALIAS PTransacciones: Esta es la línea más importante. Le dice a VFP que abra la tabla PTransacciones en la primera área de trabajo libre (IN 0) y le asigne el alias PTransacciones.
SQLEXEC(..., "PTransacciones.campo1", ...): Al especificar el nombre completo del campo con el alias (PTransacciones.campo1), le indicas explícitamente a VFP de dónde debe tomar el valor para la inserción.
USE IN PTransacciones: Una vez que la operación ha terminado, es una buena práctica cerrar la tabla para liberar los recursos.
Si ya tenías la tabla abierta, es posible que el error se deba a que no es el área de trabajo activa. En ese caso, puedes usar SELECT PTransacciones antes del SQLINSERT para asegurarte de que sea la tabla activa.
Espero que esto solucione tu problema. ¡Estaré aquí si necesitas algo más!
--
Blog de la Comunidad Visual FoxPro en Español http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/877d70bb-043a-4068-94e5-21987c108c36n%40googlegroups.com.