APLICACAO PARA CONFIGURACAO DE BASES DE DADOS

DANLEONHART 17/03/2011 06:03:36
#368217
Estou alterando a estrutura de uma aplicação, e nela estou colocando um Form com as mesmas funcionalidades de arquivo [Ô][txt-color=#0000f0].UDL[/txt-color][Ô]...entedem...para configurar a base de dados desejada.

Porém, não sei como fazer para que a string de conexão colocada seja sempre carregada, até que sofra uma alteração do endereço da Base de Dados.

Tipo:

A aplicação está com String de conexão : [Ô]C:\Database.mdb[Ô]... então sempre será acessada esta base logo de inicio...até que alterem o endereço da base de dados.

Bem, o mesmo que o arquivo [txt-color=#0000f0]UDL[/txt-color] faz .
MARCELO.TREZE 17/03/2011 10:21:12
#368243
basta vc usar um arquivo ini para chamar este endereço

ou seja alterou o caminho no arquivo ini, altera na conexão
DANLEONHART 17/03/2011 17:35:17
#368310
Mas tem de ter uma opção na aplicação para o usuário escolher se deseja alterar...dessa forma, estou entendendo que, se houver necessidade de alterar o caminho, terei que abrir o arquivo [Ô].INI[Ô] para alterar...correto ?!
DANLEONHART 18/03/2011 07:17:28
#368355
Pessoal, conseguí usando o FileSystemObject, através dele gravo em um [Ô].txt[Ô] o caminho da base de dados...o porém agora é como faço para no Load do Form lançar essa informação em uma Function de um Module...

Tenho configurado o acesso ao BD em um Módulo, então para completar a string de conexão tenho que pegar o caminho do banco...
Tipo:

Public Function AbBase()
Set Con = New ADODB.Connection
Con.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Caminho
End Function


Onde [Ô]Caminho[Ô] é a variável que aloca o caminho da Base de dados, salva no [Ô].txt[Ô].
PERCIFILHO 18/03/2011 08:05:18
#368356
é quase o mesmo que o Marcelo-Treze disse. Ao invés de gravar um arquivo .txt, grava-se um arquivo .ini, daí usa-se as funções para ler o arquivo ini e jogar essa informação no seu [Ô]caminho[Ô].

Vou ver se tenho um exemplo para te mostrar e daqui a pouco retorno.

Até mais.
PERCIFILHO 18/03/2011 08:18:57
#368362
Resposta escolhida
Tenho um sistema, onde, quando vou imprimir um relatório, gravo em um arquivo .INI o caminho e nome do relatório que quero imprimir.
Depois em um visualizador de relatórios, uso esses dados gravados no .INI para ler e visualizar o relatório especificado.
Funciona dessa maneira:
Uso o Print#1,..... para gerar um relatório em arquivo .TXT
No final, uso:
Call WriteINI([Ô]Geral[Ô], [Ô]File[Ô], App.Path & [Ô]\MeuRelatorio.txt[Ô], App.Path & [Ô]\printme.ini[Ô])
Shell (App.Path & [Ô]\printme.exe[Ô])

A função WriteINI, grava no arquivo .INI dessa maneira:
[Geral]
file=c:\MinhaPasta\MeuRelatorio.txt
O comando Shell vai abrir o visualizador de relatório.
O visualizador de relatórios vai abrir com a função ReadINI:

Sub Main()
nomearquivo = ReadINI([Ô]Geral[Ô], [Ô]file[Ô], App.Path & [Ô]\printme.ini[Ô])
PrintMe.Show
End Sub

A função ReadINI lê o arquivo .INI e me mostra o arquivo que será visualizado.

é mais ou menos por aí. Se estiver errado, alguém me corrige.

Se quiser, aqui estão as funções ReadINI e WriteINI (devem estar no módulo):

Public Function ReadINI(Secao As String, Entrada As String, Arquivo As String)
[ô]Arquivo=nome do arquivo ini
[ô]Secao=O que esta entre [ ]
[ô]Entrada=nome do que se encontra antes do sinal de igualPrint
Dim retlen As String
Dim Ret As String
Ret = String$(255, 0)
retlen = GetPrivateProfileString(Secao, Entrada, [Ô][Ô], Ret, Len(Ret), Arquivo)
Ret = Left$(Ret, retlen)
ReadINI = Ret
End Function

Public Sub WriteINI(Secao As String, Entrada As String, Texto As String, Arquivo As String)
[ô]Arquivo=nome do arquivo ini
[ô]Secao=O que esta entre [ ]
[ô]Entrada=nome do que se encontra antes do sinal de igual
[ô]texto= valor que vem depois do igual
WritePrivateProfileString Secao, Entrada, Texto, Arquivo
End Sub

Espero ter ajudado.

Até mais.
Tópico encerrado , respostas não são mais permitidas