Título: Vb Net + Access 2007 Publicado por: seguis en 15 Junio 2014, 17:34 pm Saludos a todos, trato de agregar datos a Access 2007 con Vb net 2005, pero me sale el siguiente error:
No se controló System.Runtime.InteropServices.COMException ErrorCode=-2147217900 Message="Error de sintaxis en la cadena en la expresión de consulta ''3107)'." //Este "3107" se trata del numero que ingreso en textbox2.text Source="Microsoft Office Access Database Engine" StackTrace: en ADODB.ConnectionClass.Execute(String CommandText, Object& RecordsAffected, Int32 Options) en Agenda.Form1.Button1_Click(Object sender, EventArgs e) en C:\Users\Seguix\AppData\Local\Temporary Projects\Agenda\Form1.vb:línea 10 en System.Windows.Forms.Control.OnClick(EventArgs e) en System.Windows.Forms.Button.OnClick(EventArgs e) en System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) en System.Windows.Forms.Control.WndProc(Message& m) en System.Windows.Forms.ButtonBase.WndProc(Message& m) en System.Windows.Forms.Button.WndProc(Message& m) en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) en System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) en System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) en System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) en System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) en System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) en System.Windows.Forms.Application.Run(ApplicationContext context) en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun() en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel() en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine) en Agenda.My.MyApplication.Main(String[] Args) en 17d14f5c-a337-4978-8281-53493378c1071.vb:línea 81 en System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) en System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) en Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() en System.Threading.ThreadHelper.ThreadStart_Context(Object state) en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) en System.Threading.ThreadHelper.ThreadStart() El codigo es: Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load CONECTAR() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Abrir.Open() SQL = "INSERT INTO Prueba(Nombre,Numero) VALUES(" & TextBox1.Text & ",'" & Val(TextBox2.Text) & ")" RS = Abrir.Execute(SQL) Abrir.Close() End Sub End Class El codigo del modulo es: Module Module1 Public SQL As String Public RS As New ADODB.Recordset 'Espacios de memoria Public Abrir As ADODB.Connection 'Variable para conexion Public Sub CONECTAR() Abrir = New ADODB.Connection Abrir.ConnectionString = "PROVIDER=MICROSOFT.ACE.OLEDB.12.0;DATA SOURCE= C:\Users\Seguix\Documents\Base.accdb" End Sub End Module Título: Re: Vb Net + Access 2007 Publicado por: FranciskoAsdf en 15 Junio 2014, 22:11 pm Y que tipo de datos es el campo en el que estas tratando de escribir?
Esos errores son casi siempre porque intentas escribir un valor Numero en un campo de tipo Cadena. Fijate que los tipos de datos que quieres escribir sean todos iguales en los campos de la BD, el TextBox. Saludos. |