Power Builder - Relacionar Tablas

   
Vista:

Relacionar Tablas

Publicado por Novato (1 intervención) el 27/10/2009 20:04:10
Hola, soy novato en PB.

Quiero relacionar dos tablas:
1º TABLA

CGOCLI
NOMBRE
APELLIDO
DIRECCION
CPOSTAL

2º TABLA
CPOSTAL
LOCALIDAD
PROVINCIA

La relacion estaria en el campo CPOSTAL, cuantas formas de relacionar hay ? hay forma de relacionar por medio de codigo ?
que tipo de indice utilizo en la tabla 2 en el campo CPOSTAL.
utilizo PB10.5 con db ASA
muchas gracias.
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:Relacionar Tablas

Publicado por miguell (153 intervenciones) el 27/10/2009 20:36:27
Hola "Nuevo Vato",

select tabla_1.*, tabla_2.*
from tabla_1, tabla_2
where tabla_1.cpostal = tabla_2.cpostal

también puedes usar un outer join ( "=*" o "*=" ) para sacar todos los registros de tabla 1, aunque no tengan un registro correspondiente en tabla 2 (si no está relleno el código postal por ejemplo o si no existe en tabla2).
select tabla_1.*, tabla_2.*
from tabla_1, tabla_2
where tabla_1.cpostal =* tabla_2.cpostal

"hay forma de relacionar por medio de codigo ?"
-> no entiendo la pregunta muy bien: código de powerbuilder o código postal???

"que tipo de indice utilizo en la tabla 2 en el campo CPOSTAL".
-> si el código postal no se repite en ningún registro de la tabla 2:
un índice unico o clave primaria.
Si se repite un índice que permite duplicados: Non-unique.

consejo:
------------
búscate algún cursillo de sql, diseño de base de datos y/o normalización de datos en la web, los hay a patadas. saber bien powerbuilder es una cosa pero saber bien sql te facilitará muchisimo el trabajar con powerbuilder.

saludos,
miguel
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:Relacionar Tablas

Publicado por Novato (1 intervención) el 28/10/2009 14:10:22
Hola miguell, mira yo quiero relacionar las tablas como se hacia en foxpro con SET RELATION asi quedan relacionadas, y cuando quiero rompo la relacion. existe ?
Lo que pasa es que en una ventana con editline tengo que entrarle el CP y lo demas editline colocan la localidad y provincia (automatico)por medio de la relacion.
me explico ?
gracias miguel
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:Relacionar Tablas

Publicado por miguell (153 intervenciones) el 28/10/2009 15:35:16
hola,

no tengo ni idea sobre lo de foxpro y set relation pero en las bases de datos que yo conozco no es posible. Tienes que trabajar con SQL:

para hacer lo que quieres hacer:
lo suyo sería usar un datawindow, pero lo puedes hacer con singlelineedits claro ...

en el evento modified del singleLineEdit con el código postal, puedes hacer un:

Select campo1, campo2, etc,
into :variable1, :variable2, :var_etc, ....
from .........
where ......

luego los valores obtenidos en variable1, variable2 los puedes asignar a otros singleLineEdits
por ejemplo:

sle_municipio.text = variable2

de nada
saludos,
Miguel
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:Relacionar Tablas

Publicado por novato (24 intervenciones) el 29/10/2009 14:23:17
entonces es una relacion de sql temporal, solo para sacar datos. O sea no es una relacion con vida hasta que la destruyes.
ok gracias miguel
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:Relacionar Tablas - CREATE VIEW

Publicado por miguell (153 intervenciones) el 29/10/2009 14:53:12
claro, que alguién me corriga si me equivoco, pero con SQL las cosas son así. Las únicas 'relaciones' que se pueden definir son las claves externas / foreign keys que te pueden validar que una clave/codigo exista en otra tabla maestra.

Posiblemente te puede valer hacer una Vista ( Create View) con eso podrás visualizar una relación entre 2 o más tablas estableciendo el WHERE. Te aparecerá como si fuera una tabla y puedes hacer Selects sobre ello (Updates y Deletes Inserts NO).

A lo mejor eso es lo más cercana a lo que hace el foxpro cuando estableces una relación.

Miguel
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:Relacionar Tablas

Publicado por miguell (153 intervenciones) el 04/11/2009 01:03:29
jo ... cito tu anterior correo ... : "O sea no es una relacion con vida hasta que la destruyes. "

si me lo pienso ...
¿estamos hablando de informática no? ¿no será que me conoces (paranoia?) ?

porque la verdad, es que estoy en este foro por no tener absolutamente nada que hacer durante un tiempo hasta que tire pa' lante otra vez (aunque debo reconocer que me gusta ayudar a la gente y así quedarme yo mismo también un poco actualizado y apriendo algo). Llámalo "vacaciones".

a los del trabajo les mandé a tomar por el ...
a mi compañera también ...

y aquí para no perder (más) el hilo.
espero poder aportar por lo menos algo a alguién
jajajaa

feliz 2010, no sé si irme pa latinAmerica también, qué aburrimiento aquí en Europa ya ...
saludos y abrazos a todos/as.

Miguel, 'sí ése'
(holandés errante)
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