Autor Tema: Funcion publica para eliminar un registro  (Leído 2258 veces)

0 Usuarios y 1 Visitante están viendo este tema.

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Funcion publica para eliminar un registro
« en: Octubre 08, 2011, 08:55:14 pm »
Quiero hacer una funcion publica para eliminar un registro de equiz tabla y reducir codigo ya que este se repite infinidad de veces.
La idea es pasarle como parametro el id, valor del id, tabla y recordset

Call FCN_delete("48", "Lectora LG", "Articulos", rsArticulos)

Ademas tambien se hace un comprobacion para ver si el registro fue eliminado desde otra pc de la red, nose que tan util puede ser eso, en fin :-\

Como ven esta funcion o acaso le estoy dando mucha vuelta para algo tan basico yo la he reducido a mi modo aunque creo que esta bastante rustico??

Código: [Seleccionar]
Public Sub FCN_delete(Campo As String, Campo_value As String, Tabla As String, rsTabla As Recordset)
Dim rs As Recordset
Dim a As String
a = "SELECT " & Campo & " FROM " & Tabla & " WHERE " & Campo & "=" & "'" & Campo_value & "'"
Set rs = cn.Execute(a)

On Error GoTo VerError
    Dim MENSAJE
    MENSAJE = MsgBox("Esta seguro de eliminar el registro", vbYesNo, "Eliminando datos")
    If MENSAJE = 6 Then
    'Comprueba si el registro fue eliminado desde otro punto.
    If rs.RecordCount = 0 Then MsgBox "El registro fue eliminado desde otro equipo de la red, por lo tanto no necesita ser eliminado.", vbCritical
    If Not rs Is Nothing Then rs.Close: Set rs = Nothing
       cn.Execute ("DELETE FROM " & Tabla & " WHERE " & Campo & "=" & "'" & Campo_value & "'")
       rsTabla.Requery
    End If
Exit Sub
VerError:
    MsgBox "Nº de error: " & Err.Number & " | " & Err.Description, vbCritical, "Control de errores"
End Sub

« última modificación: Octubre 08, 2011, 08:58:09 pm por lucius »

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Funcion publica para eliminar un registro
« Respuesta #1 en: Octubre 09, 2011, 12:47:57 am »
Lo edite aca pero mas o menos lo haria asi.

Código: [Seleccionar]
Public Sub FCN_delete(Campo As String, Campo_value As String, Tabla As String, rsTabla As Recordset)
Dim rs As Recordset
Dim a As String

On Error GoTo VerError

    if  MsgBox("Esta seguro de eliminar el registro", vbYesNo, "Eliminando datos") = vbno then
        exit sub
    end if
   
    'Comprueba si el registro fue eliminado desde otro punto.
    a = "SELECT " & Campo & " FROM " & Tabla & " WHERE " & Campo & "=" & "'" & Campo_value & "'"
    Set rs = cn.Execute(a)
    If rs.RecordCount = 0 Then
        MsgBox "El registro fue eliminado desde otro equipo de la red, por lo tanto no necesita ser eliminado.", vbCritical
        exit sub
    end if

    'If Not rs Is Nothing Then rs.Close: Set rs = Nothing
     
        cn.Execute ("DELETE FROM " & Tabla & " WHERE " & Campo & "=" & "'" & Campo_value & "'")
        'rsTabla.Requery
    'End If

Exit Sub
VerError:
    MsgBox "Nº de error: " & Err.Number & " | " & Err.Description, vbCritical, "Control de errores"
End Sub

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Re:Funcion publica para eliminar un registro
« Respuesta #2 en: Octubre 12, 2011, 06:46:23 pm »
Excelente.