Usar Autocompletar textbox VFP 9.0

Buenos Días aun, tengo una situación con los ejemplos que hay en internet referente a la propiedad de autocompletar los texbox, el detalle es que en los ejemplos esta muy funcional y perfecto, solo que no logro incorporarlo a un textbox definido por mi en mi formulario, podrías ayudarme a que sea totalmente funcional directamente en un formulario? Ya le he dado muchas vueltas y estoy estancado siendo que se ve "sencillo"

en mi formulario copio exactamente de acuerdo al código por ejemplo;

Te código original del init del procedimiento del programa

PROCEDURE INIT
LOCAL
lcDbfAuto, lcDbfOrigen
*-- Ruta y nombre de la tabla AutoCompletar
lcDbfAuto = ADDBS(SYS(2023)) + "MiAutoComp.dbf"
*-- Creo la tabla AutoCompompletar
THISFORM.CrearTablaAutoComp(lcDbfAuto)
*-- Ruta y nombre de la tabla Origen
lcDbfOrigen = ADDBS(HOME(2))+ "NorthWind\Customers.dbf"
*-- Inserto los registros para cada campo
*-- y configuro las propiedades de cada TextBox
THISFORM.InsertarReg(lcDbfOrigen,lcDbfAuto,"AC_COMPANIA","CompanyName")
THISFORM.txtCompania.AUTOCOMPLETE = 1
THISFORM.txtCompania.AUTOCOMPSOURCE = "AC_COMPANIA"
THISFORM.txtCompania.AUTOCOMPTABLE = lcDbfAuto
ENDPROC

código adaptado a mi formulario en el procedimiento init

LOCAL lcDbfAuto, lcDbfOrigen
*-- Ruta y nombre de la tabla AutoCompletar
lcDbfAuto = "E:\clientes\dta\MiAutoComp.dbf"
*-- Creo la tabla AutoCompompletar
THISFORM.CrearTablaAutoComp(lcDbfAuto)
*-- Ruta y nombre de la tabla Origen
lcDbfOrigen = "E:\clientes\dta\dbf_clientes.dbf"
*-- Inserto los registros para cada campo
*-- y configuro las propiedades de cada TextBox
THISFORM.InsertarReg(lcDbfOrigen,lcDbfAuto,"AC_NOMBRE","nombre")
THISFORM.txtCompania.AUTOCOMPLETE = 1
THISFORM.txtCompania.AUTOCOMPSOURCE = "AC_NOMBRE"
THISFORM.txtCompania.AUTOCOMPTABLE = lcDbfAuto

código original del programa

PROCEDURE CrearTablaAutoComp(tcDbfAuto)
*-- Crea mi tabla Autocompletar
SET SAFETY OFF
CREATE TABLE
(tcDbfAuto) FREE ;
(SOURCE C(20),
DATA C(254), COUNT I, Weight I, ;
Created T,
UPDATED T, USER M)
*-- Indexo la tabla
INDEX ON UPPER(SOURCE + LEFT(DATA,30)) + PADL(COUNT,8) ;
TAG DATA FOR NOT DELETED()
*-- Cierro tabla
USE IN SELECT(JUSTSTEM(tcDbfAuto))
ENDPROC

PROCEDURE
InsertarReg(tcDbfOrigen, tcDbfAuto, tcSource, tcData)
*-- Inserto los registros a la tabla Autocompletar
INSERT INTO (tcDbfAuto) ;
SELECT DISTINCT UPPER(tcSource) AS SOURCE, ;
EVALUATE(tcData) AS DATA, 0 AS COUNT, 0 AS Weight, ;
DATETIME() AS Created, DATETIME() AS UPDATED, .F. AS USER ;
FROM (tcDbfOrigen)
*-- Cierro tablas
USE IN SELECT(JUSTSTEM(tcDbfAuto))
USE IN SELECT(JUSTSTEM(tcDbfOrigen))
ENDPROC
ENDDEFINE

en el formulario creo el método CrearTablaAutoComp

y copio el código del procedimiento luego así mismo creo el método InsertarReg y de igual manera copio el código del procedimiento del programa

al momento de correrlo me manda el primer error No PARAMETER statement is found, al ignorarlo el siguiente Variable "TCDBFAUTO" is not found y al fin lo cancelo, pues los errores continúan me puedes ayudar?

copio el código entero, para si me puedes orientar en donde esta mi error

PUBLIC
goMiForm
goMiForm =
CREATEOBJECT("MiForm")
goMiForm.
SHOW(1)
RETURN
DEFINE CLASS
MiForm AS FORM
AUTOCENTER
= .T.
CAPTION = "Ejemplo de Autocompletar en TextBox"
NAME = "MiForm"
ADD OBJECT txtCompania AS TEXTBOX WITH ;
HEIGHT = 24, ;
LEFT = 84, ;
TOP = 24, ;
WIDTH = 264, ;
NAME = "txtCompania"
ADD OBJECT lblCompania AS LABEL WITH ;
AUTOSIZE = .T., ;
BACKSTYLE = 0, ;
CAPTION = "Compañía", ;
LEFT = 12, ;
TOP = 28, ;
NAME = "lblCompania"
PROCEDURE INIT
LOCAL
lcDbfAuto, lcDbfOrigen
*-- Ruta y nombre de la tabla AutoCompletar
lcDbfAuto = ADDBS(SYS(2023)) + "MiAutoComp.dbf"
*-- Creo la tabla AutoCompompletar
THISFORM.CrearTablaAutoComp(lcDbfAuto)
*-- Ruta y nombre de la tabla Origen
lcDbfOrigen = ADDBS(HOME(2))+ "NorthWind\Customers.dbf"
*-- Inserto los registros para cada campo
*-- y configuro las propiedades de cada TextBox
THISFORM.InsertarReg(lcDbfOrigen,lcDbfAuto,"AC_COMPANIA","CompanyName")
THISFORM.txtCompania.AUTOCOMPLETE = 1
THISFORM.txtCompania.AUTOCOMPSOURCE = "AC_COMPANIA"
THISFORM.txtCompania.AUTOCOMPTABLE = lcDbfAuto
ENDPROC
PROCEDURE
CrearTablaAutoComp(tcDbfAuto)
*-- Crea mi tabla Autocompletar
SET SAFETY OFF
CREATE TABLE
(tcDbfAuto) FREE ;
(SOURCE C(20),
DATA C(254), COUNT I, Weight I, ;
Created T,
UPDATED T, USER M)
*-- Indexo la tabla
INDEX ON UPPER(SOURCE + LEFT(DATA,30)) + PADL(COUNT,8) ;
TAG DATA FOR NOT DELETED()
*-- Cierro tabla
USE IN SELECT(JUSTSTEM(tcDbfAuto))
ENDPROC
PROCEDURE
InsertarReg(tcDbfOrigen, tcDbfAuto, tcSource, tcData)
*-- Inserto los registros a la tabla Autocompletar
INSERT INTO (tcDbfAuto) ;
SELECT DISTINCT UPPER(tcSource) AS SOURCE, ;
EVALUATE(tcData) AS DATA, 0 AS COUNT, 0 AS Weight, ;
DATETIME() AS Created, DATETIME() AS UPDATED, .F. AS USER ;
FROM (tcDbfOrigen)
*-- Cierro tablas
USE IN SELECT(JUSTSTEM(tcDbfAuto))
USE IN SELECT(JUSTSTEM(tcDbfOrigen))
ENDPROC
ENDDEFINE

Saludos y muchas gracias por la molestia que te tomas...

Añade tu respuesta

Haz clic para o