none
"NO SE HAN ESPECIFICADO VALORES PARA ALGUNOS PARAMETROS REQUERIDOS"

    Pregunta

  •  Private Sub Guardar_Click(sender As Object, e As EventArgs) Handles Guardar.Click
            Conexión1.ConnectionString = connString
            Conexión1.Open()
            '
            Dim row As DataGridViewRow = DGV.CurrentRow
            Dim str As String
    
                Convert.ToString(row.Cells("Nombres").Value)
    
                If ComboBox1.Text = "Clave" Then
    
                End If
    
    
                str = "update [Sujeto] set [@Nombres] = '" & Convert.ToString(row.Cells("Nombres").Value) & _
                                      "' , [@medidas] = '" & Convert.ToString(row.Cells("medidas").Value) & _
                                      "', [@peso] = '" & Convert.ToString(row.Cells("peso").Value) & _
                                      "', [@long] = '" & Convert.ToString(row.Cells("long").Value) & _
                                      "', [@sup] = '" & Convert.ToString(row.Cells("sup").Value) & _
                                      "', [@corp] = '" & Convert.ToString(row.Cells("corp").Value) & _
                                      "', [@kam] = '" & Convert.ToString(row.Cells("kam").Value) & _
                                      "', [@prom] = '" & Convert.ToString(row.Cells("prom").Value) & _
                                      "', [@manr] = '" & Convert.ToString(row.Cells("manr").Value) & _
                                      "', [@bau] = '" & Convert.ToString(row.Cells("bau").Value) & _
                                      "', [@madd] = '" & Convert.ToString(row.Cells("madd").Value) & _
                                      "', [@peris] = '" & Convert.ToString(row.Cells("peris").Value) & _
                                      "', [@fecha] = '" & Convert.ToString(row.Cells("fecha").Value) & "' Where [Clave] = '" & TextBox1.Text & "'"
    
                Dim cmd1 As OleDbCommand = New OleDbCommand(str, Conexión1)
                Try
                    cmd1.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox(ex.Message.ToUpper)
                End Try
    
    
                If ComboBox1.Text = "Clave" Then
                    str = "update [Sujeto] set [@Nombres] = '" & Convert.ToString(row.Cells("Nombres").Value) & _
                                        "' , [@medidas] = '" & Convert.ToString(row.Cells("medidas").Value) & _
                                        "', [@peso] = '" & Convert.ToString(row.Cells("peso").Value) & _
                                        "', [@long] = '" & Convert.ToString(row.Cells("long").Value) & _
                                        "', [@sup] = '" & Convert.ToString(row.Cells("sup").Value) & _
                                        "', [@corp] = '" & Convert.ToString(row.Cells("corp").Value) & _
                                        "', [@kam] = '" & Convert.ToString(row.Cells("kam").Value) & _
                                        "', [@prom] = '" & Convert.ToString(row.Cells("prom").Value) & _
                                        "', [@manr] = '" & Convert.ToString(row.Cells("manr").Value) & _
                                        "', [@bau] = '" & Convert.ToString(row.Cells("bau").Value) & _
                                        "', [@madd] = '" & Convert.ToString(row.Cells("madd").Value) & _
                                        "', [@peris] = '" & Convert.ToString(row.Cells("peris").Value) & _
                                        "', [@fecha] = '" & Convert.ToString(row.Cells("fecha").Value) & "' Where [Clave] = '" & TextBox1.Text & "'"
    
                End If
                Conexión1.Close()
    
    
                Conexión1.Close()
    
                'Actualizamos
                ds.Clear()
                DGV.Refresh()
                cargar()
                Datas()
                comprueba()
                habilita()
    
                a = True
                b = False
        End Sub

    miércoles, 14 de diciembre de 2016 18:32

Respuestas

  • modificado ya .... no  tira errores de ningun tipo...... pero no me guarda las modificaciones...... NO SE!!!!AYUDA

    Hola,este hilo ya se está haciendo un poco largo podrás hacer otra consulta sobre eso en otro hilo,

    si no te vota ningún error entonces quizás no esta encontrando ninguna clave para actualizar en el valor que envías en el textbox

    cmd1.Parameters.AddWithValue("?", Convert.ToString(TextBox1.Text))


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    lunes, 19 de diciembre de 2016 0:54

