Sigo con el mismo problema
Publicado por Jesus Uitz Puga (14 intervenciones) el 23/11/2006 16:45:37
Hola aqui de nuevo espero que se encuentren bien, envie sta informacion anteriormente, pero me sigue haciendo lo mismo, no elimina los registros duplicados, si corre el progrma hast ala ultima linea pero sigue conservando a todos los que se encuentran en la BD, aqui les va todo el codigo espero puedan ayudarme:
Dim rs, rs1, rs2 As Recordset
strconnect = ";database=" & App.Path & "\sitare.mdb"
Set base = OpenDatabase("", False, False, strconnect)
borrar = "DELETE * FROM tbl_morosos"
base.Execute borrar
borrar = "DELETE * FROM tbl_morosos2"
base.Execute borrar
sql = "SELECT distinct tbl_solicitudes.nomcomercial,tbl_solicitudes.calle_local,tbl_solicitudes.num_ext_local,tbl_solicitudes.entre_calles_local,tbl_solicitudes.id_giro, tbl_solicitudes.colonia_local,tbl_Recibo_Hist.Id_licencia,tbl_Recibo_Hist.contribuyente,tbl_Recibo_Hist.Giro,tbl_Recibo_Hist.periodo,tbl_Recibo_Hist.Monto1 FROM tbl_solicitudes,tbl_Recibo_Hist " & _
"Where tbl_solicitudes.id_solicitud=tbl_recibo_hist.id_solicitud"
Set rs = base.OpenRecordset(sql, dbOpenDynaset, False, dbOptimistic)
anio = InputBox("CAPTURE EL AÑO ACTUAL", "PERIODO")
If Not (rs.BOF And rs.EOF) Then 'siempre y cuando la tabla no este vacia
rs.MoveFirst 'al principio
Do While Not rs.EOF 'mientras no sea final de archivo se ejecutara el proceso
guardar = "INSERT INTO Tbl_Morosos(Id_licencia,contribuyente,nomcomercial,id_giro,Giro,calle_local,num_ext_local,entre_calles_local,colonia_local,periodo) VALUES ('" & rs!id_licencia & "','" & rs!contribuyente & "','" & rs!nomcomercial & "','" & Val(rs!id_giro) & "','" & rs!giro & "','" & rs!calle_local & "','" & rs!num_ext_local & "','" & rs!entre_calles_local & "','" & rs!colonia_local & "','" & rs!periodo & "')"
base.Execute guardar
If Trim(rs!periodo) = anio And rs!Monto1 >= 46 Then 'busqueda de las licencias
guardar = "INSERT INTO tbl_morosos2(Id_licencia,contribuyente,nomcomercial,id_giro,Giro,calle_local,num_ext_local,entre_calles_local,colonia_local,periodo,Monto1) VALUES ('" & rs!id_licencia & "','" & rs!contribuyente & "','" & rs!nomcomercial & "','" & Val(rs!id_giro) & "','" & rs!giro & "','" & rs!calle_local & "','" & rs!num_ext_local & "','" & rs!entre_calles_local & "','" & rs!colonia_local & "','" & rs!periodo & "','" & Val(rs!Monto1) & "')"
base.Execute guardar
End If
rs.MoveNext 'al siguiente
Loop
End If
'*********** ELIMANDO LOS REGISTROS DE LA TABLA MOROSOS QUE SEAN IGUAL A MOROSOS 2***************
sql1 = "SELECT tbl_morosos.nomcomercial,tbl_morosos.calle_local,tbl_morosos.num_ext_local,tbl_morosos.entre_calles_local, tbl_morosos.colonia_local,tbl_morosos.Id_licencia,tbl_morosos.contribuyente,Tbl_morosos.Giro,tbl_morosos.periodo FROM tbl_morosos "
Set rs1 = base.OpenRecordset(sql1, dbOpenDynaset, False, dbOptimistic)
rs.MoveFirst
Do While Not rs.EOF
sql2 = "SELECT tbl_morosos.nomcomercial,tbl_morosos.calle_local,tbl_morosos.num_ext_local,tbl_morosos.entre_calles_local, tbl_morosos.colonia_local,tbl_morosos.Id_licencia,tbl_morosos.contribuyente,tbl_morosos.id_giro,tbl_morosos.Giro,tbl_morosos.periodo FROM tbl_morosos where id_licencia='" & rs!id_licencia & "'"
Set rs2 = base.OpenRecordset(sql2, dbOpenDynaset, False, dbOptimistic)
If Not rs2.BOF And rs2.EOF Then
rs2.Close
borra2 = "delete * from tbl_morosos where id_licencia like '" & Mid(rs!id_licencia, 1, Len(rs!id_licencia) - 5 & "*' ")
base.Execute borra2
End If
rs.MoveNext
Loop
MsgBox "Proceso finalizado...."
'*****************reporte*******************
With CR1
.ReportFileName = App.Path + "\reportes\morosos.rpt"
.PrintFileType = crptCrystal
.ReportSource = crptReport
.WindowState = crptMaximized
.Action = 1
.Destination = crptToWindow
End With
Dim rs, rs1, rs2 As Recordset
strconnect = ";database=" & App.Path & "\sitare.mdb"
Set base = OpenDatabase("", False, False, strconnect)
borrar = "DELETE * FROM tbl_morosos"
base.Execute borrar
borrar = "DELETE * FROM tbl_morosos2"
base.Execute borrar
sql = "SELECT distinct tbl_solicitudes.nomcomercial,tbl_solicitudes.calle_local,tbl_solicitudes.num_ext_local,tbl_solicitudes.entre_calles_local,tbl_solicitudes.id_giro, tbl_solicitudes.colonia_local,tbl_Recibo_Hist.Id_licencia,tbl_Recibo_Hist.contribuyente,tbl_Recibo_Hist.Giro,tbl_Recibo_Hist.periodo,tbl_Recibo_Hist.Monto1 FROM tbl_solicitudes,tbl_Recibo_Hist " & _
"Where tbl_solicitudes.id_solicitud=tbl_recibo_hist.id_solicitud"
Set rs = base.OpenRecordset(sql, dbOpenDynaset, False, dbOptimistic)
anio = InputBox("CAPTURE EL AÑO ACTUAL", "PERIODO")
If Not (rs.BOF And rs.EOF) Then 'siempre y cuando la tabla no este vacia
rs.MoveFirst 'al principio
Do While Not rs.EOF 'mientras no sea final de archivo se ejecutara el proceso
guardar = "INSERT INTO Tbl_Morosos(Id_licencia,contribuyente,nomcomercial,id_giro,Giro,calle_local,num_ext_local,entre_calles_local,colonia_local,periodo) VALUES ('" & rs!id_licencia & "','" & rs!contribuyente & "','" & rs!nomcomercial & "','" & Val(rs!id_giro) & "','" & rs!giro & "','" & rs!calle_local & "','" & rs!num_ext_local & "','" & rs!entre_calles_local & "','" & rs!colonia_local & "','" & rs!periodo & "')"
base.Execute guardar
If Trim(rs!periodo) = anio And rs!Monto1 >= 46 Then 'busqueda de las licencias
guardar = "INSERT INTO tbl_morosos2(Id_licencia,contribuyente,nomcomercial,id_giro,Giro,calle_local,num_ext_local,entre_calles_local,colonia_local,periodo,Monto1) VALUES ('" & rs!id_licencia & "','" & rs!contribuyente & "','" & rs!nomcomercial & "','" & Val(rs!id_giro) & "','" & rs!giro & "','" & rs!calle_local & "','" & rs!num_ext_local & "','" & rs!entre_calles_local & "','" & rs!colonia_local & "','" & rs!periodo & "','" & Val(rs!Monto1) & "')"
base.Execute guardar
End If
rs.MoveNext 'al siguiente
Loop
End If
'*********** ELIMANDO LOS REGISTROS DE LA TABLA MOROSOS QUE SEAN IGUAL A MOROSOS 2***************
sql1 = "SELECT tbl_morosos.nomcomercial,tbl_morosos.calle_local,tbl_morosos.num_ext_local,tbl_morosos.entre_calles_local, tbl_morosos.colonia_local,tbl_morosos.Id_licencia,tbl_morosos.contribuyente,Tbl_morosos.Giro,tbl_morosos.periodo FROM tbl_morosos "
Set rs1 = base.OpenRecordset(sql1, dbOpenDynaset, False, dbOptimistic)
rs.MoveFirst
Do While Not rs.EOF
sql2 = "SELECT tbl_morosos.nomcomercial,tbl_morosos.calle_local,tbl_morosos.num_ext_local,tbl_morosos.entre_calles_local, tbl_morosos.colonia_local,tbl_morosos.Id_licencia,tbl_morosos.contribuyente,tbl_morosos.id_giro,tbl_morosos.Giro,tbl_morosos.periodo FROM tbl_morosos where id_licencia='" & rs!id_licencia & "'"
Set rs2 = base.OpenRecordset(sql2, dbOpenDynaset, False, dbOptimistic)
If Not rs2.BOF And rs2.EOF Then
rs2.Close
borra2 = "delete * from tbl_morosos where id_licencia like '" & Mid(rs!id_licencia, 1, Len(rs!id_licencia) - 5 & "*' ")
base.Execute borra2
End If
rs.MoveNext
Loop
MsgBox "Proceso finalizado...."
'*****************reporte*******************
With CR1
.ReportFileName = App.Path + "\reportes\morosos.rpt"
.PrintFileType = crptCrystal
.ReportSource = crptReport
.WindowState = crptMaximized
.Action = 1
.Destination = crptToWindow
End With
Valora esta pregunta


0