Access - Abrir formulario con filtro

 
Vista:

Abrir formulario con filtro

Publicado por Ricardo (1 intervención) el 25/10/2006 12:54:59
Hola a tod@s,
desde hace varios dias estoy intentando hacer una aplicacion con access y me he atascado. Lo que quiero hacer es seleccionar desde un formulario los valores que pasare a otro formulario para que solo me muestre la informacion que me interesa. Para ello, he creado en el primer formulario dos cuadros combinados que me dan a elegir los valroes que me interesen y un boton de comando que lanza el formulario filtrandome la informacion. Despues de mucho probar, lo unico que logro es recoger la seleccion del cuadro combinado y que el formulario que se abre con el boton me pregunte este valor antes de abrirse. Yo no quiero que me pregunte el valor porque se lo estoy dando, pero no se como evitarlo. ¿Alguien me puede echar un cable?
Adjunto codigo del formulario que lanza el segundo formulario por si sirve de ayuda:

Private Sub btn_buscapartidos_Click()
Dim jug_local, jug_visitante As String
Dim nombre_local, nombre_visitante As String
Dim stLinkCriteria As String

'Comprobar que los valores de los jugadores no son nulos
If (IsNull(cmb_jugadorlocal.Value)) Then
MsgBox "Selecciona un jugador local", vbCritical
Exit Sub
End If
If (IsNull(cmb_jugadorvisitante.Value)) Then
MsgBox "Selecciona un jugador visitante", vbCritical
Exit Sub
End If

'buscar el partido con los dos jugadores seleccionados
jug_local = cmb_jugadorlocal.Value
jug_visitante = cmb_jugadorvisitante.Value

stLinkCriteria = "Form!frm_buscapartidos!jugador.nombre='" & jug_local & "'"

DoCmd.OpenForm "frm_buscapartidos", , , stLinkCriteria

End Sub
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:Abrir formulario con filtro

Publicado por Moises (75 intervenciones) el 25/10/2006 16:05:31
Hola Ricardo,

Puesto que tienes dos campos, yo lo que haria seria lo siguiente :

Dim lstrCriterio as String
if len(Cuadrocombinado1) > 0 and len(Cuadrocombinado2) > 0 then
lstrCriterio = "CampoDeTabla1 = '" & Cuadrocombinado1 & "' AND " & "CampoDeTabla2 =' " & Cuadrocombinado2 & "'"
'No hace falta que pongas todo el Form!frm_.... si el bo´tón que lo llama esta en el mismo formulario

DoCmd.OpenForm "frm_buscapartidos", , , lstrCriterio
End if

No hace falta que asignes cada campo a una variable, simplemente llamas cal campo, pero eso si, sin .Value, ya que si no, te puede dar dolores de cabeza (por SetFocus y demas), simplemente llama al campo.

Es importante que si los campos son Strings (cadenas), pongas siempre a la hora de realizar cualquier tipo de consulta las comillas simples, te ahorras algun que otro dolor de cabeza tambien.

Saludos
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:Abrir formulario con filtro

Publicado por Chea (1015 intervenciones) el 25/10/2006 16:07:08
Prueba a queitar la referencia al form en el stLinkCriteria:

stLinkCriteria = "nombre='" & jug_local & "'"

Saludos
José Bengoechea Ibaceta
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