Problemas al generar el .exe en vfp 9.0

buen día estoy haciendo una aplicación de registro de historias medicas, y utilizado el siguiente código para buscar

local CDLA
CDLA=THISFORM.PAGEFRAME1.PAGE3.TEXT8.value
SELECT ORTODONCIA
LOCATE forcedula=CDLA
if !found()
THISFORM.PAGEFRAME1.PAGE3.TEXT8.setfocus
thisform.pageframe1.page3.text8.value = " "
MESSAGEBOX("Cedula no registrada",64)
else
THISFORM.pageframe1.page3.Grid1.RecordSource = "SELECT Cedula,Bandaspizq,Bandasupder,Bandainfder,Bandainfizq,Alambre,Fechaactual,Fechaprox,Observaciones FROM ORTODONCIA WHERE CEDULA = CDLA INTO CURSOR TEMPORAL2"
endif

y lo uso en tres page de un mismo pageframe, obviamente con tablas distintas y en dos de ellas no funciona y en las otras, funciona cuando le doy ejecutar formulario desde vfp 9.0 pero cuando genero el ejecutable y lo corro al querer hacer la búsqueda me sale el siguiente error "la tabla no tiene ningún orden de indice establecido", en las tablas cada una tiene un indice de tipo normal llamado cedula y están abiertas en el data enviroment de forma exclusiva., que puedo hacer para que no me salga ese error y funcione como funciona ejecutando el formulario?

1 Respuesta

Respuesta

88--Saludos! Gracias por consultar! Espero poder ayudarte! :) Hmmm... yo te aconsejaría, en mi humilde opinión, que en la parte final de tu código, modifques la forma en que cargas en RECORDSOURCE de tu grid! A ver... así:

**--Cargamos recordsource del grid

THISFORM.PageFrame1.Page3.Grid1.RecordSource = "Ortodoncia"

**--Cargamos ControlSource de columnas

THISFORM.PageFrame1.Page3.Grid1.Column1.ControlSource = "Ortodoncia.campo1"

THISFORM.PageFrame1.Page3.Grid1.Column2.ControlSource = "Ortodoncia.campo2"

THISFORM.PageFrame1.Page3.Grid1.Column3.ControlSource = "Ortodoncia.campo3"

THISFORM.PageFrame1.Page3.Grid1.Column4.ControlSource = "Ortodoncia.campo4"

THISFORM.PageFrame1.Page3.Grid1.Column5.ControlSource = "Ortodoncia.campo5"

**--Cargas todas las columnas que tienes en tu grid con los campos de tu tabla

Ves! Así es la forma correcta de hacerlo "si cargas los datos directamente de la tabla". Ahora... veo que usas un cursor! Pues no hay ningún problema! Pero, haz así:

ELSE

SELECT campo1, campo2... FROM ortodoncia WHERE cedula = CDLA INTO CURSOR temporal2

**--Cargamos recordsource del grid

THISFORM.PageFrame1.Page3.Grid1.RecordSource = "temporal2"

**--Cargamos ControlSource de columnas
THISFORM.PageFrame1.Page3.Grid1.Column1.ControlSource = "temporal2.campo1"
THISFORM.PageFrame1.Page3.Grid1.Column2.ControlSource = "temporal2.campo2"
THISFORM.PageFrame1.Page3.Grid1.Column3.ControlSource = "temporal2.campo3"

Ves! Prueba y me avisas! :)

¿Has podido resolver tu inquietud? De ser así, te pido que cierres la pregunta! si no... hazme saber tus dudas! :D :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas