APLICACAO PARA CONFIGURACAO DE BASES DE DADOS
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 .
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 .
basta vc usar um arquivo ini para chamar este endereço
ou seja alterou o caminho no arquivo ini, altera na conexão
ou seja alterou o caminho no arquivo ini, altera na conexão
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 ?!
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:
Onde [Ô]Caminho[Ô] é a variável que aloca o caminho da Base de dados, salva no [Ô].txt[Ô].
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[Ô].
é 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.
Vou ver se tenho um exemplo para te mostrar e daqui a pouco retorno.
Até mais.
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.
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