VISUAL BASIC 2010

WELLENPM 16/07/2012 10:35:21
#406163
Olá amigos, gosto muito de vb mas estou tendo alguns probleminhas. Eu crio minhas aplicações em vb, faço a conexão com acesse, debugo e não encotro nada de error, crio o istalador em inno setup, instalo a aplicação em meu pc ai pronto abro a aplicação já instalada na maquina e não funciona mais. Me parece que a aplicação não encotra mais o caminho do banco de dados.
Se algue puder me ajudas agradecerei muito.

Esse é o a tela de erro que mostra.

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Data.OleDb.OleDbException (0x80004005): Não foi possível encontrar o arquivo [ô]C:\Program Files\My Program\SAPATARIA.accdb[ô].
at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OleDb.OleDbConnection.Open()
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at Cadastro_de_Clientes.SAPATARIADataSetTableAdapters.Cadastro_de_clientesTableAdapter.Fill(Cadastro_de_clientesDataTable dataTable)
at Cadastro_de_Clientes.Form1.Form1_Load(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.269 (RTMGDR.030319-2600)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Cadastro de Clientes
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/My%20Program/Cadastro%20de%20Clientes.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 10.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.269 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.278 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.282 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.237 (RTMGDR.030319-2300)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data.DataSetExtensions
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Data.DataSetExtensions/v4.0_4.0.0.0__b77a5c561934e089/System.Data.DataSetExtensions.dll
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Transactions
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging=[Ô]true[Ô] />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


ALTAIR148 16/07/2012 10:44:46
#406165
Resposta escolhida
Bom dia,

Amigo sempre que criar um tópico escolha a compatibilidade correta, você escolheu a compatibilidade VB e no caso seria VB.NET, assim ajuda a manter o fórum organizado.

Mas o banco está mesmo nesse endereço?
WELLENPM 16/07/2012 10:49:28
#406169
Amigo o que não estou entendendo é porque antes de eu criar o instaladodor eu debugava e coseguia fazer as rotinas de salvar, editar escluir. Mas ao criar os instalador da tudo errado e essa messagem que foi postada.
Sou inicante em vb mas tenho muito interesse nessa area.

Se tiver como posso estar enviando meu progeto.

OCELOT 16/07/2012 10:52:34
#406170
Difícil dizer, a primeira vista parece ser óbvio demais, já que a mensagem diz que não encontrou o arquivo [Ô]C:\Program Files\My Program\SAPATARIA.accdb[Ô], eu diria para você começar conferindo se o arquivo realmente está lá.

Fora isso não tem muito o que dizer pela mensagem de erro, você teria que ver o como está definindo o caminho do banco de dados.

Um outro problema que você pode vir a ter ai é de permissões, não é recomendado deixar o banco de dados dentro da pasta Arquivos de Programas a menos que ele seja apenas para leitura, pois usuários que não sejam administradores ou que tenham o UAC ativado não podem gravar nestas pastas, o ideal é criar uma pasta dentro da pasta de dados de aplicativos, o local varia dependendo da versão do Windows mas você pode pegar o caminho usando Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), no caso esta serve para qualquer usuário do Windows, para ser especifico do usuário seria só mudar para Environment.SpecialFolder.ApplicationData
WELLENPM 16/07/2012 11:59:11
#406175
Veja um exemplo simples que criei e todos os meus outros aplicativos seja simplies ou não da o mesmo erro.

suegue os codigos que criei................................

Public Class Form1
Dim opcao_escolhida As String


Private Sub Cadastro_de_clientesBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cadastro_de_clientesBindingNavigatorSaveItem.Click
Me.Validate()
Me.Cadastro_de_clientesBindingSource.EndEdit()
Me.SAPATARIADataSet.AcceptChanges()
Me.TableAdapterManager.UpdateAll(Me.SAPATARIADataSet)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
[ô]TODO: This line of code loads data into the [ô]SAPATARIADataSet.Cadastro_de_clientes[ô] table. You can move, or remove it, as needed.
Me.Cadastro_de_clientesTableAdapter.Fill(Me.SAPATARIADataSet.Cadastro_de_clientes)
TextBox1.Enabled = False
Desab_campos()
hab_opcoes()
End Sub

Private Sub bt_novo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Cadastro_de_clientesBindingSource.AddNew()
Desab_opcoes()
hab_campos()
TextBox2.Focus()
opcao_escolhida = [Ô]novo[Ô]
End Sub


Private Sub hab_opcoes()
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = False
Button5.Enabled = False
End Sub
Private Sub Desab_opcoes()
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = True
Button5.Enabled = True
End Sub
Private Sub hab_campos()
TextBox2.Enabled = True
TextBox3.Enabled = True
TextBox4.Enabled = True
TextBox5.Enabled = True
TextBox6.Enabled = True
MaskedTextBox1.Enabled = True
MaskedTextBox2.Enabled = True
ComboBox1.Enabled = True
Cadastro_de_clientesDataGridView.Enabled = False
TextBox1.Focus()
End Sub
Private Sub Desab_campos()
TextBox2.Enabled = False
TextBox3.Enabled = False
TextBox4.Enabled = False
TextBox5.Enabled = False
TextBox6.Enabled = False
MaskedTextBox1.Enabled = False
MaskedTextBox2.Enabled = False
ComboBox1.Enabled = False
Cadastro_de_clientesDataGridView.Enabled = True
End Sub

