Error Codigo Visual Basic Access 2013

Estoy trabajando en visual basic 2010 accediendo a una base de datos en access 2013 para llenar una tabla sencilla de dos campos un código de un departamento y el nombre del departamento para ello eh utilizado el siguiente código

 Function Agregar_Deptos(ByVal iddpto As String, ByVal departamento As String) As Boolean
        ' Conexion
        Dim Conexion As New OleDb.OleDbConnection
        Conexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = SIDLO.accdb;Persist Security info=false"

        ' Instruccion Sql
        Dim CadenaSQL As String = "INSERT INTO tbldepartamentos (iddpto,departamento)"
        CadenaSQL = CadenaSQL + " VALUES ( " & iddpto & ","
        CadenaSQL = CadenaSQL + "" & departamento & ")"
        ' Crear Comando
        Dim Comando As OleDb.OleDbCommand = Conexion.CreateCommand()
        Comando.CommandText = CadenaSQL
        ' Ejecutar consulta Acción
        Conexión.Open()
        Comando.ExecuteNonQuery()
        Conexion.Close()
        Return True
    End Function

El inconveniente se da en la ejecución del Comando. ExecuteNonQuery() al compilar me dice no se encontró OleDb Excepción no se han especificado valores para algunos de los parámetros requeridos

Error code : -2147217904

2 respuestas

Respuesta
1

Ya que la pregunta me sale sugerida, y sin hacer un examen exhaustivo de todo el código, mira de poner la SQL de éste modo >>

CadenaSQL = “INSERT INTO TblDepartamrntos (IdDpto, Departamento) “

CadenaSQL = CadenaSQL & “ VALUES (“ & IdDpto & “, ‘” & Departamento & '” & “)”

Mis Saludos >> Jacinto

eh intentado con la sintaxis remplazando las comillas dobles y comas por que en el copiar y pegar no sale muy estos caracteres

CadenaSQL = CadenaSQL & " VALUES (" & iddpto & " , " & departamento & '" & ")"

pero tengo un error que me dice en dicha linea se esperaba expresion  gracias

Ya que tenía pendiente contestar a tu segunda petición, me remito a la contestación que te proporciona Sveinbjorn. Además si miras los comentarios, verás las observaciones que con todo acierto me ha hecho. Un saludo a los dos >> Jacinto

Respuesta
1

Cambia esta línea:

CadenaSQL = CadenaSQL + "" & departamento & ")"

por esta otra, porque entiendo que "Departamento" es un dato de texto:

CadenaSQL = CadenaSQL + "'" & departamento & "')"

Un saludo


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas