Autor Tema: Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox  (Leído 7921 veces)

0 Usuarios y 1 Visitante están viendo este tema.

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Hola de nuevo,sigo trabajando en mi aplicación de cinética química y me ha surgido un nuevo problema.
Estoy iniciándome en esto de la base de datos.El usuario (alumno)tiene que meter unos valores de unas practicas de laboratorio,EJEXy EJEY.Se le da la opcion de poder registrar esos datos en una base de datos. Si no quiere los datos se quedan guardados en arrays para poder trabajar con esos valores en todos los formularios pero no se registran en la base de datos.
Si el usuario quiere guardar los datos en la base de datos entonces aparece un formulario para rellenar el nombre y la fecha y se importan los datos guardados en los arrays a este formulario.
Tengo dos tablas en una base de datos llamada base:
Una  TablaRegistros con el ID(autonumerico)campo nombre y el campo fecha y otra tabla llamada TablaDatos con los campos Eje_X y Eje_Y. El problema que tengo es que no se como puedo relacionar las tablas de manera que para cada  nombre guarde en la tablaDatos los valores de ejex y ejey
Ejemplo: Id=1,Nombre=pepito,fecha=09/09/2014         (TablaRegistros)
               ejeX=Valores introducidos en lstX    ejeY=Valores introducidos en lstY   (TablaDatos)
Tengo bien las conexiones y el recordset........ la duda es que no se como puedo relacionar ambas tablas.
Luego en otro formulario de consultas mi idea era el poder ver en un datagrid los usuarios registrados,que una vez que haga click en alguno de ellos, me muestre en otro datagrid los valores del ejeX,EjeY que dicho usuario introdujo.
No se si me he explicado bien,el problema surge a la hora de relacionar ambas tablas.....no se si hay alguna otra forma de hacerlo,si es asi estaria encantado de leer vuestras propuestas.
Solo añadir que en los valores que se introducen de ejex y ejey oscila entre 10 y 15 valores.
Muchas gracias de antemano y un saludo muy grande¡¡
PD:En la tablaDatos irian parejas de x/y ocupando entre 10 y 15 filas de la tabla para cada usuario.No se si hay alguna forma de que guarde esos 10-15 datos en una unica fila y asi relacionar mediante los campos autonumericos....aunque al consultar no se si podre mostrarlos separado....de nuevo muchas gracias por la ayuda.Un saludo.
« última modificación: Diciembre 08, 2014, 12:53:44 pm por rokchlafen »

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #1 en: Diciembre 08, 2014, 01:24:34 pm »
Una consulta, el usuario 1-PEPITO debe ingresar sus 10 valores X, sus 10 valores Y(lo llamamos conjuntoA) en la base de datos pero esta info sera la única q deberá ingresar, guardar y estar relacionada con pepito o en algún caso pepito deberá crear y guardar un conjuntoA, conjuntoB y hasta conjuntoC
« última modificación: Diciembre 08, 2014, 01:26:07 pm por lucius »

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #2 en: Diciembre 08, 2014, 02:01:57 pm »
En principio, el usuario pepito(tambien podria ser el nombre del grupo, cabe la posibilidad  de que coincidan los nombre de usuario o grupo por lo que pensaba diferenciarlos 0 por la fecha de las practicas de cada usuario o grupo o bien por el id autonumerico.....) solo podria ingresar el conjunto X e Y una vez.
« última modificación: Diciembre 08, 2014, 02:07:07 pm por rokchlafen »

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #3 en: Diciembre 08, 2014, 05:37:20 pm »
A simple vista tus tablas deberían ser así
TablaRegistros
Idregistro, nombre,fecha
TablaDatos
IdDato,idregistro,ejeX,ejeY

La relación seria a través del idregistro de uno a muchos y no importara sin son 10, 15 o n registros, el usuario pepito tendría 15 registros en la tabla datos vinculados a él.

Ahora si quieres guardar los 10 o 15 registros en una sola fila también se puede y tendrías q utilizar un tipo de dato string para los campos ejeX y ejeY y separarlos por ejemplo con guiones 23.6-40.8-12.6,etc y mediante programación separar y recuperar los valores en arrays.


rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #4 en: Diciembre 14, 2014, 03:31:31 pm »
Muchas gracias¡¡¡ Enseguida pruebo....mientras tanto no consigo programar para recuperar los datos una vez metidos en una fila mediante dos espacios. Me gustaria poder mostrarlos en un datagrid uno tras otro en diferentes filas una vez selecciono usuario q los ingreso.....Si no, estoy planteando el dejar que ocupen todas las lineas aunque no se si acabara ocupando mucho o es correcto.De nuevo muchas gracias por la ayuda.Un saludo.

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #5 en: Diciembre 15, 2014, 08:33:04 am »
Estimado rokchlafen

Si está en eje cartesiano los valores están formado por un par ordena del tipo (X,Y). Por lo tanto en tu tabla TablaDatos debes de considerar un campo para cada uno de los valores de dicho par ordenado.
 
= = = =  = = = = = = =
 TablaRegistros
= = = =  = = = = = = =

TablaRegistrosID (Tipo Auto Numérico y llave primaria - PK) << Por medio de esta llave se estable la relación con la tabla TablaDatos
NombreAlimno (Tipo Cadena)
FechaRegistro (Tipo Fecha)


= = = =  = = = = = = =
 TablaDatos
= = = =  = = = = = = =

TablaDatosID (Tipo Auto Numérico y llave primaria - PK)
TablaRegistrosID (Tipo Numérico y llave foreana - FK)  << Por medio de esta llave se estable la relación con la tabla TablaRegistros
NumeroPractica(o NumeroMuestreo) (Tipo numérico entero)
EjeX (Tipo numérico decimal)
EjeY (Tipo numérico decimal)


Saludos desde algún lugar de Lima-Perú
Saludos, desde algún lugar de Lima-Perú

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #6 en: Diciembre 15, 2014, 03:46:41 pm »
Hola, siento ser tan pesado pesado con este tema pero me he vuelto a bloquear   :'(
Tengo programado para meter el nombre y la fecha y que los vaya mostrando en un datagrid.

Private Sub Form_Load()
REGISTROS
Set GrillaRegistros.DataSource = RsRegistros
End sub

Private Sub cmdCrear_Click()
If txtNombre.Text = "" Then MsgBox "El campo nombre no puede estar vacio", vbInformation, "Aviso": txtNombre.SetFocus: Exit Sub
    With RsRegistros
        .Requery
        .AddNew
            !Nombre_Grupo = txtNombre.Text
            !Fecha = DTPicker1.Value
        .Update
        .Requery
        LIMPIAR
    End With
End Sub

Private Sub GrillaRegistros_Click()
    With RsRegistros
        If .BOF Or .EOF Then Exit Sub
        .Find "IdRegistros='" & Val(GrillaRegistros.Columns(0).Text) & "'"
        txtNombre.Text = !Nombre_Grupo
        DTPicker1.Value = !Fecha
    End With
End Sub

El problema es que ahora no se me ocurre la forma de programar para asociar las parejas de datos (Eje_X y Eje_Y que los tengo ingresados en arrays : nX(i) y nY(i)  se han ido introduciendo en txtX y txtY y agregados a lstX y lstY     ) para que me las vaya rellenando para cada usuario. La idea es que al hacer clic en algún usuario aparezca en otro datagrid al lado los valores de X e Y asociados a el.Perdonen por las molestias y nuevamente muchísimas gracias por vuestra atención y esfuerzo. Un saludo.

