border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 30-08-2008, 01:09:10
Un Nuevo Amigo
 
Registrado: ago 2005
Posts: 14
Cursor Valoración +2
Predeterminado Eliminar registro de tablas relacionadas

Hola amigos, estoy tratando de eliminar registros de dos tablas relacionadas asi

Private Sub cmd_Eliminar_Click()
Dim i As Integer

For i = ListView1.ListItems.Count To 1 Step -1

If ListView1.ListItems(i).Selected Then

'Establecer ruta de conexión
sBase = App.Path & "\" & "Productos.mdb"
Tabla = "Ingresos"
Tabla2 = "Precios"

' Crear los objetos
Set cnn = New adodb.Connection
Set rst = New adodb.Recordset


cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sBase
s = "SELECT Id_ingreso,Fecha,Codigo,Descripcion,Cantidad,Cunit ario,Ctotal,Id_precio,Id_ingresoP,PrecioDetalle,Page Ranking ecioDocena FROM " & Tabla & ", " & Tabla2 & " WHERE " & Tabla2 & ".Id_ingresoP= " & Tabla & ".Id_ingreso AND " & Tabla & ".Id_ingreso=Val('" & lbl_ID.Caption & "') AND Codigo='" & ListView1.ListItems(i).SubItems(2) & "'"
rst.Open s, cnn, adOpenDynamic, adLockOptimistic


With rst

If (.BOF And .EOF) Then
MsgBox "No existe ningún registro", vbInformation
Exit Sub
Else

If MsgBox("Esta seguro de eliminar este item", vbExclamation + vbOKCancel, "ADVERTENCIA") = vbOK Then

rst.Delete

MsgBox "PRODUCTO ELIMINADO", vbInformation

rst.Close
cnn.Close

Set rst = Nothing
Set cnn = Nothing


Else

Exit Sub

End If

End If

End With

End If

Next i

End Sub

Pero me dice que no puede porque la tabla Precios tiene registros relacionados, lo que es efectivo, pero no se como hacer dichosa consulta para que elimine de ambas

poe favor si es posible me iluminen se los agradecere hasta el infinito

Cursor
Responder Con Cita
  #2 (permalink)  
Antiguo 30-08-2008, 03:30:37
Un Nuevo Amigo
 
Registrado: ago 2005
Posts: 14
Cursor Valoración +2
Predeterminado Re: Eliminar registro de tablas relacionadas

Lo hice asi, y funciona bien, primero establecí a la db que eliminara en cascada y luego

Private Sub cmd_Eliminar_Click()
Dim i As Integer

For i = ListView1.ListItems.Count To 1 Step -1

If ListView1.ListItems(i).Selected Then

'Establecer ruta de conexión
sBase = App.Path & "\" & "Productos.mdb"
Tabla = "Ingresos"
Tabla2 = "Precios"

' Crear los objetos
Set cnn = New adodb.Connection
Set rst = New adodb.Recordset

If MsgBox("Esta seguro de eliminar este item del inventario", vbExclamation + vbOKCancel, "ADVERTENCIA") = vbOK Then

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sBase
s = "DELETE FROM " & Tabla & " WHERE Id_ingreso= Val('" & lbl_ID.Caption & "') AND Codigo='" & ListView1.ListItems(i).SubItems(2) & "'"
rst.Open s, cnn, adOpenDynamic, adLockOptimistic

MsgBox "PRODUCTO ELIMINADO", vbInformation

cnn.Close

Set rst = Nothing
Set cnn = Nothing
Else
Exit Sub
End If
End If
Next i
End Sub

FUNCIONA BIEN "ELIMINA", PERO SI ME SUGIEREN OTRA COSA MEJOR SE AGRADECE, O SI CREEN QUE ALGO AQUI ESTA MAL, TAMBIEN
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT. Ahora son las 04:24:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right