RESULTADO DE UM RECORDSET EM MAIUSCULO

RICATOM 09/03/2010 17:00:07
#336458
Boa tarde colegas

Existe alguma maneira de deixar todo o resultado de um recordset em maiusculo?

Não quero usar Ucase em cada field, pois o trabalho seria muito grande.


Obs: Pode ser também na propria instrução SQL, desde que funcione em Firebird e Mysql.

Abs.
TECLA 09/03/2010 17:02:33
#336459
Firebird
SELECT UPPER(campo) FROM tabela

MySQL
SELECT UCASE(campo) FROM tabela
RICATOM 09/03/2010 17:06:30
#336460
Oi tecla

Sei destas funções, mas teria que alterar centenas de campos em dezenas de sql[ô]s, precisaria de algo para alterar todo o resultado de uma vez.

Deixa eu explicar para o que eu preciso:

O cliente vai ter uma opçao se deseja cadastrar e consultar, tudo em maiusculo ou livre, então se ele marca a opção maiusculo, deverá visualizar as consultas, etc tudo em maiusculo.
FFCOUTO 09/03/2010 20:20:02
#336478
procure pela propriedade COLLATE, lá vc vai encontrar a forma de como por um campo com letras maiúsculas, minúsculas, ordem alfabética entre outros.
RICATOM 10/03/2010 09:10:59
#336511
Citação:

FFCOUTO escreveu: procure pela propriedade COLLATE, lá vc vai encontrar a forma de como por um campo com letras maiúsculas, minúsculas, ordem alfabética entre outros.



Não localizei, tem algum exemplo disso?
RICATOM 17/03/2010 08:55:38
#337149
ninguem?
RICATOM 27/04/2010 12:09:53
#340350
Como não achei uma solução, criei a função abaixo:

  Public Function ConverteSQLMai(ByVal SQL As String) As String
Dim varSql As String
Dim NovaSql As String
Dim Campos() As String
Dim Posicao As Integer
Dim i As Integer
Dim Mai As String
[ô]
If TipoBD = [Ô]FIREBIRD[Ô] Then
Mai = [Ô]UPPER([Ô]
Else
Mai = [Ô]UCASE([Ô]
End If
[ô]
varSql = UCase(SQL) [ô]deixa eu maiusculo
[ô]
varSql = Mid(varSql, 8) [ô]pega a string a partir do SELECT

Debug.Print varSql
[ô]
If InStr(varSql, [Ô]SKIP[Ô]) Then
Debug.Print [Ô]Skip: [Ô] & InStr(varSql, [Ô]SKIP[Ô])
End If
[ô]
Posicao = InStr(varSql, [Ô]FROM[Ô]) - 2 [ô]pega a posição do FROM
[ô]
Campos = Split(Mid(varSql, 1, Posicao), [Ô],[Ô])
[ô]
i = 0
For i = 0 To UBound(Campos)
NovaSql = NovaSql & Mai & Campos(i) & [Ô]), [Ô]
Next
[ô]
If Right(NovaSql, 2) = [Ô], [Ô] Then
NovaSql = Mid(NovaSql, 1, Len(NovaSql) - 2)
End If
[ô]
NovaSql = [Ô]SELECT [Ô] & NovaSql & [Ô] [Ô] & Mid(varSql, Posicao + 2)

End Function
Tópico encerrado , respostas não são mais permitidas