Ayuda con grid en visual foxpro 6.0

Hola, primero que todo saludos, he visto algunas de tus respuestas y me han parecido interesantes. Mira yo empiezo a trabajar con visual foxpro. Tengo un problema con la utilización de un grid, lo que pasa es que le estoy poniendo que despliegue los datos correspondientes a los registros de dos tablas tablas, esto lo hago mediante un select de la siguiente manera: select clave, nombre, cargo from tabla1, tabla2 where tabla1. Clave=tabla2. Clave into dbf nuevatabla. Cabe aclarar que la tabla1 se compone de los campor clave y nombre con el campo clave como llave primaria, y la tabla 2 se compone de los campos clave y cargo, pero con el campo clave como llave foránea y de esta manera están relacionadas ambas tablas. Entonces a la hora de jalar los datos al grid, solamente le inicio que serán de la nuevatabla en recordsource del grid y si me los trae pero cuando le agrego el campo clave en el select, me sale un ensaje de advertencia que dice que clave no es único y debe calificarce . Y ya no me muestra nada en el grid. Quisiera ver si hay otra forma de pasar campos de varias tabla al grid que permita jalar también llaves primarias, o bien alguna forma de evitar ese tipo de error o advertencias con select. De antemano muchas gracias por tu tiempo y atención.

1 Respuesta

Respuesta
1
El error de que la llave clave no es único y que debes de calificarse no es otra cosa que le digas de que tabla estas jalando ese campo, ya que es posible que las tablas que interactúan en la sentencia sql la tengan, por ejemplo:
Así lo pones tu
select clave,nombre,cargo from tabla1,tabla2 where tabla1.clave=tabla2.clave into dbf nuevatabla
y deberia ser:
select tabla1.clave,tabla1.nombre,tabla2.cargo from tabla1,tabla2 where tabla1.clave=tabla2.clave into dbf nuevatabla
por decirlo de alguna manera, al momento de indicar a que tabla pertenece cada campo estas calificando el campo, de otra manera lo tomara de la primera tabla en que lo encuentre, pero si encuentra el mismo campo en las dos tablas, es donde biene la "confucion" y te presenta el error, espero que me hayas entendido, y yo haya resuelto tu duda, si fue asi, no olvides valorar la respuesta es una buena forma de dar las gracias, si aun te queda alguna duda, vuelve a consultarme

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas