Discussion:
Buscar cadena con buildcriteria
(demasiado antiguo para responder)
Wally
2013-04-01 23:10:27 UTC
Permalink
Estoy tratando de usar buildcriteria con los resultados de un combobox el problema es que tengo registros que incluyen una "coma" y me genera un error, por ejemplo (solo lo que esta dentro de las comillas):

"Empresa 1, S. A. de C. V."
"Empresa 2, S. A."

El criterio que trato de armar es para filtrar los resultados de un formulario en vista de tabla.

Ya he hecho algunas pruebas y el problema lo genera la "coma", ahora bien, la más fácil sería quitarle la "coma" a los registros en la tabla...

¿Cómo se pueden construir este tipo de criterios teniendo la "coma"?, gracias de antemano por su aportación...
José Mª Fueyo
2013-04-02 10:13:23 UTC
Permalink
Hola Wally
No nos dices que versión de Access utilizas.
¿Probaste a reemplazar la "," por un "?", como carácter comodín?

Salu2
--
José Mª Fueyo
[MS MVP Access]
Emilio
2013-04-02 16:30:49 UTC
Permalink
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!
para salvar ese problema hace años que "rediseñe" BuildCriteria

'*******************************************************************************
'* BuildCriteria
'* permite reemplazar la función BuildCriteria original, "salvando" los
'* inconvenientes que esta presenta con ciertos caracteres, y, o, (, ), . &
'* he respetado el nombre y formato originales con objeto de que sea
totalmente
'* transparente al usuario
'* Argumentos: strCampo => Nombre del campo
'* dbTipo => tipo de campo
'* strExpresion => Criterio que debe cumplirse
'* blnClasica => (opcional True) utiliza directamente la
función
'* original o no (por defecto si)
'* uso: strCadena = BuildCriteria("Campo", dbText, "=" & "Juan y Pedro")
'* devuelve Campo="Juan" And Campo="Pedro"
'* strCadena = BuildCriteria("Campo", dbText, "=" & "Juan y Pedro",
False)
'* devuelve Campo="=Juan y Pedro"
'* http://www.mvp-access.es/emilio/
'* Si utilizas este código, respeta la autoría y los créditos
'* ESH 12/11/06 18:51
'*******************************************************************************

Public Function BuildCriteria(strCampo As String, dbTipo As DataTypeEnum,
strExpresion As String, Optional blnClasica As Boolean = True) As String

If Not blnClasica Then
strExpresion = Application.BuildCriteria(strCampo, dbTipo, "=" & """" &
strExpresion & """")
Else
strExpresion = Application.BuildCriteria(strCampo, dbTipo, "=" &
strExpresion)
End If

' devuelvo el resultado
BuildCriteria = strExpresion
End Function ' BuildCriteria

en la ventana inmediato:
?BuildCriteria("Empresa",dbChar, "Empresa 1, S. A. de C. V.")
Empresa="Empresa 1, S. A. de C. V."

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
Wally
2013-04-08 21:33:23 UTC
Permalink
Gracias por el apoyo la solución me funciono a la perfección...
Post by Wally
"Empresa 1, S. A. de C. V."
"Empresa 2, S. A."
El criterio que trato de armar es para filtrar los resultados de un formulario en vista de tabla.
Ya he hecho algunas pruebas y el problema lo genera la "coma", ahora bien, la más fácil sería quitarle la "coma" a los registros en la tabla...
¿Cómo se pueden construir este tipo de criterios teniendo la "coma"?, gracias de antemano por su aportación...
Loading...