FoxPro/Visual FoxPro - De nuevo los indices

   
Vista:

De nuevo los indices

Publicado por Antonio Moronta (134 intervenciones) el 18/01/2008 00:31:14
Hola a todos lo del foro:

Mi incognita recide en la siguiente situacion:

1-Tengo una cuadricula con el listado de productos
2-La cuadricula depende directamente de la tabla productos almacenada en buffer de tablas.
3-Abro la tabla con tres indices (numero, producto,referencia)

Con este preparativo, logro ordenar con un clic en las columnas correspondientes por los mismos criterios de indices mencionados en lo anterior, es decir, clic en la columna Numero, ordena por numero, y asi susecivamente....

El caso es el siguiente:

Cuando agrego un registro nuevo a la tabla de la grilla, se agrega en la tabla pero no aparece en la grilla hasta que reindexo, o lo que es lo mismo, actualizo los indices.

Puse un reindexado al inicial el formulario, pero esto no es sustentable para un sistema que funciona en red. Puesto que un envia error a la clausula exclusive del comando use cuando se esta en red, ya que para reindexar la tabla de abrirse en exclusivo.

Que me recomiendan ustedes hacer para que el indice se actualize al mismo momento en que se inserta el nuevo registro y como debo hacer para evitar esta colicion?.

Creo que puse todos lo detalles arriba.

Uso FoxPro 9

Gracias a todos.
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

RE:De nuevo los indices

Publicado por juan fernando (533 intervenciones) el 18/01/2008 15:59:53
mira agrega en cada select un set Excl Off en el activate del form

ahora en el evento donde indexas agregas
set Excl On
SET REPROCESS TO 3 AUTOMATIC
sele tabla1
Index On campo To clave
set Excl On
SET REPROCESS TO 3 AUTOMATIC
sele tabla2
Index On campo To clave
Etc.

ahora aca abajo vuelve a redibujar tú Grid
asi yo hago este asunto .:

Thisform.Pageframe1.Page2.Grid1.AllowAddNew=.f.
Thisform.Pageframe1.Page2.Grid1.ColumnCount=17
Thisform.Pageframe1.Page2.Grid1.RecordSource="tabla4"
**____________________________________________________________

Thisform.Pageframe1.Page2.Grid1.Column1.Header1.Caption="Código"
Thisform.Pageframe1.Page2.Grid1.Column1.Header1.FontBold=.t.
Thisform.Pageframe1.Page2.Grid1.Column1.ControlSource="tabla4.codigo"
Thisform.Pageframe1.Page2.Grid1.Column1.Format="!"
Thisform.Pageframe1.Page2.Grid1.Column1.Width=100
*----------------------------------------------------------------------------

Thisform.Pageframe1.Page2.Grid1.Column2.Header1.Caption="Nombre Repuesto"
Thisform.Pageframe1.Page2.Grid1.Column2.Header1.FontBold=.t.
Thisform.Pageframe1.Page2.Grid1.Column2.ControlSource="tabla4.Nombrer"
Thisform.Pageframe1.Page2.Grid1.Column2.Format="!"
Thisform.Pageframe1.Page2.Grid1.Column2.Width=240
*_____________________________________________

Thisform.Pageframe1.Page2.Grid1.Refresh

Set Excl Off
Etc ..
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:Gracias

Publicado por Antonio Moronta (134 intervenciones) el 19/01/2008 22:55:02
Gracias Juan Fernando por tus consejos, aunque tarde pero es bueno agradecer. No lo he probado, pero mirando la logica desde ahora, creo que dara resultado.

Gracias otra vez.
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