Error de sintaxis con Insert INTO

Ya casi termino mi base de datos. Lo último que debo hacer es agregar un botón el cual me permita guardar un registro con los datos ingresados en los diferentes cuadros de texto. Mi formulario es independiente.

Mi diseño de tabla

Lo que puse:

Private Sub Guardar_Click()
   CurrentDb. Execute "INSERT INTO Institucion1 (Nombre, Apellido, Direccion, Telefono, Zona, Cobrador, Socio, Cuota, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic, Observaciones)" _
   "VALUES('" _
   & Me.txtNombre & "','" & Me.txtApellido & "','" & Me.txtDireccion & "','" & Me.txtTelefono & "','" & Me.txtZona & "','" & Me.txtCobrador & "','" & Me.txtObservaciones & "' " _
   & "" & Me.txtSocio & "," & Me.txtCuota & "," & Me.txtEne & "," & Me.txtFeb & "," & Me.txtMar & "," & Me.txtAbr & "," & Me.txtMay & "," & Me.txtJun & "," & Me.txtJul & "," & Me.txtAgo & "," & Me.txtSep & "," & Me.txtOct & "," & Me.txtNov & "," & Me.txtDic & " "
   dbFailOnError
End Sub

2 respuestas

Respuesta

Lo que aprecio:

Un espacio entre 'CurrentDb' y 'Execute ' que no es correcto pero posiblemente lo corrija Access

Lo que es imprescindible es que los datos alfanumericos se definan con comillas (sean simples o dobles) y que se respete el orden de los campos con el de los valores a asociar.

En particular es llamativo que siendo el ultimo de los destinos el campo 'txtObservaciones' se le adjudique 'txtDic' como valor.

Un truco para obtener una visión de conjunto consiste en utilizar una cadena de texto (el nombre mas utilizado es SQL) como intermediaria.
Si se detiene por un error, se la presenta en la ventana de inmediato y se analiza el contenido (comillas faltantes, espacios de separación ... etc.)

Respuesta

No ha cerrado el paréntesis de VALUE y sobran algunas comillas

Aun más como le indican trate de asignar la cadena de texto a una variable para que puede probar la estructura de la sentencia SQL, por ejemplo:

Dim strsql AS String

strsql="INSERT INTO Institucion1 (Nombre, Apellido.......

Debug. Print strsql

Y verifica en la ventana de inmediato la salida del texto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas