Problemas con Grid en foxpro9

Hola trabajo con foxpro9 con BD MySQL. Tengo una ficha con un encabezado y detalle, el detalle lo cargo mediante una tabla auxiliar de fox el cual incluyo en el entorno de datos y del cual hago un Grid para mostrar en el formulario, mi pregunta es, si hago una búsqueda por el ID del encabezado, como recupero el mismo detalle en el mismo Grid si los registros ya fueron guardados en la BDMySQL. Agradeceré mucho tu ayuda..

1 Respuesta

Respuesta
1
A ver creo que no entiendo muy bien. ¿Tu problema se limita a obtener los datos de detalle correspondientes a un "Id" específico desde una base de datos de MySQL? Si es así, lo que podrías hacer es una consulta (a MySQL) en la tabla que tiene el detalle filtrando por el "Id" que necesitas, eso te podría regresar un "cursor" de Visual FoxPro que fácilmente se podría visualizar en el "Grid".
** Debes tener un identificador de conexión para conectarte a MySQL
** Suponiendo que en este caso sea "nIdConMySQL"
nId = ThisForm.txtId.Value && Se obtiene el "Id"
cConsulta = "SELECT * FROM TablaDetalle WHERE Id = " + LTRIM(STR(nId))
SQLEXEC(nIdConMySQL, cConsulta, "_Detalle")
** Se relaciona con el "Grid"
ThisForm.grdTuGrid.RecordSource = "_Detalle"
Hola ikz0f7, desde ya agradezco tu respuesta..
Trate de utilizar tu ejemplo pero no me funcionó, tal vez no te entendí bien por que no me explique bien, te explico mejor..
Tengo una tabla "ficha", el cual tiene un detalle "detalleficha" este detalle contiene los ids foráneos de las tablas "fichas, servicios, tiposervicios, dientes"
Para visualizar todos los datos de la ficha creé una vista en MySQL, que contiene todos los datos de las tablas expuestas más arriba y me muestra los datos del encabezado "ficha" y todos los datos del detalle "detalleficha"
Tengo un buscador por id en FoxPro9 el cual me trae todos los datos de esta vista y me carga el encabezado perfectamente y es así:
SQLEXEC(miconexion,"SELECT * FROM vista_fichadetalle;
WHERE vista_fichadetalle.idficha = ?idvariable","detaficha")
SELECT detaficha
IF detaficha.idficha <> 0
**aqui cargo los datos en los textbox del encabezado
El problema es que no se como volcar el detalle de esa ficha en el Grid cuando realizo la búsqueda
Ojala puedas ayudarme... me urge terminar este trabajo es para la facultad.. y de nuevo GRACIAS...!
Pues según lo que entiendo ahora, tienes un cursor en Fox (detaficha) que tiene todos los datos de la ficha, tanto del encabezado como del detalle. Si es así, entonces la tabla debe tener datos repetidos para los registros que corresponden al encabezado, y datos diferentes sólo para los registros que forman el detalle. Partiendo de esto (si es que entendí bien) lo que puedes hacer es usar ese cursor como fuente de datos del "Grid" y ocultar las columnas que pertenezcan al encabezado, para que no se vean y sólo aparezca el detalle.
Según tu código, pienso que podrías usar algo así:
SELECT detaficha
IF detaficha.idficha <> 0
**aqui cargo los datos en los textbox del encabezado
** Se "carga" el "Grid"
ThisForm.grdTuGrid.RecordSource = "detaficha"
** Después se ocultan las columnas (campos) que no son parte del detalle
ThisForm.grdTuGrid.Column1.Visible = .F.
ThisForm.grdTuGrid.Column2.Visible = .F.
ThisForm.grdTuGrid.Column6.Visible = .F.
...
Endif

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas