Fox pro 6 ayuda urgente.

Mira tengo este problema..
Estoy haciendo un sistema para un hotel, todo lo tengo en raíz c:\
En este formulario tengo un botón validar que es donde quiero que al poner una habitación me diga si esta o no esta ocupada.
Aveces me marca que se infringe la unicidad de indice.
Otras veces no hace nada solo el mismo msg de que ya esta ocupada y no cambia
Tengo este código:
ThisForm.menu1.enabled=.T.
use c:\cliente.dbf alias check_in order habitacion
GO TOP
hab=thisform.habitacion_c.value
seek thisform.habitacion_c.value
if found()
=messagebox("La habitación está ocupada",16)
thisform.habitacion_c.value=0
else
messagebox("La habitación está vacía", 16)
THISFORM.refresh
Endif
Espero y me puedas ayudar con esto expert estaría muy agradecido
Respuesta
1
Puede que el problema esté en el tipo de datos, de hecho veo que guardar el dato capturado en la variable 'Hab' y nunca la usas.
Te menciono lo del tipo de datos pues puede que sea de tipo cadena y estés buscando un tipo numérico (por eso a veces te aparece el error de unidad de indice).
Si tu campo indice es de tipo numérico el código debería quedar:
hab = VAL(thisform.habitacion_c.value)
seek Hab
if found()
=messagebox("La habitación está ocupada",16)
thisform.habitacion_c.value='0'
.
.
.
.
.
Suerte !
Gracias, no se si me puedas mandar tu msn de hotmail quisiera preguntarte otras dudilas, pero pro lo pronto dejame cierro esta pregunta
Nos vemos

1 respuesta más de otro experto

Respuesta
1
Que ondas, te lo voy a plantear de una forma más sencilla de hacerlo, en la tabla de habitaciones, deberías poner un campo numérico que se llame ocupada de 1,1 y cuando tu das la habitación, que busque el código de la habitación, y si esta en 1 que te diga que ya esta ocupada, de lo contrario que haga la transacción, así:
Use cliente
Locate for habitacion='Thisform.Text1.Value'
If Found()
If ocupada=1
Messagebox('Habitacion ocupada'0)
Else
Messagebox('Habitacion vacia'0)
Endif
Nota: pon el nombre de la tabla en donde hace la búsqueda de la habitación
me marca error dice que le falta un if o end if o else no se que ondas..
No te entendí muy bien, el código que me pasaste es para que lo ponga en click del botón validar o para que lo ponga en el cuadro de texto en el formulario
Use cliente
Locate for habitacion=Thisform.Text1.Value
If Found()
If ocupada=1
Messagebox('Habitacion ocupada',0)
Else
Messagebox('Habitacion vacia', 0)
Endif
Endif
Perdona la redacción, hoy si va bien
No se si te pueda mandar mis sistema pesa muy poco, me seria más útil que lo vieras con todo y base de datos y me des un ejemplo más detallado porque de tantoe star aquí estoy un poco desesperado no se si me puedas ayudar, ¿así ya vez los movimientos que le podamos hacer como vez te late?
Si te late dame tu correo para mandártelo
[email protected]
Solo que vacía las tablas para que no se haga tan grande y guardalo en una carpeta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas