Visual Basic para Aplicaciones - filtro

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de mirta
Val: 5
Ha aumentado su posición en 2 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

filtro

Publicado por mirta (3 intervenciones) el 23/03/2020 15:08:05
He aqui otra dificultad, estoy haciendo en un formulario denominado "Form_intervencion_eoe" donde coloque un cuadro combinado que trae las opciones de una tabla y lo llame "filtra" el campo donde se encuentran las opciones se denomina "motivos" y aqui les envío el codigo pero no logro que me filtre. Si pueden darme una idea muchas Gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Private Sub filtra_Click()
Dim sentencia As String
 
 
 
If filtra.Value = "INASISTENCIAS REITERADAS" Then
  sentencia = "SELECT * FROM Form_intervencion_eoe WHERE motivos = 'INASISTENCIAS REITERADAS'"
 
ElseIf filtra.Value = "AUSENTISMO" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'AUSENTISMO'"
 
ElseIf filtra.Value = "DIFICULTAD EN EL APRENDIZAJE" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'DIFICULTAD EN EL APRENDIZAJE'"
 
ElseIf filtra.Value = "PROBLEMAS DE CONDUCTA" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'PROBLEMAS DE CONDUCTA'"
 
ElseIf filtra.Value = "FALTA DE DOCUMENTACION" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'FALTA DE DOCUMENTACION'"
 
ElseIf filtra.Value = "JUDICIALIZACION FAMILIAR" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'JUDICIALIZACION FAMILIAR'"
 
ElseIf filtra.Value = "INTEGRACION ESPECIAL" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'INTEGRACION ESPECIAL'"
 
ElseIf filtra.Value = "ACOMPAÑAMIENTO EXTERNO" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'ACOMPAÑAMIENTO EXTERNO'"
 
ElseIf filtra.Value = "SITUACION CONFLICTIVA" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'SITUACION CONFLICTIVA'"
 
ElseIf filtra.Value = "TRAMITACION DE ANTEOJOS" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'TRAMITACION DE ANTEOJOS'"
 
ElseIf filtra.Value = "DIFICULTAD COGNITIVO/CONDUCTUAL" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'DIFICULTAD COGNITIVO/CONDUCTUAL'"
 
ElseIf filtra.Value = "MAESTRA DOMICILIARIA" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'MAESTRA DOMICILIARIA'"
 
ElseIf filtra.Value = "OTROS" Then
    sentencia = "SELECT * FROM Form_intervencion_eoe WERE motivos = 'OTROS'"
 
 
End If
 
 
 
DoCmd.ApplyFilter sentencia, sentencia = filtra     ' si ponia solo sentencia no me acepta la linea de codigo, de esta manera no marco error pero igual no me filtra.
 
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
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

filtro

Publicado por Antoni Masana (498 intervenciones) el 23/03/2020 19:56:38
Asi es mucho mas sencillo:

1
2
3
4
5
Private Sub filtra_Click()
    Dim sentencia As String
    sentencia = "SELECT * FROM Form_intervencion_eoe WHERE motivos = '" & filtra.Value & "'"
    DoCmd.ApplyFilter sentencia, sentencia = filtra
End Sub


Lo que contiene sentencia es un código SQL para hacer un filtro en una Base de Datos ¿Correcto?

Form_intervencion_eoe es un formulario. ¿Correcto?

ApplyFilter en un Método de AutoFilter (Auto filtrado) ¿Correcto?

Bien, pues los formularios no tiene Auto Filtrado, y este último no se hace con una secuencias SQL.

Sube el libro de te miro como debes hacerlo.


Saludos.
\\//_
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
Imágen de perfil de mirta
Val: 5
Ha aumentado su posición en 2 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

filtro

Publicado por mirta (3 intervenciones) el 24/03/2020 12:42:06
Tengo que hacer varias consultas para dar luego resultados estadísticos. En este caso debo consultar x los motivos (por motivo y por año), pretendía x los motivos que aparezca la opción de elegirlo con un cuadro combinado. Desde ya muchas gracias por tu respuestas.
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