** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Visual Basic Clásico (VB3...VB6)
  Mensajes nuevos Mensajes nuevos RSS - Relacion de tablas de access en Visual Basic 6.0
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoRelacion de tablas de access en Visual Basic 6.0

 Responder Responder
Autor
Mensaje
Roberto Carlos Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Diciembre/2009
Localización: Bolivia
Estado: Sin conexión
Puntos: 105
Enlace directo a este mensaje Tema: Relacion de tablas de access en Visual Basic 6.0
    Enviado: 22/Mayo/2010 a las 17:56
Hola amigos
Me puede ayudar a relacionar dos tablas que tengo en access, en Visual basic 6.0. estoy trabajando con ado y no con adobd, o estoy cominicando la tablas con codigo y no con objetos
 
 
Gracias, y disculpen las molestias
roberto
Arriba
Patxi Sanz Ver desplegable
Administrador
Administrador
Avatar

Unido: 26/Noviembre/2007
Localización: España
Estado: Sin conexión
Puntos: 5023
Enlace directo a este mensaje Enviado: 24/Mayo/2010 a las 15:21
Sin entender muy bien a qué te refieres cuando dices que trabajas con ado y no con adobd (¿No es lo mismo?), o cuando dices que trabajas con código y no con objetos (¿No usas objetos para leer/guardar los datos?), una pregunta:
 
¿Qué quieres hacer? ¿Crear una relación persistente entre 2 tablas? ¿O crear una relación entre las tablas en una consulta para recuperar los datos?
Un saludo,

Patxi Sanz
Tudela (NA)
Mi Web
Arriba
Roberto Carlos Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Diciembre/2009
Localización: Bolivia
Estado: Sin conexión
Puntos: 105
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 01:19
Disculpa
 
Los que pasa es que no estoy usando adodc1 para conectar mis tablas sino con codigo:
Dim cn As New ADODB.Connection ' Creamos ol objeto coneccion
Dim rs As New Recordset ' Creamos el objeto recordset
 
Quisiera relacionar las tablas para luego crear consultas y posteriormente reportes.
 
Gracias por tu tiempo
roberto
Arriba
Jordi-Albert Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Abril/2006
Localización: Alemania
Estado: Sin conexión
Puntos: 4321
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 01:39

¿y no puedes relacionarlas en el momento de hcer la consulta?

select xxxxxx from tabla1, tabla2
where tabla1.id = tabla2.id
and .....


Arriba
Patxi Sanz Ver desplegable
Administrador
Administrador
Avatar

Unido: 26/Noviembre/2007
Localización: España
Estado: Sin conexión
Puntos: 5023
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 11:11
Como te dice Jordi-Albert, puedes relacionar las tablas directamente en la consulta, ya sea mediante el WHERE, o mediante JOIN:
 
Un saludo,

Patxi Sanz
Tudela (NA)
Mi Web
Arriba
Roberto Carlos Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Diciembre/2009
Localización: Bolivia
Estado: Sin conexión
Puntos: 105
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 14:03

Gracias

 

Efectivamente amigos Jordi-Albert y Patxi Sanz, en access consigo hacer consultas Sql ahoras dos preguntitas más y creo que solucionare este problema.

 

1.- Los dos campos Id. los tengo autonumérico y don distintos numeros no tendria Problemas hacerlo asi? Por decirlo así

Tabla1 Id = 4250
Tabla2 Id = 5
 
2.- como las llamaria desde Visual Basic? o es que se puede hacer en Visual Basic? y si se puede hacer en Visual me pueden orientar
 
 
Gracias y disculpen
roberto
Arriba
Jordi-Albert Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Abril/2006
Localización: Alemania
Estado: Sin conexión
Puntos: 4321
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 15:22
select * from tabla1, tabla2
where tabla1.id = 4250
and tabla2.id = 5

de todas maneras, ¿como sabes que id de la tabla2 corresponde al registro de la tabla1????

no se que se pueda hacer.... a no ser que tengas una tercera tabla ...

select * from tabla1, tabla2, tabla3 where
where tabla1.id = tabla3.id1
and&&&tabla2.id = tabla3.id2

en la que la tabla3 tiene la relacion entre la tabla1 y la tabla2

de todas maneras.... me parece que lo tienes mal planteado

nota: no conozco access, pero me parece que no es conveniente utilizar autonumericos, pues se "renumeran" automaticamente perdiendo las relaciones creadas
Arriba
Roberto Carlos Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Diciembre/2009
Localización: Bolivia
Estado: Sin conexión
Puntos: 105
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 15:45

Esto tendria que hacerlo en access?

 

Gracias

roberto
Arriba
Patxi Sanz Ver desplegable
Administrador
Administrador
Avatar

Unido: 26/Noviembre/2007
Localización: España
Estado: Sin conexión
Puntos: 5023
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 16:22
Como dice Jordi-Albert, parece que está mal planteado el diseño de las tablas. Si tienes 2 campos autonuméricos en 2 tablas distintas, ¿cómo los vas a relacionar entre ellos si van a tener números distintos?
 
Por cierto, siempre se pueden crear las consultas en Access, guardarlas en Access y luego llamarlas desde código.
Un saludo,

Patxi Sanz
Tudela (NA)
Mi Web
Arriba
Roberto Carlos Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Diciembre/2009
Localización: Bolivia
Estado: Sin conexión
Puntos: 105
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 17:13
Bueno en realidad tengo un solo campo autonumerico por cada tabla ya las relacione, le agregue un primary Key al autonumerico de cada tabla y arrastre de un Primary Key al otro Primary Key de la otra tabla estara bien asi ?
 
 
 
Gracias
roberto
Arriba
Patxi Sanz Ver desplegable
Administrador
Administrador
Avatar

Unido: 26/Noviembre/2007
Localización: España
Estado: Sin conexión
Puntos: 5023
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 18:09
Sí y no.
 
Si es lo que entiendo, tienes un autonumérico en cada tabla, que hacen de clave principal.
 
Como lo tienes ahora, o agregas registros a la vez en las 2 tablas, o no se van a relacionar nunca correctamente.
 
Y si son claves únicas y principales, sólo vas a poder relacionar un registro de una tabla con otro registro de la otra tabla. Es decir, una relación 1 a 1. Si esto es lo que necesitas, ¿para qué 2 tablas cuando con 1 es suficiente?
Un saludo,

Patxi Sanz
Tudela (NA)
Mi Web
Arriba
Roberto Carlos Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Diciembre/2009
Localización: Bolivia
Estado: Sin conexión
Puntos: 105
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 22:26
Bueno lo que pasa que es como decia antes las dos tablas es porque es como llenar una factura en la parte de arriba
 
Fecha, Numero_De_Factura,Numero_De_Nit y otros campos mas
 
y en el detalle pues
 
Cantidad         Descripcion              Precio_Unitario        Total
     10              Camionetas                  27.000 $us        270.000
 
es casi eso, solo que mis campos son otros pero la idea que tengo es esa es por eso que use dos tablas.
 
Hasta te podria pasar la mascara del formulario pero no se como para darte mejores pautas
 
o es que acaso se puede hacer que una tabla la divida en algunos campos como formulario, y otros como dataGrid si es asi lo hare con una sola tabla
 
Mil disculpa y si no da vere otra forma gracias de antemano y muy gentil
 
roberto
Arriba
Jordi-Albert Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Abril/2006
Localización: Alemania
Estado: Sin conexión
Puntos: 4321
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 23:34
¿en el detalle tienes tambien el numero de factura?

de todas maneras entiendo que en este caso quizás te falta un numero de linea

nota: el campo Total NO DEBERIA estar en el detalle, pues es un campo que se puede calcular en cualquier momento.
Arriba
Patxi Sanz Ver desplegable
Administrador
Administrador
Avatar

Unido: 26/Noviembre/2007
Localización: España
Estado: Sin conexión
Puntos: 5023
Enlace directo a este mensaje Enviado: 25/Mayo/2010 a las 23:40
Como te dice Jordi-Albert:
 
- Debes tener el número de factura en las 2 tablas.
- El campo clave en la tabla de los detalles de la factura no puede ser el número de factura (puede haber varios detalles para la misma factura).
- El número de factura en el detalle no puede ser un autonumérico, porque perderás la relación entre las 2 tablas.
 
Como tienes Access, revisa la base de datos de ejemplo Neptuno. Verás cómo se diseñan las tablas para conseguir lo que quieres.
Un saludo,

Patxi Sanz
Tudela (NA)
Mi Web
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable