REFERENCIAR VARIAVEL POR VALOR DE STRING
Boa tarde galera.
Tenho um cliente onde utiliza num mesmo servidor 3 sistema iguais, porém em base de dados diferentes.
(eu sei que o ideal seria fazer multi empresa, porem o cliente preferiu nao fazer assim)
Agora estou precisando criar um módulo para exibir num grid dados de uma determinada tabela.
Como são apenas 3 e a chance de aumentar são bem remotas, criei 3 variaveis de conexao (base1,base2 e base3) e abri as 3 normalmente.
Ai para exibir preenchi um combobox com o nome das variaveis correspondentes as conexoes(base1, base2 e base3)
Ok. Só que apenas uma delas está dando certo.
Vou colocar trecho do código para ficar mais claro.
O primeiro laço funciona normalmente, porem a partir do segundo item do combo não da certo.
Recebo o erro [Ô]Nome da fonte de dados não encontrato ou nenhum driver padrao especificado [Ô]
Alguém tem alguma sugestão de como resolver ou de outra maneira que posso fazer isto ?
Tenho um cliente onde utiliza num mesmo servidor 3 sistema iguais, porém em base de dados diferentes.
(eu sei que o ideal seria fazer multi empresa, porem o cliente preferiu nao fazer assim)
Agora estou precisando criar um módulo para exibir num grid dados de uma determinada tabela.
Como são apenas 3 e a chance de aumentar são bem remotas, criei 3 variaveis de conexao (base1,base2 e base3) e abri as 3 normalmente.
Ai para exibir preenchi um combobox com o nome das variaveis correspondentes as conexoes(base1, base2 e base3)
Ok. Só que apenas uma delas está dando certo.
Vou colocar trecho do código para ficar mais claro.
For i = 0 To cmbUnidade.ListCount - 1
If cmbUnidade.List(i) = [Ô]TODOS[Ô] Then Exit For [ô]SE O ITEM FOR [ô]TODOS[ô] sai do laço
varUnidadeUtilizar = LCase(CStr(cmbUnidade.List(i)))
entra_no_enche_list:
sql = [Ô][Ô]
sql = [Ô]select f.*, c.* from frete as f INNER JOIN controleabastecimento as c [Ô]
sql = sql & [Ô] on (f.codabastecimento = c.codigo) where f.placa=[ô][Ô] & cmbPlaca & [Ô][ô][Ô]
varDataInicio = diainicio & [Ô]/[Ô] & cmbMes.ListIndex + 1 & [Ô]/[Ô] & cmbAno
varDataFim = diafim & [Ô]/[Ô] & cmbMes.ListIndex + 1 & [Ô]/[Ô] & cmbAno
sql = sql & [Ô] and data between [ô][Ô] & Format(varDataInicio, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(varDataFim, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô][Ô]
Set dsmostra = New ADODB.Recordset
dsmostra.open sql, varUnidadeUtilizar, adOpenKeyset, adLockOptimistic [ô] aqui a conexao
grid.Rows = 1
With grid
Dim varTotalAReceber As Double
Dim varTotalPagar As Double
Do While Not dsmostra.EOF
.Rows = grid.Rows + 1
[ô]enche o grid aqui
dsmostra.MoveNext
Loop
End With
Next
O primeiro laço funciona normalmente, porem a partir do segundo item do combo não da certo.
Recebo o erro [Ô]Nome da fonte de dados não encontrato ou nenhum driver padrao especificado [Ô]
Alguém tem alguma sugestão de como resolver ou de outra maneira que posso fazer isto ?
tente colocar isso antes do NEXT do FOR
dsmostra.close
Set dsmostra = Nothing
veja se resolve o problema
Caso não resolva me mostre quais os valores estão passando na variavel varUnidadeUtilizar
dsmostra.close
Set dsmostra = Nothing
veja se resolve o problema
Caso não resolva me mostre quais os valores estão passando na variavel varUnidadeUtilizar
FILMAN, não deu certo.
O que fiz agora é uma function para retornar a string de conexao, então eu fiz uma variavel ADODB.CONNECTION no meu for para a cada um eu conecto naquela base de dados e mostro os dados.
Obrigado pela ajuda,
O que fiz agora é uma function para retornar a string de conexao, então eu fiz uma variavel ADODB.CONNECTION no meu for para a cada um eu conecto naquela base de dados e mostro os dados.
Obrigado pela ajuda,
Tópico encerrado , respostas não são mais permitidas