REDIM PRESERVE

USUARIO.EXCLUIDOS 27/09/2004 14:16:41
#43621
Pessoal to com a seguinte rotina para guardar os caminhos das imagens do meu banco de dados sql.
ta dando erro no meu redim me ajudem.

SSql = "Select DS_Diretorio,TP_LogoTipo From TB_PDV_LogoTipos "
SSql = SSql & "Where ID_Empresa = '" & sEmpresa & "'"
iContadorLogoTipo = 0
iContadorMensagem = 0

Set rs = banco.Conexao.Execute(SSql)
Do While rs.EOF = False
If rs("TP_LogoTipo") = "L" Then '* Logotipo
ReDim Preserve sLogoTipo(iContadorLogoTipo)
sLogoTipo(iContadorLogoTipo) = rs("DS_Diretorio")
iContadorLogoTipo = iContadorLogoTipo + 1
Else
ReDim Preserve sMensagem(iContadorMensagem)
sMensagem(iContadorLogoTipo) = rs("DS_Diretorio")
iContadorMensagem = iContadorMensagem + 1
End If
rs.MoveNext
Loop
rs.Close

LCSD 27/09/2004 14:24:59
#43623
Resposta escolhida
Muralha

NO trecho:

        ReDim Preserve sMensagem(iContadorMensagem) 
sMensagem(iContadorLogoTipo) = rs("DS_Diretorio")
iContadorMensagem = iContadorMensagem + 1


Você incrementa o iContadorMensagem mas no Array você informa iContadorLogoTipo.

Altere e veja se funciona.


** Não use "Ajuda, Urgente, Help, Socorro" em títulos, só a dúvida OK?
[s92]
LCSD 27/09/2004 14:41:15
#43633
Muralha

Onde e como você definiu estes ARRAYs?

Ainda, foram definidos como Arrays Dinà¢micos?

sLogoTipo() as STring

Algo no sentido do exemplo acima
[s92]
LCSD 28/09/2004 11:12:04
#43741
Muralha

Veja bem, eu pedi onde e como você define a Variável, além disto precisa dizer qual erro está sendo informado.
[s50]

Eu não informei o Dim, Public, Private antes do sLogoTipo() para não influenciar a sua resposta, mas sem as 3 informações acima só sendo Vidente, se eu não sei o Erro, o Escopo da Variável nem onde ela foi declarada como posso te auxiliar?
[s55]
LCSD 28/09/2004 12:09:46
#43750
Muralha

Não irá funicona mesmo. [s55]

Note que você define a variável sLogoTipo dentro de um Procedimento, logo fora dele ela não existe, aliás, aconselho você a dormir direito!!! [s41]

Eu perguntei qual Escopo e Onde estão declaradas e o trecho do CarregaImagem pode tanto estar em um Módulo como em um Form, preste mais atenção, porque ontem este problema já poderia estar solucionado.

Então o erro agora é OUTRO é o UBound, então como comentei acima, declare a variável como Pública no Módulo e não dentro do Procedimento.

Importante: não declare como Variant, já que você sabe que será uma STRING, quem armazena a imagem é a ImgEmpresa.
[s92]
Tópico encerrado , respostas não são mais permitidas