Crear un formulario de Alta de Registros.

Hola Carlos! Sin ningún inconveniente, paso a la nueva consulta: ¿Cómo Crear un formulario de Alta de Registros? He ido comprendiendo, paso a paso, bastante bien tus orientaciones! (^_^)!

1 respuesta

Respuesta
1
* Nueva clase llamada Aceptar ó Grabar basada en la clase commandbuton. *
*************************************************************
1) Desde el Administrador de Proyectos selecciona la pestaña clases, dale click a nuevo, nombre de clase "Aceptar o Grabar", basado en commandbuton, almacenada en tú biblioteca de clases.
2) Una vez que tengas el botón a la vista dale doble click y agrega el siguiente código en el evento click: THISFORM. RELEASE
* Nueva clase de nombre Cancelar, basada en la clase commandbuton.*
*********************************************************
Repite el paso 1 del punto anterior, en el paso 2 agrega el siguiente código:
=TABLEREVERT(.T.)
THISFORM.RECEDIT
THISFORM.RELEASE
* Procedimiento RECEDIT dentro de la clase miform.*
******************************************
1) Desde la pestaña Clases de tu Administrador de Proyectos selecciona y edita la clase miform. Vé al menú Clase (arriba) y selecciona Nuevo Método: nombre: RECEDIT, Visibilidad público.
2) Accede al evento recedit de tu clase miform y pega el siguiente código:
*---------------------------------------------------------------*
*  verifica si hubo cambios en la tabla o registro y los graba en
*  la tabla seleccionada
*
*  debe ejecutarse por cada tabla modificada
*
*  devuelve valores numericos:
*    0 -- no se realizaron cambios
*    1 -- se guardaron los cambios
*    2 -- imposible escribir uno o mas cambios en la tabla
*---------------------------------------------------------------*
thisform.mousepointer=11
#include ebm.h
* define variables locales *
lc_alias=alltrim(alias())
if not empty(alias())
    * declaración de variables
    local llmadechange, lnsuccess, lctabla
    m.llmadechange = .f.
    m.lnsuccess = 0
    lctabla=alias()
    select (lctabla)
    do case
        case inlist(cursorgetprop('buffering'), 2,3) && row buffering
            if '2' $ getfldstate(-1)
                m.llmadechange = .t.
            endif
        case inlist(cursorgetprop('buffering'), 4,5) && table buffering
            if getnextmodified(0) > 0
                m.llmadechange = .t.
            endif
        otherwise
            cursorsetprop("buffering", 5, lctabla)
            m.llmadechange = .t.
    endcase
    if m.llmadechange
        m.lnsuccess = iif(tableupdate(.t.,.t.), 1, 2)
    endif    
    * libera variables *
    return m.lnsuccess
    else
    =messagebox (_notablesel, _mbxfrmt, _mbxtit)
endif
* libera variables locales *
release lc_alias
thisform.mousepointer=0
* Editar el archivo de texto H *
************************
Verificamos que exista ó agregamos la siguiente línea:
#DEFINE _NOTABLESEL        "No hay ninguna tabla seleccionada."
* Formulario para Alta de Registros *
*****************************
1) Crear un nuevo formulario (siempre basado en tu clase miform), colócale los controles de texto y los que necesites teniendo en cuenta los campos de la tabla sobre la que vas a agregar un registro. Finalmente agrega los botones Aceptar y Cancelar
2) Establece el orden de tabulación para tu form y ahora agregamos el código al botón guardar:
Thisform.mousepointer=11
* Verifica que no falten datos y que no haya incoherencias *
Local lcMitxtbox
lcMitxtbox=alltrim(thisform.txtbox1.value)
if empty(lcMitxtbox)
   * mensaje de error definido en archivo.H*
   =messagebox(_mensaje, _mbxfrmt, _mbxtit)
   thisform.txtbox1.setfocus()
   else
   select mitabla
   insert into mitabla (nombrecampo) values (lcMitxtbox)
   =Tableupdate(.t., .t.)
   dodefault() && llama al código definido en la clase
endif
release lcMitxtbox
Thisform.mousepointer=0
Guarda los cambios y vé a editar el form Maestro de ABM. Selecciona el CommandGroup haciendo click derecho y luego en modificar. Doble click en el botón Nuevo, agregar el siguiente código al Procedimiento Click:
thisform.mousepointer=11
p_form_name="miform2.scx"
dodefault()
thisform.mousepointer=0
Ahora ejecuta tu Maestro de ABM y dale click al botón Nuevo y se abrirá el formulario que acabas de crear. Una vez que hagas click en guardar se cerrará el formulario y podrás ver en el grid el nuevo registro.
Suerte.
Si todo sale bien, el lunes realiza la siguiente pregunta (faltan pocas): Formulario de Edición de Registros.
Hola Carlos! A este puunto, todo ha salido bien! Realizare la próxima consulta el lunes! Feliz fin de semana y muchas Gracias por todo! :D :D :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas