Problemas con el command button y un text box de mi base de datos en Visual Foxpro

Buenas, primero que nada saludos quisiera saber si me podría brindar su ayuda.
Le explico el problema que tengo es el siguiente: esta es mi base de datos.
Tabla Vehiculo: cod: 001, marca: chevolet, modelo: corsa, placa: Xdf-45t, color: rojo
cod: 002, marca: toyota, modelo: yaris, placa: fde-r43, color: negro
en el primer form: tengo un TEXTBOX (en el cual debo introducir un codigo registrado en mi base de datos).
tambien tengo un COMMAND BUTTON (llamado consultar) el cual al presionar me debe mostrar en un 2do form (form2) el registro de dicho codigo. Ejemplo en el TEXTBOX del form1 coloco el codigo 001 y al darle CONSULTAR me debe mostrar en el form2 el registro: ejemplo:
Form2
cod: 001
Marca: chevolet
Modelo: corsa
Placa: Xdf-45
Color: rojo

1 respuesta

Respuesta
1
Me supongo que tu pregunta es como hacerlo, o la mejor manera de hacerlo, seguramente utilizas foxpro con DBF's, o sea ambiente XBASE, suponiendo que tengas la tabla vehículo indexado por cod deberías usar la función seek para buscar el registro, entonces en el evento click del command buscaras el registro en la tabla y si lo encuentra desplegara los datos en el form2, entonces va así.
evento click del command en el form1.
sele vehiculos
set order to cod
if seek(thisform.text1.value)
      thisformset.form2.text1.value  = vehiculos.marca
      thisformset.form2.text2.value  = vehiculos.modelo
     thisformset.form2.text3.value   = vehiculos.placa
     thisformset.form2.text4.value   = vehiculos.color
else
     messagebox("El codigo ingresado no existe ",55)
endif
Este ejemplo usa como ejemplo si utilizas formset (conjunto de formularios), si no conoces como crearlos, abre tu formulario, ve en el menu FORMULARIO -> Crear Conjunto de formularios, luego en el mismo lugar dale Agregar Formulario y te ira creando nuevos formularios en el principal, si no esas esta técnica deberás tener formularios en forma separada y le envías parámetros de esta forma: do form miformu2 with 001 y en el form2 lo capturas en el evento INIt por medio de la función parameter, pero esta segunda opción es más complicada. Otra observación importante, con este ejemplo estamos asumiendo que tu tabla vehículo esta indexado por cod, si no usas indices y no conoces de esto puede usar la función LOCATE, que no precisa de indices, pero es mucho más lento en las búsquedas y la diferencia seria así:
sele vehiculos
locate for alltr(thisform.text1.value)==alltr(vehiculos.cod)
if found()
  ........tu codigo aqui
else
         messagebox(...)
Endif
No se si entendí tu pregunta, pero si tienes más dudas me avisas
Buenas amigos gracias por tomarse un poco de tiempo para responder mi pregunta, ya logre hacer el programa gracias por su ayuda, me ha dado la mejor solución de verdad mil gracias...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas