Olá amigos preciso da vossa preciosa ajuda
Tenho uma bd ja bastante extensa onde utilizo um formulário com campo texto para pesquisa onde ao digitar actualiza uma cx de listagem com o código requery onchange
Um problema que desde inicio me deparei foi com as palavras acentuadas, ou seja, por exemplo ao digitar "cesar", deveriam aparecer todos os "cesar" e todos os "césar".´
Andei por aqui a pesquisar e encontrei algumas soluções que infelizmente não resultaram.
Criei também o seguinte módulo que retirei de uma outra publicação daqui:
SELECT utentes.id_interno, utentes.SNS, utentes.nome_utente, utentes.c_saude, utentes.dt_nasc, utentes.sexo, utentes.situacao_utente, Int(((Date()-[dt_nasc])-1)/365.25) AS Idade FROM utentes WHERE (((utentes.SNS) Like "*" & [Forms]![update_utentes]![pesquisa].[Text] & "*")) OR (((utentes.nome_utente) Like "*" & TodosAcentos([Forms]![update_utentes]![pesquisa].[Text]) & "*")) OR (((utentes.dt_nasc) Like "*" &
A questão está que continua a dar erro dizendo que A função TodosAcentos não está definida na expressão tal com está na foto.
O que posso estar a fazer mal?
Toda a ajuda será bem vinda.
Obrigado
Tenho uma bd ja bastante extensa onde utilizo um formulário com campo texto para pesquisa onde ao digitar actualiza uma cx de listagem com o código requery onchange
Um problema que desde inicio me deparei foi com as palavras acentuadas, ou seja, por exemplo ao digitar "cesar", deveriam aparecer todos os "cesar" e todos os "césar".´
Andei por aqui a pesquisar e encontrei algumas soluções que infelizmente não resultaram.
Criei também o seguinte módulo que retirei de uma outra publicação daqui:
- Código:
Option Compare Database
Public Function TodosAcentos(pstrPlain As String) As String
Const cAlphabet _
= "aáàâäãå¦" _
& "cç¦" _
& "dð¦" _
& "eéèêë¦" _
& "f?¦" _
& "iíìîï¦" _
& "nñ¦" _
& "oóòôöõø¦" _
& "saߦ" _
& "uúùûü¦" _
& "yýÿ¦" _
& "z~"
Dim strAcc() As String
Dim strLike As String
Dim intN As Integer
Dim strP As Integer
Dim strC As String
strAcc = Split(cAlphabet, "¦")
For strP = 1 To Len(pstrPlain)
strC = Mid$(pstrPlain, strP, 1)
For intN = LBound(strAcc) To UBound(strAcc)
If InStr(strAcc(intN), strC) = 1 Then
strC = "[" & strAcc(intN) & "]"
Exit For
End If
Next intN
strLike = strLike & strC
Next strP
TodosAcentos = strLike
End Function
SELECT utentes.id_interno, utentes.SNS, utentes.nome_utente, utentes.c_saude, utentes.dt_nasc, utentes.sexo, utentes.situacao_utente, Int(((Date()-[dt_nasc])-1)/365.25) AS Idade FROM utentes WHERE (((utentes.SNS) Like "*" & [Forms]![update_utentes]![pesquisa].[Text] & "*")) OR (((utentes.nome_utente) Like "*" & TodosAcentos([Forms]![update_utentes]![pesquisa].[Text]) & "*")) OR (((utentes.dt_nasc) Like "*" &
A questão está que continua a dar erro dizendo que A função TodosAcentos não está definida na expressão tal com está na foto.
O que posso estar a fazer mal?
Toda a ajuda será bem vinda.
Obrigado