Visual Basic - Sigo con el mismo problema

Life is soft - evento anual de software empresarial
 
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sigo con el mismo problema

Publicado por Carlos Ariel Saldaña Mendoza (1 intervención) el 02/12/2006 23:38:34
Lo que sucede es que no estas actualizando la base de datos, debes utilizar update, para que se actulice el estado de la base datos, hermano. Por eso esque aunque los borra y el código está bien, no guardas los cambios. Espero haberte ayudado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar