|
|
||||||
|
#1
|
|
|
|
|
Buenas, tengo que hacer una consulta a dos tablas, estoy usando esto:
strSQLEContactos = "SELECT Escuelas.* , Contactos.* FROM Escuelas,Contactos WHERE (Escuelas.NombreEscuela = '" & lstEscuelas.Text & "') AND (Escuelas.CodigoEscuela = Contactos.CodigoEscuela) El problema es cuando existen registros en una tabla que cumple la condicion pero en la otra tabla no existe ningun registro, obviamente me salta el error de Ningun Registro Activo. Asi que trate de usar esto; strSQLEContactos = "SELECT Escuelas.* , Contactos.* FROM Escuelas,Contactos WHERE ((Escuelas.NombreEscuela = '" & lstEscuelas.Text & "') AND (Escuelas.CodigoEscuela = Contactos.CodigoEscuela)) OR Escuelas.NombreEscuela = '" & lstEscuelas.Text & "'" Pero tampoco hay caso, me mezcla los registros. Desde ya muchas gracias. Gonzalo |
|
|
|
#2
|
|
|
|
|
"Gonzalo García" <GonzaloGarca> escribió en el
mensaje news:0f1a [..] > > strSQLEContactos = "SELECT Escuelas.* , Contactos.* FROM > Escuelas,Contactos > WHERE ((Escuelas.NombreEscuela = '" & lstEscuelas.Text & "') AND > (Escuelas.CodigoEscuela = Contactos.CodigoEscuela)) OR > Escuelas.NombreEscuela > = '" & lstEscuelas.Text & "'" > > Pero tampoco hay caso, me mezcla los registros. > Desde ya muchas gracias. Hola, Debes usar un LEFT JOIN: "SELECT Escuelas.*, Contactos.* " & _ FROM Escuelas LEFT JOIN Contactos " & _ ON Escuelas.CodigoEscuela = Contactos.CodigoEscuela " & _ "WHERE Escuela.NombreEscuela = '" & lstEscuelas.Text & "'" Salud! |
|
#3
|
|
|
|
|
Solo una recomendacion Gonzalo.
Nota como Leonardo uso el sintaxis LEFT JOIN y ON. En lugar de especificar FROM Escuelas,Contactos El SQL especifica una sola tabla en la clausula FROM y luego usa LEFT JOIN para especificar la segunda tabla. Este es el metodo preferido porque las versiones mas nuevas de SQL Server (asumiendo que estas usando este producto) estan dejando de soportar el sintaxis tal como lo usaste. Ahora es buen momento de aprender a usar este nuevo metodo. Seguramente te evitara problemas en el futuro. Saga "Leonardo Azpurua" <l e o n a r d o (arroba) e x m v p s (punto) o r g> wrote in message news:a800 [..] |
|
#4
|
|
|
|
|
Gracias Saga por el consejo. De todas maneras, si es correcta la ultima
instrucción, no logro solucionar el problema cuando la tabla de la derecha no tiene ningún registro relacionado a la primera tabla. A mi parecer, esta mal el código en VB cuando quiero volcar los datos en los textbox. Ya que solo NO me genera el error 3021 cuando le hay exactamente 3 registros de contactos relacionados a la tabla Escuelas. En el caso de que haya uno, dos o ningun registro en la tabla contactos relacionado a la tabla Escuela me salta el error 3021. Uso EOF pero lo pasa de largo como si existiese un registro, y abro mi base y no hay ninguno. Gracias nuevamente,,, Gonzalo "Saga" wrote: [..] |
|
#5
|
|
|
|
|
Me olvide de decirte que estoy usando Access 2007.
Bye bye "Gonzalo García" wrote: [..] |
|
#6
|
|
|
|
|
"Gonzalo García" <GonzaloGarca> escribió en el
mensaje news:911f > Gracias Saga por el consejo. De todas maneras, si es correcta la ultima > instrucción, no logro solucionar el problema cuando la tabla de la derecha > no tiene ningún registro relacionado a la primera tabla. A mi parecer, > esta > mal el código en VB cuando quiero volcar los datos en los textbox. Ya que > solo NO me genera el error 3021 cuando le hay exactamente 3 registros de > contactos relacionados a la tabla Escuelas. En el caso de que haya uno, > dos o > ningun registro en la tabla contactos relacionado a la tabla Escuela me > salta > el error 3021. > Uso EOF pero lo pasa de largo como si existiese un registro, y abro mi > base > y no hay ninguno. Hola, Pega el código que usas, porque cada vez se entiende menos. Salud |
|
#7
|
|
|
|
|
Creo que estamos ante un caso del "Típico de la evolución reciente de las
herramientas:" |
|
|
|
La franja horaria es GMT. Ahora son las 03:41. | Privacy Policy
|