Disculpen tengo el error:
"No se controló OleDbException. No se han especificado valores para algunos de los parámetros requeridos."
En el siguiente código:
Imports System.Data.OleDb 'permite el manejo de base de datos a access
Public Class FormModificar
Private Sub FormModificar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Interface_Entrada()
'SE EJECUTA CUANDO SE CARGA EL FORMULARIO
'HABILITADO
Lab_IDContacto.Enabled = True
Text_IdContacto.Enabled = True
Cmb_Buscar.Enabled = True
'DESHABILITADOS
Lab_Nombre.Enabled = False
Text_Nombre.Enabled = False
Lab_ApePat.Enabled = False
Text_ApePat.Enabled = False
Lab_ApeMat.Enabled = False
Text_ApeMat.Enabled = False
Lab_Puesto.Enabled = False
Text_Puesto.Enabled = False
Lab_Empresa.Enabled = False
Text_Empresa.Enabled = False
Lab_Area.Enabled = False
Text_Area.Enabled = False
Lab_Correo.Enabled = False
Text_Correo.Enabled = False
Lab_TelOfi.Enabled = False
Text_TelOfi.Enabled = False
Lab_Ext.Enabled = False
Text_Extension.Enabled = False
Lab_Celular.Enabled = False
Text_Celular.Enabled = False
Cmb_Guardar.Enabled = False
End Sub
Private Sub Interface_Datos()
'SE EJECUTA CUANDO SE CARGA EL FORMULARIO
'DESHABILITADO
Lab_IDContacto.Enabled = False
Text_IdContacto.Enabled = False
Cmb_Buscar.Enabled = False
'HABILITADOS
Lab_Nombre.Enabled = True
Text_Nombre.Enabled = True
Lab_ApePat.Enabled = True
Text_ApePat.Enabled = True
Lab_ApeMat.Enabled = True
Text_ApeMat.Enabled = True
Lab_Puesto.Enabled = True
Text_Puesto.Enabled = True
Lab_Empresa.Enabled = True
Text_Empresa.Enabled = True
Lab_Area.Enabled = True
Text_Area.Enabled = True
Lab_Correo.Enabled = True
Text_Correo.Enabled = True
Lab_TelOfi.Enabled = True
Text_TelOfi.Enabled = True
Lab_Ext.Enabled = True
Text_Extension.Enabled = True
Lab_Celular.Enabled = True
Text_Celular.Enabled = True
Cmb_Guardar.Enabled = True
End Sub
Function Buscar_Registro(ByVal xId As String) As Boolean
'1. CONVERTIR CADENA EN NUMERO
Dim id As String
id = xId
'2. CONEXION
Dim Conexion As New OleDbConnection
Conexion.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\\Users\\Andres\\Documents\\Proyecto Contactos\\Contactos\\Contactos\\bin\\Debug\\Contactos.mdb; Persist Security Info = False"
'3. CADENA SQL
Dim CadenaSql As String = "SELECT * FROM Contacto WHERE idContacto= '" & id & "'"
'" SELECT * FROM Contacto WHERE idContacto = " & id
'4.ADAPTADOR
Dim Adaptador As New OleDbDataAdapter(CadenaSql, Conexion)
'5. DATA SET
Dim Ds As New DataSet
'6.LLENAR DATA SET
Conexion.Open() 'Abre la conexion con BD
Adaptador.Fill(Ds) 'El adaptador llena con datos al dataset
Conexion.Close()
'7. CONTAR REGISTRO
If (Ds.Tables(0).Rows.Count = 0) Then
'NO ENCONTRO EL REGISTRO
Return False
Else
'SI ENCONTRO EL REGISTRO
'CARGAR LOS TEXTBOX DEL FORMULARIO CON LA INFORMACION DEL REGISTRO ENCONTRADO
Text_Nombre.Text = Ds.Tables(0).Rows(0)("Nombre").ToString()
Text_ApePat.Text = Ds.Tables(0).Rows(0)("ApePat").ToString()
Text_ApeMat.Text = Ds.Tables(0).Rows(0)("ApeMat").ToString()
Text_Puesto.Text = Ds.Tables(0).Rows(0)("Puesto").ToString()
Text_Empresa.Text = Ds.Tables(0).Rows(0)("Empresa").ToString()
Text_Area.Text = Ds.Tables(0).Rows(0)("Area").ToString()
Text_Correo.Text = Ds.Tables(0).Rows(0)("Correo").ToString()
Text_TelOfi.Text = Ds.Tables(0).Rows(0)("TelOficina").ToString()
Text_Extension.Text = Ds.Tables(0).Rows(0)("ExtOficina").ToString()
Text_Celular.Text = Ds.Tables(0).Rows(0)("TelCelular").ToString()
Ds.Dispose()
'MOSTRAR LOS DATOS
Return True
End If
End Function
Function Modificar_Registro(ByVal idContacto As String, ByVal Nombre As String, ByVal ApPaterno As String, ByVal ApMaterno As String, ByVal Puesto As String, ByVal Empresa As String, ByVal Area As String, ByVal Correo As String, ByVal TelOfi As String, ByVal Ext As String, ByVal TelCel As String)
'Convertir
Dim CodContacto As String = idContacto
Dim NombreContacto As String = Nombre
Dim APContacto As String = ApPaterno
Dim AMContacto As String = ApMaterno
Dim PuestoContacto As String = Puesto
Dim EmpresaContacto As String = Empresa
Dim AreaContacto As String = Area
Dim CorreoContacto As String = Correo
Dim TOContacto As String = TelOfi
Dim ExtContacto As String = Ext
Dim TCContacto As String = TelCel
'Conexion
Dim Conexion As New OleDbConnection
Conexion.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\\Users\\Andres\\Documents\\Proyecto Contactos\\Contactos\\Contactos\\bin\\Debug\\Contactos.mdb; Persist Security Info = False"
'Intruccion SQL
Dim CadSQL As String = " UPDATE Contacto SET "
CadSQL = CadSQL + " Nombre = '" & NombreContacto & "',"
CadSQL = CadSQL + " ApePat = '" & APContacto & "',"
CadSQL = CadSQL + " ApeMat= '" & AMContacto & "',"
CadSQL = CadSQL + " Puesto = '" & PuestoContacto & "',"
CadSQL = CadSQL + " Correo = '" & CorreoContacto & "',"
CadSQL = CadSQL + " TelOficina = '" & TOContacto & "',"
CadSQL = CadSQL + " ExtOficina = '" & ExtContacto & "',"
CadSQL = CadSQL + " TelCelular = '" & TCContacto & "',"
CadSQL = CadSQL + " Empresa = '" & EmpresaContacto & "',"
CadSQL = CadSQL + " Area = " & AreaContacto & ""
CadSQL = CadSQL + " WHERE idContacto = " & CodContacto
'Crear un Comando
Dim Comando As OleDbCommand = Conexion.CreateCommand()
Comando.CommandText = CadSQL
'Ejecutar la consulta de accion
Conexion.Open()
Comando.ExecuteNonQuery()
Conexion.Close()
Return True
End Function
Private Sub Cmb_Buscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmb_Buscar.Click
If Buscar_Registro(Text_IdContacto.Text) = False Then
'ENVIAR MENSAJE QUE EL REGISTRO YA EXISTE
MessageBox.Show("El registro no existe.")
Text_IdContacto.Focus()
Else
Interface_Datos()
Text_Nombre.Focus()
'Limpiar_Formulario() 'LLAMA AL METODO PARA LIMPIAR FORMULARIO
End If
End Sub
Private Sub Cmb_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmb_Guardar.Click
Modificar_Registro(Text_IdContacto.Text, Text_Nombre.Text, Text_ApePat.Text, Text_ApeMat.Text, Text_Puesto.Text, Text_Empresa.Text, Text_Area.Text, Text_Correo.Text, Text_TelOfi.Text, Text_Extension.Text, Text_Celular.Text) 'Funcion que modifica datos de contacto en la base de datos
Interface_Entrada() 'PREPARA EL FORMULARIO PARA INGRESAR UN NUEVO REGISTRO
Text_IdContacto.Focus() 'ENVIA EL FOCO AL ID DEL CONTACTO
Limpiar_Formulario() 'LLAMA AL METODO PARA LIMPIAR FORMULARIO
End Sub
Private Sub Limpiar_Formulario()
'LIMPIA LOS TEXTBOX DEL FORMULARIO
Text_Nombre.Clear()
Text_ApePat.Clear()
Text_ApeMat.Clear()
Text_Puesto.Clear()
Text_Empresa.Clear()
Text_Area.Clear()
Text_Correo.Clear()
Text_TelOfi.Clear()
Text_Extension.Clear()
Text_Celular.Clear()
End Sub
Private Sub Cmb_Cancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmb_Cancelar.Click
Me.Close()
End Sub
End Class
¿Alguien me podría ayudar? Por favor.