Ordenar código VBA para buscar valores, usando saltos de línea en access

Es una pregunta para Sveinbjorn El Rojo

En muchas ocasiones me pasa que cuando inserto código VBA, para ordenarlo, tengo que realizar saltos de línea. Para ello al final de cada línea uso " _"

Sin embargo no puedo realizar el salto de línea cuando lo necesito y no sé cómo solucionarlo.

Por ejemplo:

Querría pasar a otra línea después del "or" y me da error:

RecordSource = "select * from TLibros Where libros Like '" & txt_Buscar & "' or _
libros LIKE '* " & Me.txt_Buscar & " *' OR _
libros LIKE '* " & Me.txt_Buscar & "' OR _
libros LIKE '" & Me.txt_Buscar & " *' OR _
libros LIKE '" & Me.txt_Buscar & "[,.;:]*' OR _
libros LIKE '* " & Me.txt_Buscar & "[,.;:]*' OR _
libros LIKE '[,.;:]" & Me.txt_Buscar & "' OR _
libros LIKE '[,.;:]" & Me.txt_Buscar & " *'"

Querría saltar de línea despues del '" & Me.txt_Buscar & "' y me da error:

RecordSource = "select * from Tlibros Where libros Like '" & Me.txt_Buscar & "' _
OR libros LIKE '* " & Me.txt_Buscar & " *' _
OR libros LIKE  '* " & Me.txt_Buscar & "' _
OR libros LIKE '" & Me.txt_Buscar & " *' _
OR libros LIKE '" & Me.txt_Buscar & "[,.;:]*' _
OR libros LIKE '* " & Me.txt_Buscar & "[,.;:]*' _
OR libros LIKE '[,.;:]" & Me.txt_Buscar & "' _
OR libros LIKE '[,.;:]" & Me.txt_Buscar & " *'"

Me gustaría para poder ordenar las líneas y ser más fácil visualmente repasar el código hacerlo o bien acabando la línea con "or" o bien empezando la línea con "or" pero en ninguna de las 2 opciones me vale el salto de línea con " _"

¿Cómo podría tenerlas ordenadas así las líneas de código sin que me dé error?

1 respuesta

Respuesta
1

Tienes que poner el _ fuera de las comillas y luego volver a empezar con comillas. Tan simple como eso.

He añadido un espacio y un guión bajo al final de cada línea y he empezado como me dijiste con comillas y sigue dándome error:

RecordSource = "select * from TLibros Where libros Like '" & Me.Bus & "' or _
" libros LIKE '* " & Me.Bus & " *' OR _
" libros LIKE '* " & Me.Bus & "' OR _
" libros LIKE '" & Me.Bus & " *' OR _
"libros LIKE '" & Me.Bus & "[,.;:]*' OR _
" libros LIKE '* " & Me.Bus & "[,.;:]*' OR _
" libros LIKE '[,.;:]" & Me.Bus & "' OR _
" libros LIKE '[,.;:]" & Me.Bus & " *'"

También he puesto las comillas pegadas a libros y también me da error. No sé qué hago mal. Podrías poner tú el código exacto para verlo.

Gracias

¿Y el primer OR? No veo que le pongas comillas antes del _

Para no tener estos errores, lo mejor es que pongas los saltos antes o después de un &

En cuanto a lo ponerlo antes o después de un & visualmente se me queda el código menos cómodo de leer o al menos para mí y cuando es muy largo para mí es confuso si lo pongo así:

RecordSource = "select * from TLibros Where libros Like '" & Me.Bus _

& "' or libros LIKE '* " & Me.Bus _

& " *' OR  libros LIKE '* " & Me.Bus & _

"' OR  libros LIKE '" & Me.Bus _

& " *' OR libros LIKE '" & Me.Bus _

& "[,.;:]*' OR  libros LIKE '* " & Me.Bus _

& "[,.;:]*' OR libros LIKE '[,.;:]" & Me.Bus _

& "' OR  libros LIKE '[,.;:]" & Me.Bus & " *'"

Lo que me has dicho es que:

"Tienes que poner el _ fuera de las comillas y luego volver a empezar con comillas." 

Siguiendo lo que me dices pongo guión bajo _ al final de cada línea y empiezo la siguiente con comillas pero algo falla:

Recordsource = "select * from Tlibros where libros like '" & me.Bus & "' or _
" libros LIKE '* " & me.Bus & " *' OR _
" libros LIKE '* " & me.Bus & "' OR _
" libros LIKE '" & me.Bus & " *' OR _
" libros LIKE '" & me.Bus & "[,.;:]*' OR _
" libros LIKE '* " & me.Bus & "[,.;:]*' OR _
" libros LIKE '[,.;:]" & me.Bus & "' OR _
" libros LIKE '[,.;:]" & me.Bus & " *'"

Podrías indicarme qué escribo mal en el anterior código y si es posible mostrarme cómo hacerlo. Gracias de antemano

Lo que escribes mal es lo que te llevo diciendo todo el rato: el _ tiene que ir fuera de las comillas y tú no lo estás haciendo.

Haz la prueba: si lo pones el código original todo en una linea, dejando los signos _ verás que te quedan dentro de las comillas.

Cuando te digo "Tienes que poner el _ fuera de las comillas y luego volver a empezar con comillas." me refiero a que antes del _ van unas comillas, y al comienzo de la linea otras, salvo que lo pongas antes o después de un &, que sólo lleva una en el sitio que le corresponda.

Y no veo qué diferencia hay entre ponerlo así:

OR Libros Like loquesea

O ponerlo así:

Libros Like loquesea OR

Ok

Ya he visto lo que me dices. Disculpa que me costase tanto, es que no lo entendía.

Muchas gracias por la ayuda y por tu paciencia. Es que no lo veía.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas