Guardar en access 2010 desde un textbox

Cerrado
KnightJK Message postés 19 Date d'inscription martes, 7 de junio de 2011 Estatus Miembro Última intervención miércoles, 21 de noviembre de 2012 - 10 dic 2011 a las 04:05
KnightJK Message postés 19 Date d'inscription martes, 7 de junio de 2011 Estatus Miembro Última intervención miércoles, 21 de noviembre de 2012 - 10 dic 2011 a las 18:32
Hola, a todos necesito que me ayuden, estoy haciendo una agenda y necesito conectarme desde vb.net 2010 a access. Quiero ingresar un dato en un textbox y que se guarde en access, asi como crear nuevos campos. Esto es lo que tengo:

Imports System.Data
Imports System.Data.OleDb
Imports System.Data.DataRow

Public Class frmagregar

Dim conexion As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & AppDomain.CurrentDomain.BaseDirectory & "\agenda.accdb")
Dim da As New OleDbDataAdapter("Select * from Contacto", conexion)
Dim ds As New DataSet
Dim cb As OleDbCommandBuilder
Dim Mienlazador As New BindingSource

Private Sub frmagregar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim nombre As DataRow
da.Fill(ds, "Contacto")
nombre = ds.Tables(0).NewRow
nombre("Nombre") = TextBox1.Text
ds.Tables(0).Rows.Add(nombre)
Dim commandbuilder As New OleDb.OleDbCommandBuilder(Me.da)
conexion.Open()
da.Fill(ds)
Mienlazador.DataSource = ds.Tables(0)
Me.TextBox1.Select()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
--AQUI SALE QUE INSERT INTO NO ACEPTA CAMPO MULTIVALOR
Me.TextBox1.Select() 'Me.da.Update(CType(Me.Mienlazador.DataSource, DataTable))
---CON ESTO SALE LO MISMO
da.Update(ds, "Contacto")
ds.AcceptChanges()
Me.Validate()
Me.Mienlazador.EndEdit()
End Sub
End Class

Espero que me puedan ayudar, al parecer ya conecto pero no guarda, si pueden con codigo, quiero solo eso codigo, no usar data view ni nada de eso. Solo quiero guardar desde los textbox. Espero su ayuda gracias.


Consulta también:

2 respuestas

dark_zen Message postés 152 Date d'inscription lunes, 6 de septiembre de 2010 Estatus Miembro Última intervención martes, 3 de enero de 2012 107
10 dic 2011 a las 07:25
revisa esto
http://www.soloasp.com.ar/vereje.asp?eje=55
0
dark_zen Message postés 152 Date d'inscription lunes, 6 de septiembre de 2010 Estatus Miembro Última intervención martes, 3 de enero de 2012 107
10 dic 2011 a las 07:35
revice tu codigo (muy desordenado) y si funciona
solo le fata:

conexion.Close()
0
dark_zen Message postés 152 Date d'inscription lunes, 6 de septiembre de 2010 Estatus Miembro Última intervención martes, 3 de enero de 2012 107
10 dic 2011 a las 07:41
ds.clear()
0
KnightJK Message postés 19 Date d'inscription martes, 7 de junio de 2011 Estatus Miembro Última intervención miércoles, 21 de noviembre de 2012 5
10 dic 2011 a las 17:42
me sigue dando el mismo error INSERT INTO no puede contener un campo multi valor :(
0
dark_zen Message postés 152 Date d'inscription lunes, 6 de septiembre de 2010 Estatus Miembro Última intervención martes, 3 de enero de 2012 107
10 dic 2011 a las 18:04
que valor permite tu campo de tu tabla Contacto...

una pregunta :
tu dices...."Quiero ingresar un dato en un textbox y que se guarde en access, asi como crear nuevos campos"

quieres crear nuevos campos? o crear nuevos registros?

segun lo que e visto lo que hace tu codigo solo crea registros.

este es tu codigo con una leve modificacion...
auque la verdad es un enriedo total....

Imports System.Data
Imports System.Data.OleDb
Imports System.Data.DataRow

Public Class Form2

Dim conexion As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & AppDomain.CurrentDomain.BaseDirectory & "\Agenda.accdb")
Dim da As New OleDbDataAdapter("Select * from Contacto", conexion)
Dim ds As New DataSet
Dim cb As OleDbCommandBuilder
Dim Mienlazador As New BindingSource

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'guarda todos los cambios realizados desde DS a la tabla contacto
'--AQUI SALE QUE INSERT INTO NO ACEPTA CAMPO MULTIVALOR
Me.TextBox1.Select() 'Me.da.Update(CType(Me.Mienlazador.DataSource, DataTable))
'---CON ESTO SALE LO MISMO
da.Update(ds, "Contacto")
ds.AcceptChanges()
Me.Validate()
Me.Mienlazador.EndEdit()
End Sub

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
'visualizar en grilla
DataGridView1.DataSource = Mienlazador
End Sub

Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
'al parecer carga los datos desde el access
Dim nombre As DataRow
ds.Clear()
da.Fill(ds, "Contacto")
nombre = ds.Tables(0).NewRow
nombre("Nombre") = TextBox1.Text
ds.Tables(0).Rows.Add(nombre)
Dim commandbuilder As New OleDb.OleDbCommandBuilder(Me.da)
conexion.Open()
da.Fill(ds)
Mienlazador.DataSource = ds.Tables(0)
Me.TextBox1.Select()
conexion.Close()
End Sub
End Class
0
KnightJK Message postés 19 Date d'inscription martes, 7 de junio de 2011 Estatus Miembro Última intervención miércoles, 21 de noviembre de 2012 5
10 dic 2011 a las 18:09
crear las 2 cosas, pero me sale el mismo error de INSER INTO y el codigo que has puesto no lo entiendo :S
0
dark_zen Message postés 152 Date d'inscription lunes, 6 de septiembre de 2010 Estatus Miembro Última intervención martes, 3 de enero de 2012 107
10 dic 2011 a las 18:31
0