ABRIR CADASTRO DE CLIENTES ACCESS OUTRO PC
Estou com um problema no cadastro de clientes coloco o caminho da tabela.
Mas quando tento abrir em outro pc e diz que o diretório não existe.
Sou leigo alguém pode me explicar?
Mas quando tento abrir em outro pc e diz que o diretório não existe.
Sou leigo alguém pode me explicar?
Warz cara vou te dar um conselho Nao comece pelo Acess comece pelo MYSQL, ele vai ter dar tudo isso e muito mais...va por mim...acess nao e banco de dados...
Obrigado, mas já que fiz claro seguindo um tutorial...
Tá assim:
[Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\TCM\Documents\Visual Studio 2010\Projects\Gerenciador\dados.accdb[Ô]
Tentei usar o path
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\dados.accdb[Ô])
mas da erro.
Tá assim:
[Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\TCM\Documents\Visual Studio 2010\Projects\Gerenciador\dados.accdb[Ô]
Tentei usar o path
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\dados.accdb[Ô])
mas da erro.
troque para isso
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] Application.StartupPath & [Ô]\dados.accdb[Ô])
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] Application.StartupPath & [Ô]\dados.accdb[Ô])
Acho que você esqueceu um & antes do Application.StartPath certo? pois tentei assim:
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & Application.StartupPath & [Ô]\dados.accdb[Ô])
E deu o mesmo erro: tipo de dados incompatÃverl na expressão de critério.
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & Application.StartupPath & [Ô]\dados.accdb[Ô])
E deu o mesmo erro: tipo de dados incompatÃverl na expressão de critério.
Deixa eu dizer o problema
Appliation.startup pega o caminho do executavel, se o banco esta em outro pc, nao tem banco na pasta do executavel....
O banco precisaria estar em uma pasta comartilhada em rede e essa mapeada no micro, e vc definir o caminho fixo via arquivo ini ou qq outra forma, ficando igual sua primeira postagem, caminho estatico ai sim, sob pena de acesso simultaneo ainda
Por tudo isso q tmb recomendo um mysql ou sqlserver q sao feitos pra multi acesso e rede
Appliation.startup pega o caminho do executavel, se o banco esta em outro pc, nao tem banco na pasta do executavel....
O banco precisaria estar em uma pasta comartilhada em rede e essa mapeada no micro, e vc definir o caminho fixo via arquivo ini ou qq outra forma, ficando igual sua primeira postagem, caminho estatico ai sim, sob pena de acesso simultaneo ainda
Por tudo isso q tmb recomendo um mysql ou sqlserver q sao feitos pra multi acesso e rede
Usando:
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\dados.accdb[Ô])
ou
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & Application.StartupPath & [Ô]\dados.accdb[Ô])
Da o mesmo erro: tipo de dados incompatÃvel na expressão de critério.
Esta dando o erro na minha maquina com o código acima com o vb aberto e tenho a tabela em todas partes do pc.. incluindo na pasta do executável..
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\dados.accdb[Ô])
ou
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & Application.StartupPath & [Ô]\dados.accdb[Ô])
Da o mesmo erro: tipo de dados incompatÃvel na expressão de critério.
Esta dando o erro na minha maquina com o código acima com o vb aberto e tenho a tabela em todas partes do pc.. incluindo na pasta do executável..
O que o nosso colega NIKISOFT quis dizer é que vc tem que apontar o diretório pro IP da máquina onde o banco se encontra na rede. é só compartilhar a pasta onde o Banco está e nas máquinas clientes apontar o caminho da pasta do banco na rede:
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô]\\192.168.0.45\Banco\dados.accdb[Ô])
Onde [Ô]192.168.0.45[Ô] é o endereço ip da máquina servidora (Já saiba que tem que ser sempre esse IP, portanto coloque-o fixo) e [Ô]Banco[Ô] é a pasta onde seu banco está.
Mas assim como os outros colegas sugiro que migre para um SGDB confiável!
Té mais
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô]\\192.168.0.45\Banco\dados.accdb[Ô])
Onde [Ô]192.168.0.45[Ô] é o endereço ip da máquina servidora (Já saiba que tem que ser sempre esse IP, portanto coloque-o fixo) e [Ô]Banco[Ô] é a pasta onde seu banco está.
Mas assim como os outros colegas sugiro que migre para um SGDB confiável!
Té mais
Não quero compartilhar em rede, preciso que rode em outras maquinas sem inserir ip o que quis dizer é que tentei vários códigos como citei acima no meu computador eu abri o projeto no visual basic executei o projeto com o código: (o projeto, completo com a tabela certinho)
[Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\TCM\Documents\Visual Studio 2010\Projects\Gerenciador\dados.accdb[Ô]
e funcionou!
Porem alterei colocando no mesmo pc com o projeto ainda aberto:
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\dados.accdb[Ô])
ou
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & Application.StartupPath & [Ô]\dados.accdb[Ô])
Da o mesmo erro: tipo de dados incompatÃvel na expressão de critério.
[Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\TCM\Documents\Visual Studio 2010\Projects\Gerenciador\dados.accdb[Ô]
e funcionou!
Porem alterei colocando no mesmo pc com o projeto ainda aberto:
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\dados.accdb[Ô])
ou
Dim sql As String = ([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & Application.StartupPath & [Ô]\dados.accdb[Ô])
Da o mesmo erro: tipo de dados incompatÃvel na expressão de critério.
é só que quando esse erro acontece comigo geralmente não é por causa do caminho não. Quando a aplicação não consegue localizar o banco ele diz:
[Ô]pasta\dados.accdb não é um caminho válido certifique-se de que o nome do caminho esteja escrito corretamente e que você esteja conectado ao servidor no qual o arquivo reside[Ô]
Esse erro seu geralmente está no seu comando SQL, se você está fazendo um INSERT provavelmente colocou alguma coisa errada nele, talvez o nome de uma tabela de forma errada, ou até mesmo um comandozinho SQL errado. Acho que vc tem que rever é o comando de INSERT.
[Ô]pasta\dados.accdb não é um caminho válido certifique-se de que o nome do caminho esteja escrito corretamente e que você esteja conectado ao servidor no qual o arquivo reside[Ô]
Esse erro seu geralmente está no seu comando SQL, se você está fazendo um INSERT provavelmente colocou alguma coisa errada nele, talvez o nome de uma tabela de forma errada, ou até mesmo um comandozinho SQL errado. Acho que vc tem que rever é o comando de INSERT.
cara não querer compartilhar na rede, não querer apontar pra IP, nem por magica as estacoes encontram seu banco de dados......
copie o arquivo dados.accdb daqui D:\TCM\Documents\Visual Studio 2010\Projects\Gerenciador\dados.accdb
dentro da pasta bin/debug do seu projeto, q vai estar dentro de meus documentos, visual studio 2010 ou a versão q usar, projects, a pasta com o nome do seu projeto, em geral novamente a pasta com o nome do projeto, ai vai encontrar a pasta bin q eu disse antes....e dentro dela debug, é ai q vc precisa colocar o arquivos dados.accdb e unicamente ai, não precisa ter varias copias em lugar errado....
veja a imagem abaixo e o caminho....
copie o arquivo dados.accdb daqui D:\TCM\Documents\Visual Studio 2010\Projects\Gerenciador\dados.accdb
dentro da pasta bin/debug do seu projeto, q vai estar dentro de meus documentos, visual studio 2010 ou a versão q usar, projects, a pasta com o nome do seu projeto, em geral novamente a pasta com o nome do projeto, ai vai encontrar a pasta bin q eu disse antes....e dentro dela debug, é ai q vc precisa colocar o arquivos dados.accdb e unicamente ai, não precisa ter varias copias em lugar errado....
veja a imagem abaixo e o caminho....
Faça seu login para responder