Campos de varias tablas en formulario continuo

22/06/2012 - 23:46 por dariobaeza | Informe spam
Saludos, me gustaria saber como puedo hacer para hacer funcionar correctamente un formulario continuo con campos de varias tablas distintas (ahora el formulario funciona, pero solo me lista los registros en los que TODOS los campos de esas tablas estan rellenados, es decir, que si estan vacios no me aparecen).

Me explico, supongamos por abreviar que tengo estas tablas:

A) TClientes, que contiene:
1.- IdCli (autonumerico)
2.- NomCli (Texto)

B) TAbogados, que contiene:
1.- IdAbog (autonumerico)
2.- NomAbog (Texto)

C) TExpediente, que contiene:
1.-IdExp (autonumerico)
2.-Cliente (Numerico, en cuadro combinado que proviene de TCliente, con columna dependiente 1 (IdCli), y columna mostrada 2 (NomCli), para que el combo muestre el nombre del cliente).
3.- Abogado (Numerico, en cuadro combinado que proviene de TAbogados, con columna dependiente 1, y columna mostrada 2, para que el combo muestre el nombre del abogado).

Ahora para listar todos los expedientes y sus implicados, me creo un formulario continuo (FListadoExpedientes), que contiene los siguientes campos:
1.- IdExp (de la tabla TExpedientes)
2.- NomCli (de la tabla TClienetes)
3.- NomAbog (de la tabla TAbogados)

No pongo el campo Cliente y Abogado de la tabla expediente, para que lo que me salga en este formulario sea un cuadro de texto (con texto) y no un combo (que en el fondo esconde un numero de id), por dos razones:
- Para que no me salga el combo en el formulario, y me aparezca un campo de texto con un nombre.
- Para poder hacer busquedas con un filteron y un like de este tipo (ya que de momento no se hacerlas de otra manera):

Private Sub cmdBuscaPorNombre_Click()
Dim vNom As String, miFiltro As String
vNom = Nz(Me.txtBuscaPorNombre, "")
If vNom = "" Then Exit Sub
miFiltro = "[NomCli]LIKE'*" & vNom & "*'"
Me.Filter = miFiltro
Me.FilterOn = True
End Sub

Ya que si hago las busquedas en combos, como en realidad lo que hay detras es el campo Id (ya que es la columna dependiente), pues no podria hacer busquedas aproximadas con el like.

Total, que entonces no puedo meter combos en el formulario que me quiero hacer, por lo que en vez de meter directamente los campos Cliente y Abogado de la tabla TExpedientes, me toca meter el campos NomCli (de TClientes) y el campo NomAbog (de Tabogagos).

Y la cuestion está en que si lo hago asi, el forumlario continuo solo me lista aquellos expedientes en los que este relleno el campo cliente y el campo abogado. Es decir, que si en un expediente no tengo relleno por ejemplo el campo abogado, pues ese expediente no me aparece en el formulario continuo (aunque tenga su id y su cliente).

Total, os he contado esta chapa, porque puede que lo que yo quiero solucionar de una manera (que el formulario continuo me liste todos los expedientes, aunque no tengan algun campo relleno), puede que sea mejor solucionarlo de otra, dando otro enfoque al tema.

Bueno, si alguno sabeis que puedo hacer, os lo agradeceria.

Saludos y gracias
 

Leer las respuestas

#1 dariobaeza
23/06/2012 - 13:02 | Informe spam
Por si alguno quereis verla, he hecho una base de datos de pruebas, con las cosas que pongo en la pregunta para que veais como TExpedientes tiene 8 registros, y en FListadoExpedientes solo salen 4 de ellos (aquellos en los que tanto el campo NomCli como NomAbog estan rellenados).

El enlace para verla es este:
https://www.dropbox.com/s/gsqyo9px3...ebas.accdb


Saludos

Preguntas similares