FoxPro/Visual FoxPro - Campos clave

 
Vista:

Campos clave

Publicado por Airplane (1 intervención) el 09/12/2003 21:12:38
Buenas...
Al crear una tabla necesito indicar un indice cuya clave debe estar formada por 2 campos: NUMERO y FECHA. Que tipo le doy a cada uno? es decir ambos campos deben ser indices normales?
Espero que se entienda.
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:Campos clave

Publicado por Pablo (5 intervenciones) el 10/12/2003 02:23:11
Lo resolves encadenando los dos campos como texto:

STR(numero)+DTOC(fecha)

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:Campos clave

Publicado por Plinio (7841 intervenciones) el 10/12/2003 19:14:24
No es mala idea eliminar los espacios que contienen, asi:
ALLTRIM(STR(numero))+allltrim(DTOC(fecha))
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

Gracias, pero...

Publicado por Airplane (1 intervención) el 11/12/2003 16:50:54

.. aun tengo una duda: Yo necesito definir el indice al momento de crear la tabla, es decir en la ventana del Diseñador de Tablas en la página Indices. Ahi tengo las columnas Orden, Nombre, Tipo, Expresion <<-- Es aqui donde debo escribir la expresion que me propusieron?
Una acotacion: en esa expresion no sería correcto usar DTOS en lugar de DTOC para obtener un ordenamiento por fechas?

Una más, podrian explicarme la diferencia entre tipo de indice unico, normal y candidato.

Gracias por su atencion
Air
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, pero...

Publicado por Carlos Lott (298 intervenciones) el 16/12/2003 20:20:44
Hola, espero te sirva:
Evitar valores duplicados en una combinación de campos
Si desea evitar la duplicación de valores en múltiples campos, puede crear un índice principal o candidato basado en una expresión que combine múltiples campos.
Controlar la entrada de valores duplicados en un campo
Es posible que quiera controlar la entrada de valores duplicados en un campo. Por ejemplo, cada cliente debería tener un valor único en el campo Cust_ID de la tabla Customer.

Puede usar el campo como campo clave que identifica de forma única un registro. Si la tabla es parte de una base de datos, puede usar un índice principal o candidato. Si la tabla es una tabla libre o ya tiene un índice principal, tiene que usar un índice candidato.

Por ejemplo, si tiene una tabla que almacena el prefijo de zona y el número de teléfono en dos columnas:

Prefijo de zona Número de teléfono
206 444-nnnn
206 555-nnnn
313 444-nnnn

En ambas columnas existen valores duplicados en otras filas. Sin embargo, no hay ningún número de teléfono duplicado, ya que el valor está formado por la combinación de los dos campos. Por ello, si se especifican las dos columnas en la expresión de un índice principal o candidato, las filas del ejemplo no se considerarán duplicadas. Si intenta introducir un valor con el mismo prefijo de zona y el mismo número de teléfono que una de las filas existentes, Visual FoxPro rechazará la entrada por estar duplicada.

El valor normal permite duplicar registro.

Saludos

Carlos Lott
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