Access - "Introduzca el valor del parámetro"

 
Vista:
sin imagen de perfil

"Introduzca el valor del parámetro"

Publicado por karla (31 intervenciones) el 12/11/2015 01:00:29
Apenas hace unos días me inicié en la programación de Bases de Datos y me encuentro con el siguiente problema:

Realizo el filtrado de un subformulario a partir de tres comboboxes (Texto, Número, Sí/No). El problema me viene con el "Sí/No" pues cada vez que intento realizar el filtro me muestra una ventana que dice "Introduzca el valor del parámetro". ¿Existe una forma para que en el código se especifique que cada que se tope con ese error le asigne -1?

Gracias infinitas
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
sin imagen de perfil
Val: 8
Ha aumentado su posición en 5 puestos en Access (en relación al último mes)
Gráfica de Access

"Introduzca el valor del parámetro"

Publicado por Miguel (56 intervenciones) el 12/11/2015 04:04:58
no deberías de tener problema salvo que no estes asignando bien la variable del combo. quisiera ayudarte mas pero ecesito mas detalles por ejemplo nombre del como y como estas filtrando el subf, es decir si lo filtras por consulta y allí debes estar cometiendo un error mas de sintaxis.

envía mas datos por favor
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
sin imagen de perfil

"Introduzca el valor del parámetro"

Publicado por karla (31 intervenciones) el 12/11/2015 16:43:52
Gracias Miguel!,

Mira, mis tres combos de filtrado son: cmbxEstado, cmbxAño y cmbxEnSistema, el tipo de origen de las filas son todos valores introducidos manualmente.

El filtrado lo estoy haciendo con el siguiente código:

1
2
3
Private Sub cmbxEnSistema_BeforeUpdate(Cancel As Integer)
   Call AplicaFiltroSubform
End Sub

...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub AplicaFiltroSubform()
    Dim CadFiltro As String
    If Nz(Me.cmbxEstado, "") <> "" Then
        CadFiltro = CadFiltro & "[Estado]='" & Me.cmbxEstado & "' AND"
    End If
        If Nz(Me.cmbxAño, "") <> "" Then
        CadFiltro = CadFiltro & "[Año]=" & Me.cmbxAño & " AND"
    End If
        If Nz(Me.cmbxEnSistema, "") <> "" Then
        CadFiltro = CadFiltro & "[En Sistema]=" & Me.cmbxEnSistema & " AND"
    End If
 
    If Nz(CadFiltro, "") <> "" Then
        CadFiltro = Left(CadFiltro, Len(CadFiltro) - 4)
        Me.subFormCierresEnSistema.Form.Filter = CadFiltro
        Me.subFormCierresEnSistema.Form.FilterOn = True
    Else
        Me.subFormCierresEnSistema.Form.FilterOn = False
    End If
End Sub
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
sin imagen de perfil

"Introduzca el valor del parámetro"

Publicado por Enrique Heliodoro (1664 intervenciones) el 12/11/2015 04:37:16
Si la hay, Access no interpreta el alias: espera el dato real

Dado que se esta en un combo, bastaría añadirle una nueva columna para el valor 'real' y ocultarla tras indicar que esa (la oculta que tendrá un cero o un -1) es la columna predeterminada.
Ello mostrara el alias (Sí/No o cualquier otro alias que se le ponga) y devolverá el valor adecuado para la consulta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

"Introduzca el valor del parámetro"

Publicado por karla (31 intervenciones) el 12/11/2015 16:47:41
Cómo puedo agregarle una columna??? Pasa que si asigno el origen de las filas a partir de tablas, me enlista los "Sí/No" de los n registros que tengo agregados y vaya, que yo sólo quiero que me muestre "Sí" o "No"
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
sin imagen de perfil
Val: 8
Ha aumentado su posición en 5 puestos en Access (en relación al último mes)
Gráfica de Access

"Introduzca el valor del parámetro"

Publicado por Miguel (56 intervenciones) el 12/11/2015 18:08:17
Si dices que en los dos primeros combos si funciona el filtro, entonces el tercero debe tener algo que no puedo ver. Que tipo de variable o formato utiliza ese combo (texto, verdadero o falso, si o no, etc ? Prueba como texto, al igual que tu primer combo: cmbxestado.
si lo haces como texto, le ingresas los dos datos de manera manual, pero dime en tu tabla donde filtras como esta tambien ese campo.

o prueba colocar de manera manual "Si" o "No" en la fila :

en esta fila:
CadFiltro = CadFiltro & "[En Sistema]=" & Me.cmbxEnSistema & " AND"

reemplaza:

CadFiltro = CadFiltro & "[En Sistema]='Si'" & " AND"

o

CadFiltro = CadFiltro & "[En Sistema]='No'" & " AND"

Se me ocurre otra cosa ojala me puedas enviar a mi correo para mayor detalle.
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
sin imagen de perfil

"Introduzca el valor del parámetro"

Publicado por karla (31 intervenciones) el 12/11/2015 18:34:45
Mi campo es Sí/No

Me puedes dar tu correo?
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
sin imagen de perfil
Val: 8
Ha aumentado su posición en 5 puestos en Access (en relación al último mes)
Gráfica de Access

"Introduzca el valor del parámetro"

Publicado por Miguel (56 intervenciones) el 12/11/2015 18:50:56
es de @hotmail.com: libra_1932
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

"Introduzca el valor del parámetro"

Publicado por karla (31 intervenciones) el 12/11/2015 22:56:01
Miguel

Mil gracias por la asesoría, me funcionó de maravilla el consejo!

Y se los dejo por acá, tal cual me lo dijiste:

"En el diseño del form, modificaras las propiedades del campo: cmbxEnSistema.
En la pestaña formato indica que son 2 columnas y el ancho de 0cm;2cm
Luego en la pestaña datos en el origen de datos coloca esto: -1;Sí;0;No
Eso es todo.

Te explico: como es un campo boolean el de tu tabla, debes de filtrar o comparar como boolean y el Sí y No de tu combo es un texto que no lo validaba como tal.
Los valores internos de esos campos es 0 (zero) para falso y -1 (menos uno) para verdadero."
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