Private Sub bt_editar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Desab_opcoes()
hab_campos()
TextBox2.Focus()
opcao_escolhida = [Ô]altera[Ô]
End Sub

Private Sub bt_apagar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Desab_opcoes()
hab_campos()
TextBox2.Focus()
End Sub

Private Sub bt_salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Desab_campos()
hab_opcoes()
[ô]############### incluir novo registro
If opcao_escolhida = [Ô]novo[Ô] Then

Dim flg_test As Boolean
Try
Me.Validate()
Me.Cadastro_de_clientesBindingSource.EndEdit()
Me.Cadastro_de_clientesTableAdapter.INSERT_CLI(TextBox2.Text, MaskedTextBox1.Text, TextBox3.Text, _
TextBox4.Text, TextBox5.Text, TextBox6.Text, ComboBox1.Text, MaskedTextBox2.Text)
Me.SAPATARIADataSet.AcceptChanges()
If flg_test Then
MsgBox([Ô]Registro Inserido com sucesso[Ô])
End If
Catch ex As Exception
MessageBox.Show([Ô]Registro não gravado!!![Ô], ErrorToString, MessageBoxButtons.OK)

End Try

Me.Cadastro_de_clientesTableAdapter.Fill(Me.SAPATARIADataSet.Cadastro_de_clientes)
End If

If opcao_escolhida = [Ô]altera[Ô] Then
Dim flg_test As Boolean
Try
Me.Cadastro_de_clientesBindingSource.EndEdit()

flg_test = Me.Cadastro_de_clientesTableAdapter.UPDATE_CLI(TextBox2.Text, MaskedTextBox1.Text, TextBox3.Text, _
TextBox4.Text, TextBox5.Text, TextBox6.Text, ComboBox1.Text, MaskedTextBox2.Text, CInt(TextBox1.Text))
Me.SAPATARIADataSet.AcceptChanges()
If flg_test Then
MsgBox([Ô]Registro Inserido com sucesso[Ô])
End If
Catch ex As Exception
MessageBox.Show([Ô]Registro não gravado!!![Ô], ErrorToString, MessageBoxButtons.OK)


End Try
End If
End Sub

End Class
WELLENPM 16/07/2012 12:17:09
#406177
Segue o codigo que estou usando nessa aplicação

Public Class Form1
Dim opcao_escolhida As String


Private Sub Cadastro_de_clientesBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cadastro_de_clientesBindingNavigatorSaveItem.Click
Me.Validate()
Me.Cadastro_de_clientesBindingSource.EndEdit()
Me.SAPATARIADataSet.AcceptChanges()
Me.TableAdapterManager.UpdateAll(Me.SAPATARIADataSet)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
[ô]TODO: This line of code loads data into the [ô]SAPATARIADataSet.Cadastro_de_clientes[ô] table. You can move, or remove it, as needed.
Me.Cadastro_de_clientesTableAdapter.Fill(Me.SAPATARIADataSet.Cadastro_de_clientes)
TextBox1.Enabled = False
Desab_campos()
hab_opcoes()
End Sub

Private Sub bt_novo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Cadastro_de_clientesBindingSource.AddNew()
Desab_opcoes()
hab_campos()
TextBox2.Focus()
opcao_escolhida = [Ô]novo[Ô]
End Sub


Private Sub hab_opcoes()
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = False
Button5.Enabled = False
End Sub
Private Sub Desab_opcoes()
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = True
Button5.Enabled = True
End Sub
Private Sub hab_campos()
TextBox2.Enabled = True
TextBox3.Enabled = True
TextBox4.Enabled = True
TextBox5.Enabled = True
TextBox6.Enabled = True
MaskedTextBox1.Enabled = True
MaskedTextBox2.Enabled = True
ComboBox1.Enabled = True
Cadastro_de_clientesDataGridView.Enabled = False
TextBox1.Focus()
End Sub
Private Sub Desab_campos()
TextBox2.Enabled = False
TextBox3.Enabled = False
TextBox4.Enabled = False
TextBox5.Enabled = False
TextBox6.Enabled = False
MaskedTextBox1.Enabled = False
MaskedTextBox2.Enabled = False
ComboBox1.Enabled = False
Cadastro_de_clientesDataGridView.Enabled = True
End Sub

Private Sub bt_editar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Desab_opcoes()
hab_campos()
TextBox2.Focus()
opcao_escolhida = [Ô]altera[Ô]
End Sub

Private Sub bt_apagar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Desab_opcoes()
hab_campos()
TextBox2.Focus()
End Sub

Private Sub bt_salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Desab_campos()
hab_opcoes()
[ô]############### incluir novo registro
If opcao_escolhida = [Ô]novo[Ô] Then

Dim flg_test As Boolean
Try
Me.Validate()
Me.Cadastro_de_clientesBindingSource.EndEdit()
Me.Cadastro_de_clientesTableAdapter.INSERT_CLI(TextBox2.Text, MaskedTextBox1.Text, TextBox3.Text, _
TextBox4.Text, TextBox5.Text, TextBox6.Text, ComboBox1.Text, MaskedTextBox2.Text)
Me.SAPATARIADataSet.AcceptChanges()
If flg_test Then
MsgBox([Ô]Registro Inserido com sucesso[Ô])
End If
Catch ex As Exception
MessageBox.Show([Ô]Registro não gravado!!![Ô], ErrorToString, MessageBoxButtons.OK)

End Try

Me.Cadastro_de_clientesTableAdapter.Fill(Me.SAPATARIADataSet.Cadastro_de_clientes)
End If

If opcao_escolhida = [Ô]altera[Ô] Then
Dim flg_test As Boolean
Try
Me.Cadastro_de_clientesBindingSource.EndEdit()

flg_test = Me.Cadastro_de_clientesTableAdapter.UPDATE_CLI(TextBox2.Text, MaskedTextBox1.Text, TextBox3.Text, _
TextBox4.Text, TextBox5.Text, TextBox6.Text, ComboBox1.Text, MaskedTextBox2.Text, CInt(TextBox1.Text))
Me.SAPATARIADataSet.AcceptChanges()
If flg_test Then
MsgBox([Ô]Registro Inserido com sucesso[Ô])
End If
Catch ex As Exception
MessageBox.Show([Ô]Registro não gravado!!![Ô], ErrorToString, MessageBoxButtons.OK)


End Try
End If
End Sub

End Class
ALTAIR148 16/07/2012 13:01:50
#406182
Amigo, esse código que postou ai por último não ajuda em nada, a mensagem é muito clara, seu sistema não consegue achar o banco de dados, verifique se tem um banco realmente na pasta onde ele procura ele.

Vá no endereço c:\Program Files\My Program\ e confira se dentro dessa pasta tem o banco com o nome SAPATARIA.ACCDB
WELLENPM 16/07/2012 13:09:12
#406183
Segui e caminho que me enviou e não tem o nome do SAPATARIA.ACCDB, saberia me dizer o que fiz de errado/?
As rotinas do botão salvar, editar, excluir... é assim mesmo?


ALTAIR148 16/07/2012 13:20:35
#406184
Citação:

As rotinas do botão salvar, editar, excluir... é assim mesmo?



Como assim? Não entendi.

NETMANIA 16/07/2012 13:24:40
#406185
Você já tentou instalar o programa em outro computador para ver se este está com o banco SAPATARIA.ACCDB? O que tudo indica é que seu instalador não está com o banco de dados, quando você tenta fazer alguma operação, este provoca o erro.
WELLENPM 16/07/2012 13:36:46
#406187
Esse codigo que coloquei no comando salvar esta correto?

Private Sub bt_salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Desab_campos()
hab_opcoes()
[ô]############### incluir novo registro
If opcao_escolhida = [Ô]novo[Ô] Then

Dim flg_test As Boolean
Try
Me.Validate()
Me.Cadastro_de_clientesBindingSource.EndEdit()
Me.Cadastro_de_clientesTableAdapter.INSERT_CLI(TextBox2.Text, MaskedTextBox1.Text, TextBox3.Text, _
TextBox4.Text, TextBox5.Text, TextBox6.Text, ComboBox1.Text, MaskedTextBox2.Text)
Me.SAPATARIADataSet.AcceptChanges()
If flg_test Then
MsgBox([Ô]Registro Inserido com sucesso[Ô])
End If
Catch ex As Exception
MessageBox.Show([Ô]Registro não gravado!!![Ô], ErrorToString, MessageBoxButtons.OK)

End Try

Me.Cadastro_de_clientesTableAdapter.Fill(Me.SAPATARIADataSet.Cadastro_de_clientes)
End If

If opcao_escolhida = [Ô]altera[Ô] Then
Dim flg_test As Boolean
Try
Me.Cadastro_de_clientesBindingSource.EndEdit()

flg_test = Me.Cadastro_de_clientesTableAdapter.UPDATE_CLI(TextBox2.Text, MaskedTextBox1.Text, TextBox3.Text, _
TextBox4.Text, TextBox5.Text, TextBox6.Text, ComboBox1.Text, MaskedTextBox2.Text, CInt(TextBox1.Text))
Me.SAPATARIADataSet.AcceptChanges()
If flg_test Then
MsgBox([Ô]Registro Inserido com sucesso[Ô])
End If
Catch ex As Exception
MessageBox.Show([Ô]Registro não gravado!!![Ô], ErrorToString, MessageBoxButtons.OK)


End Try
End If
End Sub

End Class


Quando vou criar um instaldor tenho que procurar pela pasta dentro da aplicação bin/debug ou bin/ relise?

Der repente estou fazendo a conexão de forma erra com o banco de dados acess.
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas