Access - Abrir otro formulario por su ID

   
Vista:
Imágen de perfil de Sandro

Abrir otro formulario por su ID

Publicado por Sandro (49 intervenciones) el 21/12/2017 12:15:24
Buenos días,

Tengo dos tablas, SEDES y CLIENTES. En la primera tabla tengo todas las sedes de mi cliente y en la segunda todos los datos de los clientes. Ambas tablas tienen en común el id IdDelegacion (En la primera tabla autonumerico y en la segunda como numero) y ambas están relacionadas con dicho id.

Además, existe la posibilidad de que la SEDE 01 tenga cinco contactos diferentes y la SEDE 02 tenga solo dos contactos. En ese sentido no hay problema, ya que la relación me lo muestra correctamente.

El problema que tengo y que no consigo resolver es como abrirlo desde el formulario mediante el botón. Es decir, tengo la ficha de la SEDE 01, pincho en CONTACTO 1 y que me muestre los datos de ese contacto en concreto. Si pincho en CONTACTO 2, me muestre los datos del segundo contacto pero de la misma sede.

Debo añadir que el segundo formulario, el de los contactos, es el mismo para cada botón, lo que debe de cambiar son los dos IDs, el común (IdDelegacion) y el de la tabla contactos (IdContacto).

He intentando mediante open form y filtrando o usando la condición where, he intentado mediante filtro y nada. No consigo resolverlo y es bastante urgente... Espero que me puedan ayudar.

Gracias de antemano.
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
Imágen de perfil de Antonio

Abrir otro formulario por su ID

Publicado por Antonio (145 intervenciones) el 21/12/2017 16:05:11
hola.

No recuerdo si ya te habia respondida esta pregunta anteriomete,

Yo lo hago con un recordset

Te dejo los ejemplo de como lo hago.


Ese es el ultimo video de la serie.

En la descripcion del video esta la descripcion.

Si quieres ver todo el proceso pasaate por mi canal ahi estan las demas partes.
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
Imágen de perfil de Sandro

Abrir otro formulario por su ID

Publicado por Sandro (49 intervenciones) el 21/12/2017 16:28:46
Buenas tardes Antonio,

Si, me comentaste en otro hilo y te respondí hace poco... Creyendo que ese hilo ya estaba cerrado he abierto este.

Pido disculpas por las molestias, pero con el trabajo no he podido ponerme con ello hasta ahora.
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
Imágen de perfil de Sandro

Abrir otro formulario por su ID

Publicado por Sandro (49 intervenciones) el 21/12/2017 17:12:19
Buenas tardes Antonio,

No hay manera. He visto tu vídeo (Que está genial) y he bajado tu ejemplo para intentar representarlo en mi base de datos, pero por algún motivo no consigo que me funcione...

Tengo un formulario dividido en control de pestañas, cada pestaña tiene un cuadro de lista en formato tabla y al hacer doble clic en la sede me abre el formulario SEDES. Si pincho en uno de los botones de contacto, me abre el formulario CONTACTOS.

Para la primera parte del botón no he tenido problemas, pero en la segunda parte, en el código recupera, en la parte SQL = SQL & " WHERE C.Id = " & Me.ListaClientes & "", tu pones un cuadro de lista que está en ese mismo formulario, pero yo no se que incluir ahí. Indique lo que indique me salta un error, he probado a poner el nombre del boton, el cuadro de lista...Todo lo que se me ha ocurrido.

Esta parte la tengo muy atascada y siento las molestias ocasionadas.

Gracias de antemano.
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
Imágen de perfil de Antonio

Abrir otro formulario por su ID

Publicado por Antonio (145 intervenciones) el 21/12/2017 19:02:52
Bueno pues eso es cuestion de logica.

Yo pongo que me abra el registro cuando C.Id = " & Me.ListaClientes & "" por que dependido del valor seleccionado de mi cuadro de lista abriré el registro.

No se si sabes que es la propiedad columna dependiente de un cuadro de lista.Pero al seleccionar yo un cliente en mi cuadro, la columna dependiente sera el Id,(Que no se muestra en mi cuadro de lista por que esta oculto).

Entonces lo que hará mi consulta del recordset es traerme el registro que yo le estoy pasando en Me.ListaClientes .

-------------------

Lo que tu tienes que hacer en la consulta del recordset,en el apartado del WHERE la comparacion de tu tabla IdDelegacion) y el de la tabla contactos (IdContacto).

Dependiendo cual vayas a abrir, si abrirás la tabla contactos

Tendrá que ser.

WHERE IdContacto = " & mE.CAMPO & " <----- puede ser un cuadro de texto , cuadro lista , etc (Siempre y cuando ese campo
contenga el IdDElegacion)

Si abrirás la tabla contactos.


WHERE IdDElegacion = " & mE.CAMPO & " <----- puede ser un cuadro de texto , cuadro lista , etc (Siempre y cuando ese campo contenga el IdContacto)
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
Imágen de perfil de Sandro

Abrir otro formulario por su ID

Publicado por Sandro (49 intervenciones) el 22/12/2017 13:45:22
Buenos días Antonio,

Por lo que sea sigue fallando. Conseguí solventar el problema de antes comentado y tras varios errores más me sale un error diciendo que no se pueden relacionar los campos...

En fin, que me he cansado ya... Intentaré hacerlo como en tu ejemplo y si veo que no consigo que me funcione buscaré otras alternativas, ya llevo demasiado tiempo peleándome con esto y cansa.

Gracias por todo y perdona las molestias.
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
Imágen de perfil de Sandro

Abrir otro formulario por su ID

Publicado por Sandro (49 intervenciones) el 22/12/2017 15:34:03
Buenas Antonio,

Este es el código que he modificado para poder abrir el formulario, pero sigo atascado con la parte de la condición Where.... Si la cambio se arregla pero me dice que me faltan parámetros.

Por una lado me esta cansado pero por otro quiero sacarlo, porque sé que esta el fallo en algo pero yo, al ser un negado en la programación, no lo veo...

Perdona mis prontos y mi poca lógica en la programación, intento cada día mejorar un poco más...

1
2
3
4
5
6
7
8
9
10
11
12
13
Dim rst As DAO.Recordset, SQL As String
 
On Error GoTo ManipulaError
SQL = "SELECT C.Id, D.Nombre, D.Apellidos, D.Teléfono"
SQL = SQL & " FROM SEDES AS C LEFT JOIN CONTACTOS AS D ON C.Id = D.IdContacto"
SQL = SQL & " WHERE C.Id= " & Me.IdContacto & ""
Set rst = CurrentDb.OpenRecordset(SQL, dbOpenForwardOnly)
With rst
    Forms![Ficha_Contacto]![Nombre] = !Nombre
    Forms![Ficha_Contacto]![Apellidos] = !Apellidos
    Forms![Ficha_Contacto]![Correo] = !Correo
End With
rst.Close: Set rst = Nothing

En la ficha CONTACTOS no tengo introducido el IdDelegacion, pero si el idContacto... Si lo pongo así, me salta error. Si lo cambio, es decir, C.IdConacto= " & Me.Id& "" me salta mensaje de que faltan parámetros.

¿Que es lo que estoy haciendo mal y que no consigo ver?

Gracias.
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
Imágen de perfil de Antonio

Abrir otro formulario por su ID

Publicado por Antonio (145 intervenciones) el 22/12/2017 15:38:42
Mandame si quieres tu base al correo y la reviso.

acuellarruiz@outlook.com
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
Imágen de perfil de Sandro

Abrir otro formulario por su ID

Publicado por Sandro (49 intervenciones) el 22/12/2017 16:03:46
Buenas Antonio,

Te acabo de mandar una prueba de mi base de datos.

Cualquier cosa me comentas.

Y mil gracias.
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