Todas las respuestas

  • En ese registro que estás seleccionando hay campos que no tienen valor, por eso el error tienes que ver si le pones algun dato aunque sea vacio.

    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"

    Blog
    J.Joaquin

    miércoles, 14 de diciembre de 2016 18:36
  • Hola, ,no es necesario que hagas esto

     [@medidas] = '" & Convert.ToString(row.Cells("medidas").Value) 

    pon el nombre directo del campo, sin el arroba @

     [medidas] = '" & Convert.ToString(row.Cells("medidas").Value) 

    asi en todos los campos.


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.



    • Editado Augusto1982 miércoles, 14 de diciembre de 2016 20:17
    miércoles, 14 de diciembre de 2016 19:22
  • Tambien te recomiendo que utilizes parámetros es lo más recomendable, en lugar de las interrogantes ? puedes usar los parámetros con @ como estabas haciendo solo que recuerda que en access lo parámetros se identifican por posición y no por nombre ,es decir debes agregar sus valores en el mismo orden en que estan en la sentencia sql

    str = "update Sujeto set Nombres =?,medidas=?,peso=?,long=?,sup=?,corp=?," & "kam=?,prom=?,manr=?,bau=?,madd=?,peris=?,fecha=? where Clave=?" Dim cmd1 As OleDbCommand = New OleDbCommand(str, Conexión1)

    cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("Nombres").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("medidas").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("peso").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("long").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("sup").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("corp").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("kam").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("prom").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("manr").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("bau").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("madd").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("peris").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("fecha").Value)) cmd1.Parameters.AddWithValue("?", Convert.ToString(TextBox1.Text)) cmd1.ExecuteNonQuery()



    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.




    • Propuesto como respuesta Sergio Parra jueves, 15 de diciembre de 2016 6:26
    • Editado Augusto1982 sábado, 17 de diciembre de 2016 15:16
    miércoles, 14 de diciembre de 2016 20:13
  • gracias probanddo las soluciones.... graxxxx
    miércoles, 14 de diciembre de 2016 22:11
  • pero tendria a que cambiar lo s parametros de conexión no?
    viernes, 16 de diciembre de 2016 8:14
  • pero tendria a que cambiar lo s parametros de conexión no?

    Los parámetros de conexión?. te refieres a la conexión a la base de datos?

    Si es eso, no no tendrías porque cambiarlos,si no te refieres a eso esperamos tus comentarios para aclararte cualquier duda.


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    viernes, 16 de diciembre de 2016 17:00
  • perdon por mi ignorancia...realizo la  modificacion propuesta.....

    str = "update [Sujeto] set [Nombres] =?,medidas=?,peso=?,long=?,sup=?,corp=?," &
           "kam=?prom=?,manr=?,bau=?,madd=?,peris=?,fecha=? where Clave=?"
     Dim cmd1 As OleDbCommand = New OleDbCommand(str, Conexión1)
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("Nombres").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("medidas").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("peso").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("long").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("sup").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("corp").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("kam").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("prom").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("manr").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("bau").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("madd").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("peris").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(row.Cells("fecha").Value))
     cmd1.Parameters.AddWithValue("?", Convert.ToString(TextBox1.Text))
     cmd1.ExecuteNonQuery()

    me tira error tira error de sintaxis update.....

    sábado, 17 de diciembre de 2016 8:04
  • Hola:

    > kam=?prom=?, <
    Fijate que te falta la coma despues de ?.
    Lo correcto seria
     kam=?,prom=?,

     Un saludo desde Bilbo
     Carlos

     
    sábado, 17 de diciembre de 2016 10:25
  • Hola:

    > kam=?prom=?, <
    Fijate que te falta la coma despues de ?.
    Lo correcto seria
     kam=?,prom=?,

     Un saludo desde Bilbo
     Carlos

     
    Tienes razón, ya lo corregí.

    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    sábado, 17 de diciembre de 2016 14:02
  • hola hago todo como dices....pero....ej ejecuto prog..... voy a ver registros.... abro registros.....busco por nombre y visualizo..... modifico.....cuando guardo sale el error..... mira pongo todo el cod del form

    Option Explicit On
    Option Strict On
    'importamos la libreia  Microsoft Access 14.0 library
    'Imports Access = Microsoft.Office.Interop.Access
    Imports System.Data
    Imports System.Data.OleDb
    Imports System.IO
    Imports System.Windows.Forms
    
    
    
    Public Class Archivos
        'La conexión
        Dim connString As String = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
                                   & "D:\BASE DATOS\Access y System.OleDb en VB.NET 2012\Carpeta\Mi_base.accdb" & ";Persist Security Info=False;") 'CAMBIA LA RUTA
    
        Dim Conexión1 As OleDbConnection = New OleDbConnection
        'para buscar
        Public dr As OleDbDataReader
        
    
        'Para el DataGribView(DGV) en inicio
        Dim ds As DataSet = New DataSet
        Dim Oda As OleDbDataAdapter
        Dim tables As DataTableCollection = ds.Tables
        Dim ruta As String = "D:\BASE DATOS\Access y System.OleDb en VB.NET 2012\Carpeta\Mi_base.accdb" 'CAMBIA LA RUTA
        Dim Nombre As String
        Dim a As Boolean = True, b As Boolean = False
    
        
    
        'Sub para cargar los datos en el DataGribView
        Sub cargar()
            Try
                'Conectamos y abrimos
                Conexión1.ConnectionString = connString
                Conexión1.Open()
    
                ds = New DataSet
                Dim table As DataTableCollection = ds.Tables
    
                Oda = New OleDbDataAdapter("Select [Clave], [Nombres], [medidas], [peso], [long], [sup], [corp], [kam], [prom], [manr], [bau], [madd], [peris], [fecha] from Sujeto", Conexión1)
                Oda.Fill(ds, "Sujeto")
                DGV.DataSource = New DataView(table(0))
                DGV.Columns(1).Width = 180 'Aumentamos el ancho de la columna Nombres
                DGV.Refresh()
                'Liberamos
                ds.Dispose()
                Oda.Dispose()
                Conexión1.Close() 'Cerramos
    
            Catch ex As Exception
                ex.Message.ToUpper()
            End Try
        End Sub
    
        'Habilitar controles según los registros
        Sub comprueba()
            If DGV.Rows.Count > -1 Then
                TextBox1.Enabled = True
                ComboBox1.Enabled = True
                Buscar.Enabled = True
                Editar.Enabled = False
                Guardar.Enabled = False
                Eliminar.Enabled = False
                Registrar.Enabled = True
                Label4.Text = "Al buscar y encontrar el registro, puedes editar todo, excepto la Clave."
            End If
    
            If DGV.Rows.Count < 1 Then
                TextBox1.Enabled = False
                ComboBox1.Enabled = False
                Buscar.Enabled = False
                Editar.Enabled = False
                Guardar.Enabled = False
                Eliminar.Enabled = False
                Registrar.Enabled = True
                Label4.Text = "Registre información"
            End If
        End Sub
        'Habilita controles
        Sub habilita()
            DGV.ReadOnly = True
            Editar.Text = "Editar"
            Editar.Enabled = False
            Guardar.Enabled = False
            Buscar.Enabled = True
            Eliminar.Enabled = False
            Registrar.Enabled = True
            TextBox1.Enabled = True
            TextBox1.Text = ""
            ComboBox1.Enabled = True
        End Sub
    
        'El dataset
        Sub Datas()
            With ds.Tables("Sujeto")
                'Indicar en la propiedad Sort el campo por el cual buscar  
                .DefaultView.Sort = "Clave"
                'Asignar el origen de datos a la grilla  
                DGV.DataSource = .DefaultView
            End With
        End Sub
        'Actualizar
        Sub Actualizar()
            ds.Clear()
            DGV.Refresh()
            cargar()
            Datas()
            comprueba()
            TextBox1.Text = ""
            ComboBox1.Text = "Clave"
        End Sub
    
    
        'Si cerramos
        Private Sub Archivos_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
            Registro.Show()
        End Sub
        'Cofig.. de inicio
        Private Sub Archivos_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'TODO: esta línea de código carga datos en la tabla 'Mi_baseDataSet.Sujeto' Puede moverla o quitarla según sea necesario.
            Me.SujetoTableAdapter.Fill(Me.Mi_baseDataSet.Sujeto)
            Try
                Me.CenterToScreen()
                ComboBox1.Text = "Clave"
                'Llenamos el DGV
                cargar()
                comprueba()
    
                With DGV
                    .ReadOnly = True
                    'Para seleccionar todo, pero en este caso solo la fila a buscar
                    .SelectionMode = DataGridViewSelectionMode.FullRowSelect
                    .MultiSelect = False
                    'Evitamos que se agregue la última fila(Fila vacía)
                    .AllowUserToAddRows = False
                End With
    
                Datas()
    
            Catch ex As Exception
                ex.Message.ToUpper()
            End Try
        End Sub
    
    
    
        'Buscamos el registro y nos posicionamos en la fila correspondiente en el Dgv 
        Private Sub Buscar_Click(sender As Object, e As EventArgs) Handles Buscar.Click
            Try
                If TextBox1.Text = "" Then Exit Sub
                If DGV.Rows.Count < 1 Then Exit Sub
    
                With ds.Tables("Sujeto")
    
                    'Buscamos por la Clave
                    If ComboBox1.Text = "Clave" Then
                        .DefaultView.Sort = "Clave"
                        If DGV.Rows.Count > 0 Then
                            Label4.Text = "Al buscar y encontrar el registro, puedes editar todo, excepto la Clave."
                        End If
                    End If
                    'Buscamos por los nombres
                    If ComboBox1.Text = "Nombres" Then
                        .DefaultView.Sort = "Nombres"
                        If DGV.Rows.Count > 0 Then
                            Label4.Text = "Al buscar y encontrar el registro, puedes editar todo, excepto los Nombres."
                        End If
                    End If
                End With
    
                ' buscar y retornar el índice de la fila a buscar 
                Dim fila As Integer = ds.Tables("Sujeto").DefaultView.Find(TextBox1.Text)
    
                ' si el índice es -1 no se encontró  
                If fila <> -1 Then
                    b = True
                    Editar.Enabled = True
                    Eliminar.Enabled = True
                    Registrar.Enabled = False
                    With DGV
                        ' Establecer el índice de la primera fila del DataGridview para visualizarlo primero
                        .FirstDisplayedScrollingRowIndex = fila
                        .CurrentCell = .Rows(fila).Cells(0) 'Asignar la celda al CurrentCell para seleccionarla  
                        .Select() 'Seleccionar el control  
                    End With
                   
                Else
                    MsgBox("No se pudo encontrar el registro!", vbInformation, "Buscar registro")
                End If
         
            Catch ex As Exception
                ex.Message.ToUpper()
            End Try
        End Sub
    
        'Editar
        Private Sub Editar_Click(sender As Object, e As EventArgs) Handles Editar.Click
            If TextBox1.Text <> "" And b = True Then
                If a = True Then
                    DGV.ReadOnly = False
                    Editar.Text = "Cancelar"
                    Guardar.Enabled = True
                    Buscar.Enabled = False
                    Eliminar.Enabled = False
                    Registrar.Enabled = False
                    TextBox1.Enabled = False
                    ComboBox1.Enabled = False
                    a = False
                ElseIf a = False Then
                    habilita()
                    'Limpiamos para que no se repitan los datos
                    ds.Clear()
                    DGV.Refresh()
                    cargar()
                    a = True
                    b = False
                End If
            End If
        End Sub
    
        
        Private Sub Guardar_Click(sender As Object, e As EventArgs) Handles Guardar.Click
            Conexión1.ConnectionString = connString
            Conexión1.Open()
            '
            Dim row As DataGridViewRow = DGV.CurrentRow
            Dim str As String
    
    
            Convert.ToString(row.Cells("Nombres").Value)
    
            If ComboBox1.Text = "Clave" Then
    
            End If
    
    
            str = "update [Sujeto] set [Nombres] =?,medidas=?,peso=?,long=?,sup=?,corp=?," &
          "kam=?,prom=?,manr=?,bau=?,madd=?,peris=?,fecha=? where Clave=?"
    
            Dim cmd1 As OleDbCommand = New OleDbCommand(str, Conexión1)
    
            cmd1.Parameters.AddWithValue("@nombres", Convert.ToString(row.Cells("Nombres").Value))
            cmd1.Parameters.AddWithValue("@medidas", Convert.ToString(row.Cells("medidas").Value))
            cmd1.Parameters.AddWithValue("@peso", Convert.ToString(row.Cells("peso").Value))
            cmd1.Parameters.AddWithValue("@long", Convert.ToString(row.Cells("long").Value))
            cmd1.Parameters.AddWithValue("@sup", Convert.ToString(row.Cells("sup").Value))
            cmd1.Parameters.AddWithValue("@corp", Convert.ToString(row.Cells("corp").Value))
            cmd1.Parameters.AddWithValue("@kam", Convert.ToString(row.Cells("kam").Value))
            cmd1.Parameters.AddWithValue("@prom", Convert.ToString(row.Cells("prom").Value))
            cmd1.Parameters.AddWithValue("@manr", Convert.ToString(row.Cells("manr").Value))
            cmd1.Parameters.AddWithValue("@bau", Convert.ToString(row.Cells("bau").Value))
            cmd1.Parameters.AddWithValue("@madd", Convert.ToString(row.Cells("madd").Value))
            cmd1.Parameters.AddWithValue("@peris", Convert.ToString(row.Cells("peris").Value))
            cmd1.Parameters.AddWithValue("@fecha", Convert.ToString(row.Cells("fecha").Value))
            cmd1.Parameters.AddWithValue("?", Convert.ToString(TextBox1.Text))
            cmd1.ExecuteNonQuery()
    
    
    
            Convert.ToString(row.Cells("Clave").Value)
    
            If ComboBox1.Text = "Nombres" Then
    
            End If
    
    
    
    
                Try
                    cmd1.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox(ex.Message.ToUpper)
                End Try
    
    
            If ComboBox1.Text = "Nombres" Then
            End If
    
            str = "update [Sujeto] set [Nombres] =?,medidas=?,peso=?,long=?,sup=?,corp=?," &
          "kam=?,prom=?,manr=?,bau=?,madd=?,peris=?,fecha=? where Clave=?"
    
            cmd1.Parameters.AddWithValue("@nombres", Convert.ToString(row.Cells("Nombres").Value))
            cmd1.Parameters.AddWithValue("@medidas", Convert.ToString(row.Cells("medidas").Value))
            cmd1.Parameters.AddWithValue("@peso", Convert.ToString(row.Cells("peso").Value))
            cmd1.Parameters.AddWithValue("@long", Convert.ToString(row.Cells("long").Value))
            cmd1.Parameters.AddWithValue("@sup", Convert.ToString(row.Cells("sup").Value))
            cmd1.Parameters.AddWithValue("@corp", Convert.ToString(row.Cells("corp").Value))
            cmd1.Parameters.AddWithValue("@kam", Convert.ToString(row.Cells("kam").Value))
            cmd1.Parameters.AddWithValue("@prom", Convert.ToString(row.Cells("prom").Value))
            cmd1.Parameters.AddWithValue("@manr", Convert.ToString(row.Cells("manr").Value))
            cmd1.Parameters.AddWithValue("@bau", Convert.ToString(row.Cells("bau").Value))
            cmd1.Parameters.AddWithValue("@madd", Convert.ToString(row.Cells("madd").Value))
            cmd1.Parameters.AddWithValue("@peris", Convert.ToString(row.Cells("peris").Value))
            cmd1.Parameters.AddWithValue("@fecha", Convert.ToString(row.Cells("fecha").Value))
            cmd1.Parameters.AddWithValue("?", Convert.ToString(TextBox1.Text))
            cmd1.ExecuteNonQuery()
    
            Conexión1.Close()
    
            Conexión1.Close()
    
    
            'Actualizamos
            ds.Clear()
            DGV.Refresh()
            cargar()
            Datas()
            comprueba()
            habilita()
    
            a = True
            b = False
        End Sub
    
        'Eliminamos el registro que se busco
        Private Sub Eliminar_Click(sender As Object, e As EventArgs) Handles Eliminar.Click
            If DGV.Rows.Count < 1 Then Exit Sub
    
            If MsgBox("Deseas eliminar el registro?", CType(vbQuestion + vbYesNo, MsgBoxStyle), _
                      "Eliminar registro") = vbNo Then Exit Sub
    
            Conexión1.ConnectionString = connString
            Conexión1.Open()
    
            Dim str As String
    
            str = "Delete from Sujeto Where Clave = '" & TextBox1.Text & "'"
            Dim cmd As OleDbCommand = New OleDbCommand(str, Conexión1)
            TextBox1.Text = ""
            Try
                cmd.ExecuteNonQuery()
                MsgBox("Registro eliminado", MsgBoxStyle.Exclamation, "Eliminar registro")
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
            Conexión1.Close()
            'Actualizamos
            Actualizar()
        End Sub
    
        'Nos movemos al Form registro
        Private Sub Registrar_Click(sender As Object, e As EventArgs) Handles Registrar.Click
            Registro.Show()
            Me.Hide()
        End Sub
    
        'Actualizamos o restablecemos
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Actualizar()
        End Sub
    
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Registro.Show()
            Me.Hide()
        End Sub
    
    
    End Class
    


    NO SE QUE ESTOY HACIENDO MAL......

    SALE  ESTO .....

    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'D:\BASE DATOS\Access y System.OleDb en VB.NET 2012\Access y System.OleDb en VB.NET 2012\bin\Debug\Access y System.OleDb en VB.NET 2012.vshost.exe', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Deployment\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Deployment.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Services\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualBasic\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    El subproceso 'vshost.NotifyLoad' (0x139c) terminó con código 0 (0x0).
    El subproceso '<Sin nombre>' (0xd14) terminó con código 0 (0x0).
    El subproceso '<Sin nombre>' (0x1cc) terminó con código 0 (0x0).
    El subproceso 'vshost.LoadReference' (0xf80) terminó con código 0 (0x0).
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'D:\BASE DATOS\Access y System.OleDb en VB.NET 2012\Access y System.OleDb en VB.NET 2012\bin\Debug\Access y System.OleDb en VB.NET 2012.exe', símbolos cargados.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Remoting\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Remoting.dll'
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms.resources\v4.0_4.0.0.0_es_b77a5c561934e089\System.Windows.Forms.resources.dll'
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.Wrapper.dll', se omitió la carga de símbolos. Se optimizó el módulo y se habilitó la opción 'Solo mi código'.
    Primera excepción del tipo 'System.Data.OleDb.OleDbException' en System.Data.dll
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Transactions.resources\v4.0_4.0.0.0_es_b77a5c561934e089\System.Transactions.resources.dll'
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_es_b77a5c561934e089\mscorlib.resources.dll'
    System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Excepción no controlada</Description><AppDomain>Access y System.OleDb en VB.NET 2012.vshost.exe</AppDomain><Exception><ExceptionType>System.Data.OleDb.OleDbException, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Error de sintaxis en la instrucción UPDATE.</Message><StackTrace>   en System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
       en System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object&amp;amp; executeResult)
       en System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object&amp;amp; executeResult)
       en System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object&amp;amp; executeResult)
       en System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
       en System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
       en Access_y_System.OleDb_en_VB.NET_2012.Archivos.Guardar_Click(Object sender, EventArgs e) en D:\BASE DATOS\Access y System.OleDb en VB.NET 2012\Access y System.OleDb en VB.NET 2012\Archivos.vb:línea 258
       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&amp;amp; m, MouseButtons button, Int32 clicks)
       en System.Windows.Forms.Control.WndProc(Message&amp;amp; m)
       en System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)
       en System.Windows.Forms.Button.WndProc(Message&amp;amp; m)
       en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)
       en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)
       en System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       en System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)
       en System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr 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 Access_y_System.OleDb_en_VB.NET_2012.My.MyApplication.Main(String[] Args) en 17d14f5c-a337-4978-8281-53493378c1071.vb:línea 81
       en System.AppDomain._nExecuteAssembly(RuntimeAssembly 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.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       en System.Threading.ThreadHelper.ThreadStart()</StackTrace><ExceptionString>System.Data.OleDb.OleDbException (0x80040E14): Error de sintaxis en la instrucción UPDATE.
       en System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
       en System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object&amp;amp; executeResult)
       en System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object&amp;amp; executeResult)
       en System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object&amp;amp; executeResult)
       en System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
       en System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
       en Access_y_System.OleDb_en_VB.NET_2012.Archivos.Guardar_Click(Object sender, EventArgs e) en D:\BASE DATOS\Access y System.OleDb en VB.NET 2012\Access y System.OleDb en VB.NET 2012\Archivos.vb:línea 258
       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&amp;amp; m, MouseButtons button, Int32 clicks)
       en System.Windows.Forms.Control.WndProc(Message&amp;amp; m)
       en System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)
       en System.Windows.Forms.Button.WndProc(Message&amp;amp; m)
       en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)
       en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)
       en System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       en System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)
       en System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr 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 Access_y_System.OleDb_en_VB.NET_2012.My.MyApplication.Main(String[] Args) en 17d14f5c-a337-4978-8281-53493378c1071.vb:línea 81
       en System.AppDomain._nExecuteAssembly(RuntimeAssembly 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.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       en System.Threading.ThreadHelper.ThreadStart()</ExceptionString></Exception></TraceRecord>
    Excepción no controlada del tipo 'System.Data.OleDb.OleDbException' en System.Data.dll
    Información adicional: Error de sintaxis en la instrucción UPDATE.
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\assembly\GAC\ADODB\7.0.3300.0__b03f5f7f11d50a3a\ADODB.dll'
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Access\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Access.dll'
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Access.Dao\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Access.Dao.dll'
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\assembly\GAC_MSIL\Microsoft.Vbe.Interop\15.0.0.0__71e9bce111e9429c\Microsoft.Vbe.Interop.dll'
    'Access y System.OleDb en VB.NET 2012.vshost.exe' (Administrado (v4.0.30319)): se cargó 'C:\Windows\assembly\GAC_MSIL\office\15.0.0.0__71e9bce111e9429c\office.dll'
    El programa '[4184] Access y System.OleDb en VB.NET 2012.vshost.exe: Administrado (v4.0.30319)' terminó con código -1 (0xffffffff).

    IMAGENES ........

    domingo, 18 de diciembre de 2016 10:27
  • Hola, la sentencia esta bien escrita , el problema es que este campo long coincide con un tipo de dato en ACCESS,

    en la query del update ponlo entre corchetes [ ] para que el motor de ACCESS interprete que es una columna

    str = "update [Sujeto] set [Nombres] =?,[medidas]=?,[peso]=?,[long]=?,....


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.



    • Editado Augusto1982 domingo, 18 de diciembre de 2016 16:25
    domingo, 18 de diciembre de 2016 16:25
  • modificado ya .... no  tira errores de ningun tipo...... pero no me guarda las modificaciones...... NO SE!!!!AYUDA
    domingo, 18 de diciembre de 2016 23:48
  • modificado ya .... no  tira errores de ningun tipo...... pero no me guarda las modificaciones...... NO SE!!!!AYUDA

    Hola,este hilo ya se está haciendo un poco largo podrás hacer otra consulta sobre eso en otro hilo,

    si no te vota ningún error entonces quizás no esta encontrando ninguna clave para actualizar en el valor que envías en el textbox

    cmd1.Parameters.AddWithValue("?", Convert.ToString(TextBox1.Text))


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    lunes, 19 de diciembre de 2016 0:54