Ir para conteúdo
Fórum Script Brasil
  • 0

VB6 Adodc


sadjuan

Pergunta

oi galera.

tou comum problema, eu fiz um peuqeno exercicio em VB6, criei o setup e ate aqui não há problemas.

O problema surge quando vou instalar numa maquina que não tem o visual studio 6 la instalado, ele instala perfeitamente mas quando eu abro um form que tem um Adodc, ele da um aviso a dizer que não encontrou a base de dados.

mas quando eu estiver a fazer o exercicio eu configurei nas propriedades do Adodc no CONNECTIONSTRING=Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=BANCO_DADOS.mdb.

Na maquina onde eu estava a fazer o exercicio ele sempre encontra o banco de dados, mas basta eu instalar numa outra maquina para ele dar esta mensagem que falei mais acima.

estou a usar o modo de conexao ADO

agradecia que alguém me ajudasse a soluccionar mas este problema.

Editado por sadjuan
Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

você precisa alterar o diretorio do banco de dados no ADODC, por exemplo:

você criou o projeto onde o Banco estava em C:\meus documentos\meu projeto\BD.mdb

Então quando você cria o setup e instala o programa em outro micro o controle ADODC vai procurar o Banco de dados no mesmo diretorio, ou seja, em: C:\meus documentos\meu projeto\BD.mdb

você precisa colocar um codigo para informar ao ADODC onde está o banco de dados, minha opinião, abra uma conexão e no FORM passe esta conexão para o ADODC

utilize a seguinte conexão: precisará inserir a referencia à biblioteca Microsoft ActiveX Data Objects 2.8 Library

public cnn as New ADODB.Connetion

cnn.ConnectionString = "provider = microsoft.jet.oledb.4.0;" & _
"data Source = " & App.Path & "\BANCO_DADOS.mdb;"
cnn.CursorLocation = adUseClient
cnn.Open
depois no load do form onde esta o ADODC coloque
Private Sub Form_Load()
Adodc1.ConnectionString = cnn
End Sub

Assim o ADODC sempre buscara o banco onde ele foi instalado junto ao EXE

Editado por Macêdo
Link para o comentário
Compartilhar em outros sites

  • 0

Oi.

eu experimentei colocar no form no evento load o codigo que foi postado que e:

adodc1.connectionstring=cnn

quando eu executei o programa no meu pc onde tenho o visual studio 6 instalado ele da a seguinte msg quando abr o form que tem o adodc:

[Microsoft][ODBC Driver Maneger] Data Source Name Not Found And no Default Driver Specifield.

Nem experimentei ir instalar em um outro micro que não tem o visual studio instalado, porque acho que se no meu onde tenho o visual instalado ele da esta msg e não mostra os dados, la num outro pc tambem fara o mesmo.

Vouy explicar como mais ou menos esta o meu programa:

eu fiz um pequeno exercicio em VB6, criei o setup e fui instalar em uma outra maquina que não tem o visual studio instalado.

consigo abrir o programa, consigo tambem inserir,alterar e apagar os dados que tenho na base de dados, nestes forms onde consigo inserir,alterar e apagar os dados não tenho nenhum controle ADODC, uso o modo de conexao com o banco de dados ADO, mas em alguns form's eu inseri o Adodc, o problema surge quando abro estes forms ele da uma msg a dizer que não encontrou a base de dados. eu configurei na propriedade do Adodc no connectionstring o seguinte:

Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=PGE_New.mdb

mas ele não encontra o banco de dados.

neste pequeno exercicio eu inseri um modulo onde tenho a conexao com o banco de dados, que e a seguinte:

conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\BD.mdb"

conn.Open

cmd.ActiveConnection = conn

frmSplash.Show

agradecia que me ajudassem a resolver o problema.

Editado por sadjuan
Link para o comentário
Compartilhar em outros sites

  • 0

Se o nome de sua conexao é (conn) então o codigo a ser colocado no form que contem o ADODC é :

Private Sub Form_Load()
Adodc1.ConnectionString = conn
End Sub

Veja que o codigo informa o nome da conexão ao ADODC, como você colocou da forma que postei (cnn) ele gerou erro pois o nome de sua conexão não é (cnn) e sim (conn), entendeu ?

Link para o comentário
Compartilhar em outros sites

  • 0

Oi amigo Macêdo voltei a coloca-lo como disse mas continua a dar a mesma msg.

[Microsoft][ODBC Driver Maneger] Data Source Name not Found And no Default Driver Specifield

coloquie como explicaste no evento load do form onde tem o controle:

Adodc1.ConnectionString = conn

e apaguei nas propridades do ADODC1 onde antes eu tinha:

Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=PGE_New.mdb

Adicionei tambem à biblioteca Microsoft ActiveX Data Objects 2.8 Library

continua co a mesma msg.

agradecia que me ajudasse please.

Editado por sadjuan
Link para o comentário
Compartilhar em outros sites

  • 0

oi amigo kuroi.

eu estou adicionando o banco de dados quando tou a fazer o instalador, mesmo quando faco com o packege & Deployment Wizard, e mesmo dep[ois quando vou fazer com o inno setup com foi explicado num dos post feitos neste forum pelo Rizuane se a memoria não me falha.

o meu programa de um modulo onde eu coloquei a conexao que e:

Public Sub Main ()
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\BD.mdb"
conn.Open
cmd.ActiveConnection = conn
frmSplash.show
End Sub
e insiri o codigo no evento load do form onde tenho o ADODC1 que e o codigo que o amigo Macêdo postou que e o seguinte:
Private Sub Form_Load()
Adodc1.ConnectionString = conn
End Sub
e tambem configura nas propriedades do ADODC no recordsource o nome da tabela, e mais nada. criu o instalador com o PDW, depois com o inno para registrar as DDL's e OCX's, todas as DDL's e OCX's e a base de dados vou buscar na pasta suport criada pelo PDW. Gostaria de saber se eu estou indicando mal a conexao entre o ADODC e o banco de dados? porque quando vou instalar em um PC que não tenha o Visual Studio 6 la instalado, quando executo o programa ele corre normalmente, nos form's onde não tem nenhum ADODC, visto que no programa so coloquei os ADODC em alguns forms para que ele mostre todos os dados de uma tabela sempre actualizados em uma Grid. não sera preciso configurar mais nada no ADODC? Antes eu configurava o ADODC na propriedade connectionstrings o seguinte:
Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=BD.mdb
e no recordsource o nome da Tabela, Punha para rodar e ele mostrava todos os dados como pretendido, o problema surgia quando instalava em um micro que não tem o pacote visual studio. Depois o Macêdo disse pa eu por assim nos forms onde tenho o ADODC:
Private Sub Form_Load()
Adodc1.ConnectionString = conn
End Sub

e no recorsource o nome da tabela, mas quando ponho a rodar ainda no meu PC ele da o seguinte msg:

[Microsoft][ODBC Driver Maneger] Data Source Name not Found And no Default Driver Specifield

e não mostra nada, apenas a grid vazia. Logo eu penso, se no micro onde tem o visual Studio 6 instalado ele não mostra os dados, nem vale a pena eu fazer o instalador porque acho que num outro pc que não tenha o Visual Studio 6 tambem não ira mostrar tambem os dados na Grid.

O Vosso apoio tem sido muito importante para mim.

aguardo pela vossa ajuda.

Editado por sadjuan
Link para o comentário
Compartilhar em outros sites

  • 0

esse codigo aqui acho q não funciona:

Adodc1.ConnectionString = conn
o conn é um objeto connection, você teria q passar uma string. tente assim:
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\BD.mdb"

Link para o comentário
Compartilhar em outros sites

  • 0

oi Amigo Kuroi, experimentei fazer o que disseste. Ou seja Fiz o seguinte:

Cloquei o codigo no evento load dos form's onde tenho o ADODC's

Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\BD.mdb"
End sub

quando rodei o programa ele deu a seguinte msg:

Format of the inicialization string does not conform to the OLE DB specification

e não mostrou os dados, apenas a grid vazia.

Sera que coloquei algo errado? Na propriedade do ADODC1 onde tem connectionString devo deixar em branco?

Aguardo a vossa ajuda, pois ela tem se revelando de grandissima importancia.

Editado por sadjuan
Link para o comentário
Compartilhar em outros sites

  • 0

Faltou apenas selecionar os dados que quer colocar no Datagrid, assim:

Obs: onde aparece TABELA, coloque o nome da tabela do Banco de Dados que deseja exibir no Grid, lembrando que pode exibir os dados de mais de uma tabela, ou restringindo dados etc, pois pode incrementar o select, com Union, Join's, Where 's etc . . .

Private Sub Form_Load()
       
        Adodc1.ConnectionString = conn
        Adodc1.RecordSource = "select * from TABELA"
        Set DataGrid1.DataSource = Adodc1
        
End Sub

Kuroi, como ele já possui uma conexão de nome CONN, ao passar a mesma para a propriedade "ConnectionString " do ADODC1, a mesma sera usada.

Link para o comentário
Compartilhar em outros sites

  • 0

Show de Bola Macêdo, valeu, pus o codigo que me deste apenas com alguma alteração e no meu computador funcionou perfeitamente, agora vou criar o instalador e instalar na maquina do cliente para verificar se o ADODC vai funcionar perfeitamente.

Private Sub Form_Load()
Adodc1.ConnectionString = conn
        Adodc1.RecordSource = "Clientes"
        Set DataGrid1.DataSource = Adodc1
End Sub

Digo alguma coisa quando instalar na maquina do cliente, se correu perfeitamente ou com defeito.

Em todo caso Show de Bola.

Editado por sadjuan
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...