Introducir un registro de una tabla de foxpro en otra tabla

Espero que me puedan ayudar.

Tengo una tabla que se llama empleados y tiene un campo que se llama empleado y otro sueldo necesito saber como hago en foxpro para buscar un registro de esa tabla por medio de un formulario y que si existe me los introduzca en otra tabla llamada salario que esta vacia y tiene los mismo nombres de los campos empleado y sueldo

Respuesta
1

En un formulario a través de un cuadro de texto y un botón de comando haz una búsqueda de tu registro de la tabla empleados, con locate y en otras cajas de texto se muestre el resultado de la búsqueda, en un botón grabar que se almacenen en la tabla salario los datos de las cajas de texto lo mas simple con un replace.

1 respuesta más de otro experto

Respuesta
1

Lo que te explica ronvil es correcto... pero más detallado sería algo así...

En tu formulario (form1) tienes un objeto de tipo textbox, donde ingresas el nombre del empleado, que le llamaremos (text1).

Ahora ya sea en el valid del textbox o bien en un botón haría la siguiente acción:

** Abrir tabla empleados si no está abierta.
if !used('Empleados')
   select 0
   use Empleados
endif
** abrir tabla salario si no está abierta.
if !used('Salario')
   select 0
   use Salario
endif
cEmpleado = allt(Form1.Text1.value)
select Empleados
locate for cEmpleado $ empleados.empleado
if found()
   insert into Salario (empleado, salario) ;
      values ;
      (empleados.empleado, empleados.salario)
else
   Messagebox('No se encontró el empleado.')
Endif

¡Gracias! de verdad mil gracias por tu ayuda

Hola amigo no se que debo estar haciendo mal coloque como me dijiste pero siempre pasa a la salario el mismo registro independientemente la cedula que coloque en la caja de texo

*******
cEmpleado = allt(Form1.Text1.value)
select Empleados
locate for cEmpleado $ empleados.empleado
************
Me arroja un error de: "no consigue cEmpleado" y si lo dejo por Empleado lo pasa
pero solo traspasa a la tabla el mismo registro independientemente que el dato que coloque en la caja de texto

Prueba reemplazar Form1 por Thisform, entonces...

cEmpleado = Alltrim(Thisform.Text1.Value)

cEmpleado es una variable, mientras que si usas Empleado estará tomando el valor del campo empleado de la tabla que se encuentre activa en esos momentos.

Ten presente que estas refiriéndote a objetos existentes y cuando mencionas Text1, se refiere un objeto (en este caso de tipo textbox) que debe existir con el mismo nombre; si en cambio le has cambiado el nombre al objeto debes referirte a él por su nombre...

Imaginemos que el nombre del objeto de tipo Textbox en donde buscas el nombre del empleado le hayas cambiado por "txtBusqueda" por ejemplo; entonces cuando te refieras a dicho objeto tendrá que ser así...

cEmpleado = Alltrim(Thisform.txtBusqueda.Value)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas