PROBLEMA COM INSERT NO ACCESS?

SERGIO 10/06/2010 10:45:39
#344457
Olá pessoal não estou conseguindo inserir dados no access eu to tentando fazer igual faço no mysql mais da erro segue o código
con = New OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Sergiodurval\Documents    este.accdb;Persist Security Info=False;[Ô])
con.Open()
Dim mycon As New OleDbCommand([Ô]insert into funcionario(Nome,Sobrenome,Telefone) values([Ô] & (txtNome.Text) & [Ô],[Ô] & (txtSobrenome.Text) & [Ô],[Ô] & (txtTelefone.Text) & [Ô][ô])[Ô], con)
mycon.ExecuteNonQuery()

erro de sintaxe na seqüência de caracteres na expressão de consulta [ô]1234-6789[ô])[ô].
ADHEL 10/06/2010 11:00:11
#344460
Resposta escolhida
Tenta assim

con = New OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Sergiodurval\Documents    este.accdb;Persist Security Info=False;[Ô])
con.Open()
Dim mycon As New OleDbCommand([Ô]insert into funcionario(Nome,Sobrenome,Telefone) values([ô][Ô] & txtNome.Text & [Ô][ô],[ô][Ô] & txtSobrenome.Text & [Ô][ô],[ô][Ô] & txtTelefone.Text & [Ô][ô])[Ô], con)
mycon.ExecuteNonQuery()
SERGIO 10/06/2010 11:12:51
#344463
Muito obrigado caro colega funcinou mais logo em seguida eu fiz um função pra carregar o datagridview denovo pra poder mostrar o ultimo dado gravado mais não aparece , só se eu fechar o form e abrir denovo que estranho
eu fiz assim logo em baixo do codigo que eu postei
call carregagrid
con = New OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Sergiodurval\Documents    este.accdb;Persist Security Info=False;[Ô])
con.Open()
da = New OleDbDataAdapter([Ô]select * from funcionario[Ô], con)
ds = New DataSet
da.Fill(ds, [Ô]funcionario[Ô])
DataGridView1.DataSource = ds.Tables([Ô]funcionario[Ô])
ADHEL 10/06/2010 11:20:07
#344464
Desculpe não entendi direito

No botão que grava você fecha a conexao?
Você utiliza o mesmo formulário para gravar e consultar , é isso?

Se possivel posta por completo aí
SERGIO 10/06/2010 11:27:05
#344466
sim uso o mesmo formulário eu to fazendo isso pra teste pra mim poder mecher com access toda vez que abre o form já carrega o datagridview com os dados da tabela
com o código que vc me passou ele insere perfeito só que eu gostaria que o datagrid fosse atualizado com o ultimo registro que eu inseri
WEBSTERGONTIJO 10/06/2010 11:38:11
#344468
Dim conns As String = [Ô] Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\VENDAS.mdb[Ô]
Dim conect As New OleDb.OleDbConnection
Dim comando As OleDb.OleDbCommand
conectando ao banco

agora vo gravar um registro pega ai

conect.ConnectionString = conns
conect.Open()

Try
comando = New OleDb.OleDbCommand([Ô]insert into VENDASM (DATA,CLIENTE,TELEFONE,MIDIA,OBSERVACAO,VENDEDOR,P_CONTATO,modelo,2PARTE) values (?,?,?,?,?,?,?,?,?)[Ô], conect)
comando.Parameters.AddWithValue([Ô]?[Ô], (CDate(DATAF.Text)))
comando.Parameters.AddWithValue([Ô]?[Ô], CLIENTEF.Text)
comando.Parameters.AddWithValue([Ô]?[Ô], TELEFONEF.Text)
comando.Parameters.AddWithValue([Ô]?[Ô], MIDIAF.Text)
comando.Parameters.AddWithValue([Ô]?[Ô], OBSERVACAOF.Text)
comando.Parameters.AddWithValue([Ô]?[Ô], VENDEDORF.Text)
comando.Parameters.AddWithValue([Ô]?[Ô], VALOR)
comando.Parameters.AddWithValue([Ô]?[Ô], MODELOF.Text)
If TextBox1.Text = [Ô][Ô] Then
VALOR1 = [Ô]NAO[Ô]
comando.Parameters.AddWithValue([Ô]?[Ô], VALOR)
Else
VALOR = [Ô]SIM[Ô]
comando.Parameters.AddWithValue([Ô]?[Ô], VALOR)

End If
comando.ExecuteScalar()
SERGIO 10/06/2010 11:54:06
#344473
Citação:

:
Dim conns As String = [Ô] Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:VENDAS.mdb[Ô]
Dim conect As New OleDb.OleDbConnection
Dim comando As OleDb.OleDbCommand
conectando ao banco

agora vo gravar um registro pega ai

conect.ConnectionString = conns
conect.Open()

Try
comando = New OleDb.OleDbCommand([Ô]insert into VENDASM (DATA,CLIENTE,TELEFONE,MIDIA,OBSERVACAO,VENDEDOR,P_CONTATO,modelo,2PARTE) values (?,?,?,?,?,?,?,?,?)[Ô], conect)
comando.Parameters.AddWithValue([Ô]?[Ô], (CDate(DATAF.Text)))
comando.Parameters.AddWithValue([Ô]?[Ô], CLIENTEF.Text)
comando.Parameters.AddWithValue([Ô]?[Ô], TELEFONEF.Text)
comando.Parameters.AddWithValue([Ô]?[Ô], MIDIAF.Text)
comando.Parameters.AddWithValue([Ô]?[Ô], OBSERVACAOF.Text)
comando.Parameters.AddWithValue([Ô]?[Ô], VENDEDORF.Text)
comando.Parameters.AddWithValue([Ô]?[Ô], VALOR)
comando.Parameters.AddWithValue([Ô]?[Ô], MODELOF.Text)
If TextBox1.Text = [Ô][Ô] Then
VALOR1 = [Ô]NAO[Ô]
comando.Parameters.AddWithValue([Ô]?[Ô], VALOR)
Else
VALOR = [Ô]SIM[Ô]
comando.Parameters.AddWithValue([Ô]?[Ô], VALOR)

End If
comando.ExecuteScalar()


Então eu consegui gravar só que o ultimo registro não aparece no grid pra gravar eu fiz assim
con = New OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Sergiodurval\Documents    este.accdb;Persist Security Info=False;[Ô])
con.Open()
Dim mycon As New OleDbCommand([Ô]insert into funcionario(Nome,Sobrenome,Telefone) values([ô][Ô] & txtNome.Text & [Ô][ô],[ô][Ô] & txtSobrenome.Text & [Ô][ô],[ô][Ô] & txtTelefone.Text & [Ô][ô])[Ô], con)
mycon.ExecuteNonQuery()

e logo apos o
mycon.executenonquery
call carregagrid
Public Function CarregaGrid()
con = New OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Sergiodurval\Documents    este.accdb;Persist Security Info=False;[Ô])
con.Open()
da = New OleDbDataAdapter([Ô]select * from funcionario[Ô], con)
ds = New DataSet
da.Fill(ds, [Ô]funcionario[Ô])
DataGridView1.DataSource = ds.Tables([Ô]funcionario[Ô])
End Function
mais msm assim não aparece no grid o ultimo dado gravado só se eu fechar o form e entrar denovo
ADHEL 10/06/2010 11:57:17
#344474
Cria a sub Assim

Sub carregaGrid()


con = New OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Sergiodurval\Documents    este.accdb;Persist Security Info=False;[Ô])
con.Open()

Dim Ssql As String
Dim cmd as OledCommand


Ssql = [Ô]Select * From Funcionario[Ô]
Cmd = New OleDbCommand

da = New OleDbDataAdapter(Ssql, con)
ds = New DataSet
da.Fill(ds, [Ô]funcionario[Ô])

With DataGridView1
.DataSource = ds.Tables([Ô]funcionario[Ô])
End With
End Sub


Voce tem que colocar no botão que grava no evento click

carregaGrid()

e tb no evento Load do Formulario

carregaGrid()


Tenta aí
SERGIO 10/06/2010 12:04:33
#344476
caros amigos eu vacilei é que minha conexão tava aberta ae eu fechei apos inserir e depois carreguei denovo o grid
Tópico encerrado , respostas não são mais permitidas