FoxPro/Visual FoxPro - Pregunta sobre índices

   
Vista:

Pregunta sobre índices

Publicado por Andy (65 intervenciones) el 16/01/2008 17:12:45
Quisiera preguntarles si en la programación se usan índices compuestos por varios campos.

Por ejemplo, necesito formar un índice que contenga los siguientes datos:

Tipo de comprobante- caracter(1) - puede ser "1", "2",.... etc.
Letra de Comproante- caracter(1) - puede ser "A","B" o "C"
Número de comprobante - caracter(8) - puede ser del "00000001" al "99999999"

En el Diseñador de Tablas, agregué un ÍNDICE PRINCIPAL(que tuve que editar porque solamente se pueden definir índices de un campo),

clave_principal = Tipo_comp+Letra_comp+Nro_comp

Cada vez que tengo que hacer SELECT SQL , una vista o un filtro, necesito agregar los 3 campos.
Por ejemplo, en el diseñador de vistas, en la pestaña "Filtro" tengo que usar el generador de expresiones para filtrar todos los items de un pedido (Tabla "Pedidos")

Pedidos.Tipo_comp+ Pedidos. Letra_comp+ Pedidos.Nro_comp = ? codpedido

¿ESTO SE USA REALMENTE ASÍ?

¿NO HAY ALGUNA OTRA FORMA de tratar a los índices compuestos de varios campos que simplifique esta tarea?

Me da la sensación de que debe algo, como por ejemplo, agrupar todos los campos de manera que siempre se puedan llamar

Desde ya gracias por cualquier información

Andy
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:Pregunta sobre índices

Publicado por Plinio (7771 intervenciones) el 16/01/2008 18:28:27
Uso los indices compuestos desde hace mucho. Lo ideal es que los crees de esta forma

ALLTRIM(Tipo_comp)+ALLTRIM(Letra_comp)+ALLTRIM(Nro_comp). Cualquier espacio puede jugarte una broma
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:Pregunta sobre índices

Publicado por Andy (65 intervenciones) el 16/01/2008 19:02:50
Gracias
Yo pensé que habría una forma de reemplazar todo en una variable, por ejemplo, de esta forma

indice_comp=campo1+campo2+....+campon
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:Pregunta sobre índices

Publicado por alexcoinc (449 intervenciones) el 17/01/2008 14:59:12
Comentario adicional , por si te sirve:

Pienso que en la definción de indices cuando creas una tabla eso que muestras en tu mensaje es exactamente lo que se hace y luego simplemente si necesitas buscar algo, por ejemplo con seek, pues armas la cadena a buscar y esa cadena que formas es la que se usa.
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