Fórmula en consulta de Access: Como "[A-R]*"

He encontrado esta fórmula:
Como "[A-R]*" 
Que me permite buscar en mi base de datos personas cuyos apellidos se encuentren entre la A y la R, ambas incluidas.
Me gustaría saber si es posible modificarla de forma que no haya dos letras ya fijas como la "a" y la "r", sino que cada vez que acceda a la consulta me aparezca una ventana en la que yo tenga que introducir la letra que yo quiera. Con otras fórmulas he sido capaz de hacerlo, pero no con esta. He probado lo siguiente (que fue lo que hice con otras fórmulas) y no me funciona:
Como "[[Introducir letra]-[Introducir letra]]*"

1 Respuesta

Respuesta
1
Se me ocurre esta manera, desde código, a mí me ha funcionado.
Creamos una consulta vacía que he llamado 'ConsultaAlfabetica"
Sub consultaPorLetras()
  Dim sql As String
  Dim inicial As String, final As String
  inicial = InputBox("letra inicial", "b")
  final = InputBox("letra final", "f")
  sql ="SELECT dbo_PMSUP.PMSPNOM FROM dbo_PMSUP WHERE (((dbo_PMSUP.PMSPNOM) "
  sql = sql & " Like '[" & inicial & "-" & final & "]*'));"
  CurrentDb.QueryDefs("ConsultaAlfabetica").sql = sql
  DoCmd.OpenQuery "ConsultaAlfabetica"
End Sub
Los inputbox los puedes sustituir por campos de un formulario, o de cualquier otra manera que te parezca.
Suerte
Muchas gracias por tu respuesta.
El problema es que no sé exactamente dónde tengo que introducir el código que propones, ni tampoco entiendo a qué te refieres con que puedo sustituir los inputbox por campos de un formulario.
Disculpa mi ignorancia, es que soy nuevo en Access y desconozco la terminología :)
Muchas gracias de nuevo.
Access, como habrás visto en la pantalla inicial, además de tablas y consultas tiene también Formularios, Informes y Módulos. Lo primero que te puedo sugerir es que busques en la red algún tutorial de access, verás la potencia que tiene esta aplicación, pues con ella puedes diseñar tus propios programas.
Para que te inicies un poco, prueba a hacer esto:
1.- En consultas, crea una que se llame 'ConsultaAlfabetica', y pon cualquier consulta (no importa lo que hagas, pues después el código la reescribirá).
2.- En 'Módulos, crea uno nuevo e inserta este código (puedes copiar y pegar)
Sub consultaPorLetras()
  Dim sql As String
  Dim inicial As String, final As String
  inicial = InputBox("Inserta letra Inicial", "Inicial", "b")
  final = InputBox("Inserta letra Final", "Final", "f")
  sql ="SELECT tabla.campo FROM tabla WHERE (((campo) "
  sql = sql & " Like '[" & inicial & "-" & final & "]*'));"
  CurrentDb.QueryDefs("ConsultaAlfabetica").sql = sql
  DoCmd.OpenQuery "ConsultaAlfabetica"
End Sub
(Sobra decir que en lugar de 'tabla' y 'campo' tendrás que poner el nombre de tu tabla y de tu campo).
3.- Con el cursor situado en cualquier punto del interior de estas líneas de código, presiona la tecla F5
Te pedirá la letra inicial (te he puesto para que te ponga por defecto la 'b', pero puedes cambiarla), luego la final (lo mismo, te he puesto la 'f'), y después se abrirá la consulta deseada.
Suerte
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;"><strong style="font-size: 25px; color: #0000ff;">631051793</div>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas