Solved

Row cannot be located for updating (VB6 + MySQL)

Posted on 2014-01-29
6
1,313 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
[X]
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
  • 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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
When table data gets too large to manage or queries take too long to execute the solution is often to buy bigger hardware or assign more CPUs and memory resources to the machine to solve the problem. However, the best, cheapest and most effective so…
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…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…
Suggested Courses

632 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