Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Entorno de Datos, Data buffering
Message
From
03/05/2002 19:41:49
 
 
To
03/05/2002 07:05:29
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Miscellaneous
Thread ID:
00652290
Message ID:
00652686
Views:
16
>Estoy intentando hacer un ABM con controles dependientes, arrastrandolos
>del entorno de datos, pero quisiera que al principio estos controles no
>tuvieran asignado un campo, o sea que aparecieran en "blanco", para esto lo
>primero que hago es hacer un append blank, y segun se ingrese por alta,baja
>o modificacion, voy ingresando los datos en los controles.

En el entorno de datos hay una propiedad que dice NoDataonLoad o algo asi, si lo activas, no muestra los datos.
Otra aproximación es al viejo estilo, en vez de asignar un campo de una tabla en el controlsource del texto o control que uses, asigna una propiedad del formulario (en el menu Form/Add property), y luego los valores los ingresas a un registro de la tabla, ya sea con append blank y replace o con insert into, luego Tableupdate()

>Cuando doy un alta, a veces me da el error "Se ha infrigido la unicidad de
>la clave ".Tengo claro que este mensaje es porque quiero duplicar un
>registro en la tabla, pero esto no es asi.
Normalmente sucede cuando el o los campos que forman parte de la llave primaria coinciden, sucede con los registros en blanco principalmente, aun que estén borrados, puedes crear una función que verifique primero que no existan registros duplicados (use indexseek ya que no mueve el apuntador del registro), y si usas el método 2 que te indico, es mas facil.

>Cuando logro dar el alta ok, en el boton de aceptar hago un tableupdate() y
>luego hago un nuevo append blank, ademas pongo el foco en el primer control
>del formulario, esta propiedad (setfocus) no me funciona correctamente ya
>que pone el foco en el segundo control.

Debes revisar en no desactivar el control o si tienes alguna función en el evento when del control que regrese .F. ni instrucciones ON KEYLABEL o Keyborad hazlo directamente Thisform.Control.SetFocus()

>Nota: Estoy manejando una tabla que pertenece a una base de datos, la tabla
>tiene indice primario dos campos concatenados.

Debes comprobar la unicidad de la concatenación de los dos campos, sobre todo con los campos vacios

Espero que esto ayude

Mauricio Flores Olmos

P.D. en www.lawebdelprogramador.com vi 2 o tres manuales de VFP
Be fast like the Fox
Be free like the Penguin
Se Rápido como el Zorro
Se libre como el Pingüino
Previous
Reply
Map
View

Click here to load this message in the networking platform