PD: También he conseguido que en el segundo datagrid se muestren los valores X e Y pero no están asociados....la tabla la tengo preparada como ustedes mencionaron y la relación de unos (mediante el Idregistros autonumerico de la tablaregistros) a muchos (con el IdRegistros numérico de la tablaDatos). Al abrir el access en la tablaregistros aparece "+" en el campo IDregistros,al darle aparecen los campos IdDatos eje x y ejey vacios (no aparece el campo IdRegistros).Ademas IdRegistros de la tablaDatos esta vacio y sin ningun valor asignado.Gracias de nuevo.
« última modificación: Diciembre 17, 2014, 06:57:22 am por rokchlafen »

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #7 en: Diciembre 23, 2014, 08:56:55 am »
Buenos dias¡¡  NO consigo asociar mediante programacion los alumnos con sus datos introducidos,no se si hay alguna manera de que lo haga simultaneamente....o deberia primero crear el usuario y luego seleccionarlo y ya asignarle sus datos.Muchas gracias de nuevo y que tengan una felices navidades.

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #8 en: Enero 08, 2015, 10:37:16 am »
Hola de nuevo..... ya conseguí hacer la relación, me ha costado hacerlo aunque al final no era tan difícil.
 Ahora me han pedido hacer lo mismo pero con otro reactivo. La idea es la misma solo quiero que al mismo registro (grupo) se le asocie otra tabla (igual que la tabla datos tendría los mismos campos) solo que son datos del segundo reactivo. Así cuando haga clic en un grupo me aparezcan las dos tablas (datosA y datosB). DatosA y DatosB no tienen nada que ver (puede haber 10 datosA y ninguno datosB). Gracias de antemano y feliz 2015¡¡¡

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #9 en: Enero 08, 2015, 10:40:58 am »
Una consulta, el usuario 1-PEPITO debe ingresar sus 10 valores X, sus 10 valores Y(lo llamamos conjuntoA) en la base de datos pero esta info sera la única q deberá ingresar, guardar y estar relacionada con pepito o en algún caso pepito deberá crear y guardar un conjuntoA, conjuntoB y hasta conjuntoC

Mira que me lo preguntaste, lamentablemente no lo sabia entonces.....me lo acaban de pedir recientemente......existe la posibilidad de introducir un conjunto B (depende del tiempo de los chicos en la toma de datos).Espero puedan ayudarme y que no haga falta hacer grandes cambios. He creado una segunda tablaDatos2 (igualita a la tablaDatos) he intentado relacionarla de la misma manera pero se ve que me deja elegir solo una de ellas (me pide seleccionar hoja secundaria de datos en access tabladatos o tabladatos2). Quiza haya alguna manera de crear un segundo campo autonumerico en tablaregistros que se igual que el primero o algun truco que pueda solucionar mi problema.
De nuevo muchas gracias por vuestra atencion
« última modificación: Enero 08, 2015, 10:47:15 am por rokchlafen »

Luffy

  • Kilobyte
  • **
  • Mensajes: 90
  • Reputación: +4/-2
  • Desarrollar es el arte de crecer no de crear.
    • Ver Perfil
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #10 en: Enero 09, 2015, 12:07:30 am »
Buenos días rokchlafen quisiera ayudarte a resolver tu problema de datos, pero para eso necesito cuatro cosas.

1. Tu base de datos
2. Tu Código Fuente
3. De que trata tu proyecto
4. Tus requerimientos y delimitaciones (Alineación o instrucciones)

Con esto con mucho gusto podemos hacerlo si no quieres dar tu código fuente y tu base de datos por protección podemos concretar una cita y te asisto por Teamviewer, con la condición de que después postees tu respuesta en el foro.

Gracias.


YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #11 en: Enero 09, 2015, 12:10:47 am »
Seria bacan si graban ese soporte.
Me encuentras en YAcosta.com

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Relacionar una tabla de usuarios con otra tabla que recoge datos de listbox
« Respuesta #12 en: Enero 14, 2015, 01:33:01 pm »
Hola a todos, al final era problema mio por que supongo andaba saturado y encima no tengo mucha idea..... el caso es que va todo muy bien....le di importancia a la tabla de access (que me sacaba lo de hoja secundaria de datos) que directamente no probe la concexion¡¡¡¡

Ahora tengo otro problema que espero puedan ayudarme, abri un nuevo tema aqui esta el link:

http://leandroascierto.com/foro/index.php?topic=2865.0

Pueden cerrar este tema:
Muchas gracias por su ayuda, que sin ella no voy a ningún lado. Un saludo.