RE:Consulta Select a 2 tablas resultado en Grid
Perdón, no sé que pasó que envíe el texto incompleto:
El tema está así
Tabla JUICIO tiene dos id uno para el cliente otro para el contrario, además en esta tabla se determina el tipo de cliente y de contrario si es físico o jurídico. Esta tabla está vinculada a las tablas de clientes correspondientes por medio del idcliente y idcontrario.
Entonces si tenemos un juicio con un cliente físico y un contario jurídico la relación sería:
TABLA JUICIO Tabla cliente fisico tabla contrariojuridico
idcliente = 1234 ---------------------- idclientef
tipocliente = fisico
idcontrario = 3456 -------------------------------------------idcontrario
tipocontrario = juridico
Las tablas clientes fisico y contrario físico contienen un campo de id, nombre, apellido1, apellido2. Las de cliente y contrario jurídico contienen nombre idempresa, nombre empresa y representante.
Lo que quiero es hacer una consulta que me permita buscar por Apellido 1 de cliente o de contrario que a la vez me muestre todos los juicios que existen para el apellido consultado. Entonces, sindo que el apellido es un campo que no figura en la tabla juicios sino en la de cliente, es una consulta de dos tablas vinculadas la de juicios respecto a cliente. Esta resultado de la consulta se muestra un MS Grid, en el cual aparece el apellido1 del cliente, el nombre su id y el número del juicio al que está vinculado, pudiendo haber personas con varios juicios por supuesto.
Entiendo que esto se hace mediante una consulta Inner Join, pero por más que trate no pude implementarla. Las consultas las pretendo hacer por supuesto desde un form de consulta, en el cual aparece un textbox donde se introduce el apellido de la persona y un combobox donde se indica si es cliente o contrario. Mi código es el siguiente:
conn.Open
sql = "Select juicios.codigo, juicios.expjudicial,juicios.tipo, juicios.idcontrario, juicios.tipocontrario, personacontraria.cedperscontraria, personacontraria.ape1contrario, personacontraria.nombrecontrario FROM personacontraria INNER JOIN juicios ON personacontraria.cedpersonacontraria=juicios.idcontrario WHERE juicios.tipocontrario='" & (combotipoparte.Text) & "' and personacontraria.ape1contrario= '" & (txtconsulta.Text) & "'"
runsql (sql)
If rst.RecordCount > 0 Then
While Not rst.EOF()
With gridname
.TextMatrix(fila, 1) = "" & rst!codigo
.TextMatrix(fila, 2) = "" & rst!expjudicial
.TextMatrix(fila, 3) = "" & rst!tipojuicio
.TextMatrix(fila, 4) = "" & rst!idcontrario
.TextMatrix(fila, 5) = "" & rst!ape1contrario
.TextMatrix(fila, 6) = "" & rst!nombrecontrario
.Rows = .Rows + 1
End With
fila = fila + 1
rst.MoveNext
Wend
Else
MsgBox "No hay Datos para Mostrar", vbInformation, "Resultado"
End If
conn.Close
End Sub
Mucho les agradecería si pudieran ayudarme, no he podido con esto y francamente soy novata en visual basic!!