RESULTADO DE UM RECORDSET EM MAIUSCULO
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.
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.
Firebird
SELECT UPPER(campo) FROM tabela
MySQL
SELECT UCASE(campo) FROM tabela
SELECT UPPER(campo) FROM tabela
MySQL
SELECT UCASE(campo) FROM tabela
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.
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.
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.
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?
ninguem?
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