Access - Comprobar si consulta no devuelve nada

 
Vista:

Comprobar si consulta no devuelve nada

Publicado por zanga (26 intervenciones) el 22/06/2006 19:52:54
Hola,

estoy almacencando informacion acerca de canciones y mediante un combo box selecciono o introduzco el artista y mas adelante el sello discográfico.

Ahora tengo puesto que despues de actualizarse el combo del artista se seleccionen los sellos que encuentre del mismo en la bbdd y queden como origen del sello, esto es:

Private Sub Autor_AfterUpdate()
Me!Sello.RowSource = "SELECT Sello FROM Musica WHERE Autor Like '" & Me!Autor & "';"
End Sub

Pero claro, si introduzco un nuevo artista esta búsqueda no devolverá nada. Lo que yo quería es que en este caso me mostrara todos los sellos disponibles para cualquier autor, algo asi como

Private Sub Autor_AfterUpdate()
sql = "SELECT Sello FROM Musica WHERE Autor Like '" & Me!Autor & "';"
If IsNull (sql) Then 'Si la consulta no devuelve nada cambio la consulta
sql = "SELECT Sello FROM Musica ORDER BY Sello;"
End If
Me!Sello.RowSource = sql
End Sub

Pero claro, esto no funciona...

Gracias de antemano y un saludo!
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

RE:Comprobar si consulta no devuelve nada

Publicado por Rodolfo (463 intervenciones) el 23/06/2006 19:20:44
Te paso a tu mail la unica solucion que se me ocurrio. No creo que sea la mejor pero capaz que te saca del paso.
Suerte

Rodolfo
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

RE:Comprobar si consulta no devuelve nada

Publicado por Zanga (26 intervenciones) el 23/06/2006 20:26:58
Lo primero darte las gracias por tu interés y dedicación, Rodolfo.

Solo quería comentarte un detalle:

¿Qué pasaría si el Autor no se encuentra en la tabla? Funcionaría el FindFirst o habría que incluir alguna función en la llamada tipo Nz?

En cuanto pueda lo pruebo. Gracias de nuevo y un saludo!
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

RE:Comprobar si consulta no devuelve nada

Publicado por Rodolfo (463 intervenciones) el 23/06/2006 20:52:06
Fijate que no es muy complicado.
El tema es asi. Para eso utilice dos subformularios y maneje la propiedad visible de ambos. En uno se ejecuta la consulta por lo que te muestra la seleccion de los datos del combo y otro, que selecciona todos los datop de la tabla.
En criollo algo asi

Valor= valor del combo
Valor2= valor del campo sello si encuentra en la tabla el valor del combo

Entonces

If valor 2 = 0(null con nz) then
form con consulta.visible = false
form que muestra todo.visible = true
else
form con consulta.visible = true
form que muestra todo.visible = false
end if

Para lo que vos me pedis, fijate si te anda con esto

if tabla.nomatch then
form con consulta.visible = false
form que muestra todo.visible = true
else if valor 2 = 0(null con nz) then
form con consulta.visible = false
form que muestra todo.visible = true
else if valor valor2 <> 0 then
form con consulta.visible = true
form que muestra todo.visible = false
end if

En el primer renglon le estas diciendo que si no encuentra el autor en la tabla te muestre el subformulario que contiene todos los datos.

Bueno, creo que con esto solucionas el problema de si el autor no esta en la tabla.

Suerte

Rodolfo
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