Pessoalmente, costumo fazer alguns programas de banco de dados, por isso tenho um conhecimento profundo do problema de como fazer a interface entre os programas e o banco de dados, porque quando o VB se conecta ao banco de dados, geralmente é estático, ou seja, o caminho onde o banco de dados está armazenado é corrigido, como Ao usar DATA do VB, adodc, DataEnvironment, etc. para conectar-se ao banco de dados, se o caminho para armazenar o banco de dados for alterado, o caminho não será encontrado, o que é realmente irritante.
A solução do autor é usar app.path para resolver esse problema.
1. Use o controle de dados para conectar-se ao banco de dados, como segue:
Coloque no processo form_load():
PRivateform_load()
Definição de DimstrAsString
str=App.Path
IfRight(str,1)<>"/"Então
str=str "/"
FimSe
data1.databasename=str&"/nome do banco de dados"
data1.recordsource="nome da tabela de dados"
dados1.atualização
subenviar
O significado dessas frases é abrir o banco de dados no diretório onde o programa atual está sendo executado.
Você só precisa ter certeza de que seu banco de dados está no diretório onde seu programa está localizado.
2. Use adodc (ADODataControl) para link de banco de dados:
privateform_load()
Definição de DimstrAsString
str=App.Path
IfRight(str,1)<>"/"Então
str=str "/"
FimSe
str="Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource="&str&"/tsl.mdb"
Adodc1.ConnectionString=str
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="selecione*fromtable3"
Adodc1.Atualizar
final
3. Use DataEnvironment para vinculação de banco de dados
Você pode colocar no processo:
OnErrorResumePróximo
IfDataEnvironment1.rsCommand1.State<>adStateClosedThen
DataEnvironment1.rsCommand1.Close'Se abrir, feche
FimSe
'i=InputBox("Digite o número do amigo:", "Enter")
'Ifi=""EntãoSairSub
DataEnvironment1.Connection1.OpenApp.Path&"/userdatabase/tsl.mdb"
DataEnvironment1.rsCommand1.Open"select*fromtable3where número='"&i&"'"
'SetDataReport2.DataSource=DataEnvironment1
'DataReport2.DataMember = "comando1"
'DataReport2.show
final
4. Programação usando ADO (ActiveXDataObjects):
Estabeleça uma conexão:
dimconnasnewadodb.connection
dimrsasnewadodb.recordset
dimstr
str=App.Path
IfRight(str,1)<>"/"Então
str=str "/"
FimSe
str="Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource="&str&"/tsl.mdb"
conn.openstr
rs.cursorlocation=aduseclient
rs.open"nome da tabela de dados",conn,adopenkeyset.adlockpessimistic
Feche o banco de dados após o uso:
conexão.fechar
setconn=nada->