Problemas al agregar registros en una forma
Tengo una forma donde agrego datos a una tabla. El problema es el siguiente: mi codigo habilita a todos los campos de la forma de la sig. manera:
thisform.campo.enabled=.t.
posteriormente agrego un append blank para declarar un nuevo espacion en la tabla y finalmente refresco la forma, de la siguiente manera:
thisform.refresh
go bottom
thisform.refresh
append balnk
thisform.campo1.setfocus
thisform.refresh
Segun yo lo que este segmento de codigo deberia de hacer es crear un nuevo espacion en la tabla, limpiar todos los campos de mi forma y poner el cursor en el campo1, correcto????
el problema es que no lo hace que me recomiendan???
Gracias, javier.
thisform.campo.enabled=.t.
posteriormente agrego un append blank para declarar un nuevo espacion en la tabla y finalmente refresco la forma, de la siguiente manera:
thisform.refresh
go bottom
thisform.refresh
append balnk
thisform.campo1.setfocus
thisform.refresh
Segun yo lo que este segmento de codigo deberia de hacer es crear un nuevo espacion en la tabla, limpiar todos los campos de mi forma y poner el cursor en el campo1, correcto????
el problema es que no lo hace que me recomiendan???
Gracias, javier.
pregunta...
¿tienes los textBox con recordsource de los campos de la tabla.?
¿le cambiaste los nombres a los TextBox por campo1, campo2... etc. ?
consejos..
1.- no necesitas el "go bottom" tampoco tantos refresh.. coloca uno al final..
2.- suponiendo que tienes la tabla activa, al realizar el append blank deberias posicionarte directamente en el ultimo registro, asike deja como ultima instriccion el .SetFocus.
3.- no es necesario colocarle los nombres a los textbox que sean iguales a los de la tabla, simplemente con la propiedad recorsource en cada textbox y nada mas.
Kop.
¿tienes los textBox con recordsource de los campos de la tabla.?
¿le cambiaste los nombres a los TextBox por campo1, campo2... etc. ?
consejos..
1.- no necesitas el "go bottom" tampoco tantos refresh.. coloca uno al final..
2.- suponiendo que tienes la tabla activa, al realizar el append blank deberias posicionarte directamente en el ultimo registro, asike deja como ultima instriccion el .SetFocus.
3.- no es necesario colocarle los nombres a los textbox que sean iguales a los de la tabla, simplemente con la propiedad recorsource en cada textbox y nada mas.
Kop.
*tienes que tener un boton que en la propiedad name sea <Agrega
*copia este codigo a tu commandbuton
*ESTE BOTON LE PERMITE AL USUARIO AGREGAR UN NUEVO REGISTRO Y GAURDAR LOS CAMBIOS
*FUNCION upper CONVIERTE UNA CADENA DE CARACTERES A MAYUSCULAS
*if upper (this.caption)="AGREGAR" (OTRA POCION)
*SI CONDICIONAL
if this.caption="<Agrega"
*ACTIVO LOS OBJETOS PARA QUE EL USUARIO LOS CAMBIE
*thisform(ESTE FORMULARIO)
*A ESTE FORMULARIO EN EL OBJETO txtcve_esc, EN LA PROPIEDAD enabled(habilitado), ACTIVALO
thisform.campo1.enabled = .t.
thisform.campo2.enabled=.t.
thisform.campo3.enabled=.t.
*CAMBIO LA ETIQUETA DEL BOTON "bot_inserta"
this.caption="<Guarda"
*INICIALIZO LAS VARIABLES
m.campo1=" "
m.campo2=" "
m.campo3=" "
*REFRESCO LOS VALORES DE LAS VARIABLES EN EL FORMULARIO
thisform.refresh
else
*MUESTRO UNA CAJA DE MENSAJES
m.titulo= 'ALMACENAR REGISTROS'
m.pregunta= '¿DESEA ALMACENAR LOS DATOS AHORA?'
m.respuestas = 4 + 32 + 256
respuesta=MESSAGEBOX(m.pregunta, m.respuestas, m.titulo)
DO CASE &&COMIENZA EL BUCLE
case respuesta =6
*SELECIONO LA TABLA NOMBREDELATABLA.DBF
select NOMBREDELATABLA
*append blanck (Ctrl+Y )ABRE UN REGISTRO EN BLANCO EN LA TABLA SELECIONADA
append blank
*ALMACENO LOS DATOS DE LAS VARIABLES DE MEMORIA
*CON LA FUNCION gather memvar EN LA TABLA SELECCIONADA
gather memvar
*DASACTIVO LOS OBJETOS PARA QUE EL USUARIO NO LOS CAMBIE
thisform.campo1.enabled = .f.
thisform.campo2.enabled=.f.
thisform.campo3.enabled=.f.
*CAMBIO LA ETIQUETA DEL BOTON "bot_inserta"
this.caption="<Agrega"
case respuesta =7
*VOY AL INICIO DE LA TABLA
go top
m.campo1=campo1
m.campo2= campo2
m.campo3=campo3
*ACTUALIZO LOS VALORES DE LAS VARIABLES EN EL FORMULARIO
thisform.refresh
*DESACTIVO LOS SIGUIENTES OBJETOS
thisform.campo1.enabled = .f.
thisform.campo2.enabled=.f.
thisform.campo3.enabled=.f.
*CAMBIO LA ETIQUETA DEL BOTON "bot_inserta"
this.caption="<Agrega"
ENDCASE &&FIN DEL BUCLE
endif
*ESPERO QUE TE SIRVA CUALQUIER DUDA MANDAME UN EMAIL [email protected]
SALUDOS DESDE PUEBLA
*copia este codigo a tu commandbuton
*ESTE BOTON LE PERMITE AL USUARIO AGREGAR UN NUEVO REGISTRO Y GAURDAR LOS CAMBIOS
*FUNCION upper CONVIERTE UNA CADENA DE CARACTERES A MAYUSCULAS
*if upper (this.caption)="AGREGAR" (OTRA POCION)
*SI CONDICIONAL
if this.caption="<Agrega"
*ACTIVO LOS OBJETOS PARA QUE EL USUARIO LOS CAMBIE
*thisform(ESTE FORMULARIO)
*A ESTE FORMULARIO EN EL OBJETO txtcve_esc, EN LA PROPIEDAD enabled(habilitado), ACTIVALO
thisform.campo1.enabled = .t.
thisform.campo2.enabled=.t.
thisform.campo3.enabled=.t.
*CAMBIO LA ETIQUETA DEL BOTON "bot_inserta"
this.caption="<Guarda"
*INICIALIZO LAS VARIABLES
m.campo1=" "
m.campo2=" "
m.campo3=" "
*REFRESCO LOS VALORES DE LAS VARIABLES EN EL FORMULARIO
thisform.refresh
else
*MUESTRO UNA CAJA DE MENSAJES
m.titulo= 'ALMACENAR REGISTROS'
m.pregunta= '¿DESEA ALMACENAR LOS DATOS AHORA?'
m.respuestas = 4 + 32 + 256
respuesta=MESSAGEBOX(m.pregunta, m.respuestas, m.titulo)
DO CASE &&COMIENZA EL BUCLE
case respuesta =6
*SELECIONO LA TABLA NOMBREDELATABLA.DBF
select NOMBREDELATABLA
*append blanck (Ctrl+Y )ABRE UN REGISTRO EN BLANCO EN LA TABLA SELECIONADA
append blank
*ALMACENO LOS DATOS DE LAS VARIABLES DE MEMORIA
*CON LA FUNCION gather memvar EN LA TABLA SELECCIONADA
gather memvar
*DASACTIVO LOS OBJETOS PARA QUE EL USUARIO NO LOS CAMBIE
thisform.campo1.enabled = .f.
thisform.campo2.enabled=.f.
thisform.campo3.enabled=.f.
*CAMBIO LA ETIQUETA DEL BOTON "bot_inserta"
this.caption="<Agrega"
case respuesta =7
*VOY AL INICIO DE LA TABLA
go top
m.campo1=campo1
m.campo2= campo2
m.campo3=campo3
*ACTUALIZO LOS VALORES DE LAS VARIABLES EN EL FORMULARIO
thisform.refresh
*DESACTIVO LOS SIGUIENTES OBJETOS
thisform.campo1.enabled = .f.
thisform.campo2.enabled=.f.
thisform.campo3.enabled=.f.
*CAMBIO LA ETIQUETA DEL BOTON "bot_inserta"
this.caption="<Agrega"
ENDCASE &&FIN DEL BUCLE
endif
*ESPERO QUE TE SIRVA CUALQUIER DUDA MANDAME UN EMAIL [email protected]
SALUDOS DESDE PUEBLA
