Access - Si consulta no tiene registros emitir MSGBox

 
Vista:

Si consulta no tiene registros emitir MSGBox

Publicado por Sandra Veronica (203 intervenciones) el 05/10/2007 19:23:13
Hola a todos. Tengo esta necesidad.
1 formulario y 2 Subformularios. Busco un cliente y si tiene deuda me la muestra en los Sub-Formularios y si no, me gustaria una MsgBox que me diga "No tiene deduda".
Pero la verdad que no se como saber si una consulta trae o no resultados.
Quizas esto ya se ha visto en enste foro, Pero la verdad que no supe entender lo que se dice.
Sepan disculpar.!
Saludos
Sandra!
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:Si consulta no tiene registros emitir MSGBox

Publicado por xavi (92 intervenciones) el 08/10/2007 10:51:56
Hola,

En el evento que hace que aparezcan los registros en el subformulario (imagino que el evento Current servirá)

If Me!miSubFormulario.Form.RecordsetClone.RecordCount = 0 Then
MsgBox "No tiene deuda", vbCritical, "El que todo lo ve dice..."
End If

Escrito del tiron...

Xavi
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:Si consulta no tiene registros emitir MSGBox

Publicado por Sandra Veronica (203 intervenciones) el 08/10/2007 19:04:56
Xavi, he probado lo que me mandaste y el temita que tengo es que el funcionamiento de la aplicacion es el siguiente:
1) Abro un formulario Padre
2) Le doy clic a un boton para que me llame un 2º Formulario que me permite buscar un cliente. Al darle doble clic sobre el cliente se ejecuta lo siguiente:

Private Sub Lista1_DblClick(Cancel As Integer)
If Me.OpenArgs = "Deuda_Detallada" Then
Form_Deuda_Detallada.Cuenta = Lista1.Column(0)
Form_Deuda_Detallada.nombre = Lista1.Value
Form_Deuda_Detallada.cuit = Lista1.Column(2)
DoCmd.Close acForm, "Busca"
DoCmd.Requery "Sub_SAP_Detalle_Final"
DoCmd.Requery "DetalleMicCali"
Else
xxxxx
xxxx
End If
End Sub
*****************************
DoCmd.Requery "Sub_SAP_Detalle_Final" Esta sentencia es la que hace que en el formulario padre, dentro de un subformulario se ejecute la consulta y es en esa consulta en donde debo saber si tiene o no registros. Ahora en lo que me mandas
If Me!Sub_SAP_Detalle_Final.Form.RecordsetClone.RecordCount = 0 Then
MsgBox "No tiene deuda", vbCritical, "El que todo lo ve dice..."
End If
el formulario es el activo no? y la verdad que no se en donde colocarlo ya que la consulta no se ejecuta en el formulario activo.
Se entiende? Espero que si.
Besitos
Sandra!
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:Si consulta no tiene registros emitir MSGBox

Publicado por xavi (92 intervenciones) el 09/10/2007 08:59:55
Hola,

Entiendo que tienes un formulario que creo se llama Deuda_Detallada que contiene un subformulario llamado Sub_SAP_Detalle_Final

Primera pregunta: ¿ese es el nombre del formulario o del control que contiene el subformulario? Aunque son nombres que pueden coincidir, no es lo mismo

Desde el formulario Deuda_Detallada puedes abrir un formulario llamado Busca. Ese formulario tiene un cuadro de lista que te permite seleccionar un cliente de la lista.

Sugerencia: puesto que entiendo que manejas el OpenArgs para saber que formulario ha abierto al formulario Busca, podrias utilizar ese criterio para filtrar el cuadro de lista a los que tengan deuda. De esa forma te ahorrarias el problema que estas planteando. Fin de la sugerencia.

Al hacer soble click en el cuadro de lista lanzas el Requery del subformulario, ¿verdad? Enrtonces:

Private Sub Lista1_DblClick(Cancel As Integer)
If Me.OpenArgs = "Deuda_Detallada" Then
Form_Deuda_Detallada.Cuenta = Lista1.Column(0)
Form_Deuda_Detallada.nombre = Lista1.Value
Form_Deuda_Detallada.cuit = Lista1.Column(2)
DoCmd.Close acForm, "Busca"
DoCmd.Requery "Sub_SAP_Detalle_Final"
If Forms![Deuda_Detallada]![Sub_SAP_Detalle_Final].Form.RecordsetClone.RecordCount = 0 Then
MsgBox "No tiene deuda", vbCritical, "El que todo lo ve dice..."
End If
DoCmd.Requery "DetalleMicCali"
Else
xxxxx
xxxx
End If
End Sub

Ya puestoa a saber... ¿que es DetalleMicCali?

Un saludo
Xavi
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:Si consulta no tiene registros emitir MSGBox

Publicado por Sandra Veronica (203 intervenciones) el 09/10/2007 15:11:31
Respondo a tus preguntas:

1) Tanto el Nombre como el objeto origen tienen el mismo nombre (Sub_Sap_Detalle_Final)

2) Muy buena tu sugerencia de Filtrar la busqueda por los clientes que tienen deuda.

3) DetalleMicCali es un subformulario que cumple la misma funcion que el Subformulario Sub_Sap_Detalle_Final, solo que trae la deuda de otros Sistemas.

Voy a probar lo que me mandaste.
Desde ya agradezco enternamente tu ayuda.
Saludos
Sandra!
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:Si consulta no tiene registros emitir MSGBox

Publicado por Sandra Veronica (203 intervenciones) el 09/10/2007 16:49:31
Hola Xavi .... debo agradecerte nuevamente por tu colaboración. Sin tu ayuda me hubiera sido imposible. Problema solucionado!!!!
Muchas Gracias!!!!
Saludos y hasta la proxima!!!!
Sandra!!!
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

CERRADO

Publicado por xavi (92 intervenciones) el 10/10/2007 08:54:55
De nada
:o)
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