Notifications
Clear all

Aspas padrão Português (”) X Aspas padrão Inglês (")

3 Posts
1 Usuários
0 Reactions
719 Visualizações
(@dreansb)
Posts: 12
Active Member
Topic starter
 

Srs(a), bom dia.

Estou desenvolvendo uma planilha que guarda os dados em Access via macro (até aqui tudo normal) já fiz algumas assim:
guardo números, textos, datas, etc. (INSERT INTO...), recupero-os (SELECT...) atualizo (UPDATE), em fim... SQL VBA...
Só que, agora deparei-me com seguinte problema:
numa determinada célula preciso guardar valores de minutos e segundos com os símbolos de praxe, por ex.:
45" (45 segundos)
1'30" (1 minuto e 30 segundos)
ou até mesmo um intervalo: 45" - 1'30" (de 45 segundos a 1 minuto e trinta segundos)
Por isso estou considerando estes campos como texto no access.
Acontece que, quando digito, este texto em uma máquina com teclado padrão Português (ou seja 45”) tudo corre bem porém, quando o faço em uma máquina com teclado padrão Inglês (ou seja 45") dá o seguinte erro:

Erro em tempo de execução '3075':
Erro de sintaxe (operador faltando) na expressão de consulta...

Agora fiquei com uma pulga atrás da orelha...
...ainda não aconteceu mas, e se um usuário resolver digitar um texto com aspas (") em qualquer outro campo texto?
afinal texto é texto né? Seja no padrão Inglês ou Português.

Gostaria da opinião de vcs a respeito. Tem como contornar isso?

Obrigado.

 
Postado : 02/07/2015 8:34 am
(@dreansb)
Posts: 12
Active Member
Topic starter
 

Pessoal desculpa ái...
o problema não tem nada a ver com configuração do teclado...
..mas é tão absurda quanto...
lembrei-me de que os valores que tentei fazer o INSERT foram colados na célula (foram copiados de um documento do Word).
Só que no Word quando digito aspas elas saem assim: ” (essa eu copiei e colei do Word) e se eu digitar aqui ou no excel elas saem assim: ".
E, como expliquei acima, o INSERT só funciona com as aspas do Word.
Será que isso ajuda na solução do problema?
Vlw

 
Postado : 02/07/2015 5:06 pm
(@dreansb)
Posts: 12
Active Member
Topic starter
 

Oi pessoal...
a solução que encontrei foi, antes de gravar, substituir todas as aspas (") por (”), assim:

seleciono o range necessário e...
Selection.Replace What:="""", Replacement:="”", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

de qualquer forma agradeço a todos.

 
Postado : 03/07/2015 10:54 am