Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Row cannot be located for updating (VB6 + MySQL)

Posted on 2014-01-29
6
1,274 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
6 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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

Suggested Solutions

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
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…

838 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