Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Row cannot be located for updating (VB6 + MySQL)

Posted on 2014-01-29
6
Medium Priority
?
1,361 Views
Last Modified: 2014-02-04
Hi guys,

I'm having a problem when I tried to update a record on MySQL table, even if I don't change any data on the form.

I have made a lot of applications with the same code but this is the first time I got this error.

Run-time error '2147217861(80040e38)':

Row cannot be located for updating. Some values may have been changed since it was last read.

*****************CODE**************
        Set rsTransacciones = New ADODB.Recordset
        cSQLActualiza = "SELECT * FROM Transacciones WHERE Clave = '" & npClaveRegistro & "'"
        rsTransacciones.Open cSQLActualiza, conn, adOpenStatic, adLockOptimistic
        
        If Not (rsTransacciones.BOF And rsTransacciones.EOF) Then
            rsTransacciones!Num_expediente = Trim(txtNumExpediente.Text)
            rsTransacciones!Nombre = Trim(txtNombre.Text)
            rsTransacciones!Paterno = Trim(txtPaterno.Text)
            rsTransacciones!Materno = Trim(txtMaterno.Text)
            rsTransacciones!Tipo_tramite = Trim(txtTramite.Text)
            rsTransacciones!Numero_oficio = Trim(txtNumeroDocto.Text)
            rsTransacciones!Autoridad_remitente = Trim(txtAutoridadRemitente.Text)
            rsTransacciones!Ciudad_residencia = Trim(txtCiudad.Text)
            rsTransacciones!Autoridad_solicita = Trim(txtAutoridadSolicita.Text)
            rsTransacciones!Promovente = Trim(txtPromovente.Text)
            rsTransacciones!Solicitud = Trim(txtSolicitud.Text)
            rsTransacciones!Seguimiento = Trim(txtSeguimiento.Text)
            rsTransacciones!Usuario_actualiza = cgUsuario
            rsTransacciones!Fecha_actualiza = Format(Date, "yyyy-mm-dd")
            rsTransacciones!Hora_actualiza = Format(Time, "hh:mm:ss")
            If chkConcluir.Value > 1 Then
                rsTransacciones!Estatus = "C"
                rsTransacciones!Usuario_concluye = cgUsuario
                rsTransacciones!Fecha_concluye = Format(Date, "yyyy-mm-dd")
                rsTransacciones!Hora_concluye = Format(Time, "hh:mm:ss")
            Else
                rsTransacciones!Estatus = "A"
            End If
            rsTransacciones.Update
        Else
            MsgBox "NO SE ENCONTRO EL REGISTRO PARA ACTUALIZAR", vbCritical, "Atención"
            frmActualizaciones.MousePointer = 0
            Exit Sub
        End If

Open in new window

***************************************

I Hope you guys can help me on this problem.

thanks' in advance.
0
Comment
Question by:elm9999
  • 4
5 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 39820256
I would use adOpenKeyset instead of adOpenStatic...
does the table have a primary key?
0
 

Author Comment

by:elm9999
ID: 39821510
Thank you!

Yes Guy I have a primary key named Clave.
0
 

Accepted Solution

by:
elm9999 earned 0 total points
ID: 39822806
I already found the problem, it occurs on these lines:

            rsTransacciones!Fecha_actualiza = Format(Date, "yyyy-mm-dd")
            rsTransacciones!Hora_actualiza = Format(Time, "hh:mm:ss")
0
 

Author Comment

by:elm9999
ID: 39822813
I have not received any solution, so I did myself!
0
 

Author Closing Comment

by:elm9999
ID: 39832013
I have not received any solution, so I did myself!
0

Featured Post

Veeam and MySQL: How to Perform Backup & Recovery

MySQL and the MariaDB variant are among the most used databases in Linux environments, and many critical applications support their data on them. Watch this recorded webinar to find out how Veeam Backup & Replication allows you to get consistent backups of MySQL databases.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this blog post, we’ll look at how ClickHouse performs in a general analytical workload using the star schema benchmark test.
In this blog post, we’ll look at how using thread_statistics can cause high memory usage.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Suggested Courses

577 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question