FoxPro/Visual FoxPro - donde tengo el error??

 
Vista:

donde tengo el error??

Publicado por somind (57 intervenciones) el 29/06/2001 20:34:25
Vamos a ver. Tengo una sola tabla de clientes y dos usuarios. Cada usuario puede dar de alta clientes...pero uno no puede ver los del otro.

De esta forma tengo un contador general y un contador para cada usuario.

O sea:

tabla (contador general) usuario1(su contador) usuario2 (su contador)

El problema es al eliminar...es decir...suponiendo tres clientes:

1 usuario1 1
2 usuario2 1
3 usuario1 2

Si elimino el segundo cliente dado de alta que se corresponde con el primer cliente del usuario2 deberia quedar:

1 usuario1 1
2 usuario1 2

Estoy trabajando con almacenamiento de tablas en buffer (5) y la tabla filtrada para el usuario en uso..alguien me da una sugerencia de como hacerlo.

Gracias y saludos a todo el foro.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

este es el código que uso...

Publicado por somind (57 intervenciones) el 29/06/2001 21:50:45
DELETE
TABLEUPDATE()
CursorSetProp("buffering",1,"clientes")
PACK

GO RECNO()
DO WHILE NOT EOF()
REPLACE NUMcliente WITH STR(VAL(NUMcliente)-1)
SKIP
ENDDO

CursorSetProp("buffering",5,"mae_pac")
TABLEUPDATE()

THISFORM.REFRESH

Pero nada....con este código...borra el que quiero...pero luego a la hora de poner el número de cliente general (numcliente) me los deja en blanco....

Estoy atascado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:este es el código que uso...

Publicado por Claudio Enrique Campos (2 intervenciones) el 05/07/2001 20:03:43
Revisa el ayuda de visual y busca la función
CURSORSETPROP("buffering", 5, "tabla"), esta función va asociada al
TABLEUPDATE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

este es el código que uso...

Publicado por somind (57 intervenciones) el 29/06/2001 21:51:03
DELETE
TABLEUPDATE()
CursorSetProp("buffering",1,"clientes")
PACK

GO RECNO()
DO WHILE NOT EOF()
REPLACE NUMcliente WITH STR(VAL(NUMcliente)-1)
SKIP
ENDDO

CursorSetProp("buffering",5,"clientes")
TABLEUPDATE()

THISFORM.REFRESH

Pero nada....con este código...borra el que quiero...pero luego a la hora de poner el número de cliente general (numcliente) me los deja en blanco....

Estoy atascado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:este es el código que uso...

Publicado por Foxperto (894 intervenciones) el 30/06/2001 03:48:07
Hola Somind:

Yo personalmente no te recomendaria que luego de Asignarle un Codigo unico a un registro lo cambies.

Otra cosa Yo no trabajo con con Buffering y esos comandos que estas utilizando, pero si lo necesitas Yo lo haria de esta manera:

* Me paro sobre el registro
lnCliente = NUMcliente && Guardo el Codigo del Registro que voy a eliminar
Delete
Replace NUMcliente With Str(Val(NUMcliente) - 1) For NUMcliente > lnCliente
ThisForm.Refresh

Nota: No utilizo el PACK, porque no Uso la tabla Exclusiva.

Espero este pequeño codigo te sirva de ayuda y de referencia para lo que quieres hacer.

Prueba y me cuentas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:este es el código que uso...

Publicado por somind (57 intervenciones) el 02/07/2001 23:25:17
Probaré con la alternativa que me das... for > ...

De todas formas tienes razón con lo de no cambiar el número asignado al registro..te puedo decir que utilizaba el pack sin mucho convencimiento y creo que lo voy a dejar de lado. Es decir, voy a cambiar el sistema de forma que tenga una tabla general y una tabla por cada usuario...incluso me evitare filter y demas.....

En fin ...nuevamente gracias y ya tengo otra alternativa para el fin de semana.

Saludos Foxperto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar