MODULO X PATH

WEBIER 21/05/2004 09:34:02
#25917
Recentemente criei um modulo onde coloquei o path (endereço) de meu banco de dados para ser procurado do modulo, ou seja, cada formulario inves de ter aquela linha:
Set bd = OpenDatabase(App.Path & "\dados.mdb")
terá a seguinte linha:
call ABRIR_BD()

Os codigos que usei no modulo foram os seguintes:
'no general_declaration
Global bd As Database

'na sub "ABRIR_BD"
Sub ABRIR_BD()
Set bd = OpenDatabase(App.Path & "\CYBERBASE.mdb")
End Sub

Os codigos que usei no form foram:

'no form_load
call ABRIR_BD()
Set TBCliente = bd.OpenRecordset("CLIENTES", dbOpenTable)
TBCcliente.Index = ("INDEX_CODIGO")

Toda vez que abrir aquele formulario inves de ter que endereço do banco de dados local (no form) ele buscará no modulo.

MEU PROBLEMA:
Tenho Datacontrol nos meus formularios.
Uso para abrir um banco de dados o seguinte codigo:
Data1.DatabaseName = (App.Path & "\dados.mdb")

se eu colocar esse linha na sub ABRIR_BD ele vai dizer que não existe o objeto Data1, então terei que mudar a linha para que fique assim:
FormX.Data1.DatabaseName = (App.Path & "\dados.mdb")

Só que existem varios formularios, usando 1, 2, 3... datacontrolÂÂÂ's...
vai ficar uma trabalhão ter que criar uma sub no modulo para cada um deles...

imagina:
Form1.Data1.DatabaseName = (App.Path & "\dados.mdb")
Form2.Data1.DatabaseName = (App.Path & "\dados.mdb")
Form3.Data1.DatabaseName = (App.Path & "\dados.mdb")
Form4.Data1.DatabaseName = (App.Path & "\dados.mdb")
...até o form30

eu tentei assim:

Me.Data1.DatabaseName = (App.Path & "\dados.mdb")
mas ele não aceita.

Como vou colocar num modulo o caminho de um BD usando um DataControl sem especificar o form ?
USUARIO.EXCLUIDOS 21/05/2004 09:46:55
#25922
Resposta escolhida
nao parece tao dificil assim

'na sub "ABRIR_BD"
Sub ABRIR_BD()
Set bd = OpenDatabase(App.Path & "\CYBERBASE.mdb")
End Sub

coloca

Sub Abrir_BD(objData as Data,Byval CaminhoBanco as string)
Set bd = OpenDatabase(CaminhoBanco)
objData.Databasename = CaminhoBanco
End Sub

na hora de chamar
Abrir_BD me.Data1, app.path & "\dados.mdb"
Abrir_BD Form2.Data1, app.path & "\CyberBase.mdb"

vc trabalhava com o vb3, certo?

USUARIO.EXCLUIDOS 21/05/2004 10:47:43
#25951
na verdade o que coloquei foi apenas uma maneira de voce trabalhar com parametrtos - vc precisa definir o que precisa e passar na chamada os parametros corretos
Tópico encerrado , respostas não são mais permitidas