Problemas con buscador en Access 2003
Hola Experto que tal.
Espero me puedas ayudar tengo el siguiente problema.
Tengo una BDD en access 2003 con dos tablas Localizaciones Maestras y LocalizacionesTmp.
Dos formularios uno basado en la tabla LocalizacionesTmp y el otro no esta ligado a ninguna tabla en este ultimo e insertado el formulario LocalizacionesTmp en el formulario Tablero de corte he insertado una caja de texto y un botón de comando. En la caja de texto escribo el registro que deseo buscar y con el botón ejecuto la búsqueda en 4 columnas de la tabla localizaciones maestras si no lo encuentra que me lance un mensaje y si lo encuentra quiero que borre los registros de la tabla LocalizacionesTmp y luego me la actualice con los datos nuevos pero no se que estoy haciendo mal que no realiza la ejecución. Cabe mencionar que ya lo tenia funcionando pero le quise anexar algunos datos mas y pum no la puyedo hacer funcionar. Te anexo el código de búsqueda. Espero me puedas ayudar.
De ante mano mil gracias.
Option Compare Database
Option Explicit
Private Sub CmdBuscar_Click()
'On Error GoTo Err_CmdBuscar_Click
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim vBuscado As String
Dim MiSql As String
Set dbs = CurrentDb
'---DEFINICIÓN DE LA PRIMERA PARTE DE LA SQL
MiSql = "SELECT [Localizaciones Maestras].[Familia],"
MiSql = MiSql & " [Localizaciones Maestras].[Mnbr],"
MiSql = MiSql & " [Localizaciones Maestras].[Ship Final],"
MiSql = MiSql & " [Localizaciones Maestras].[Leadcode Actual],"
MiSql = MiSql & " [Localizaciones Maestras].P, [Localizaciones Maestras].N,"
MiSql = MiSql & " [Localizaciones Maestras].R,"
MiSql = MiSql & " [Localizaciones Maestras].#R,"
MiSql = MiSql & " [Localizaciones Maestras].[Tipo De Cable],"
MiSql = MiSql & " [Localizaciones Maestras].[MnbrT],"
MiSql = MiSql & " [Localizaciones Maestras].PT,"
MiSql = MiSql & " [Localizaciones Maestras].NT,"
MiSql = MiSql & " [Localizaciones Maestras].RT,"
MiSql = MiSql & " [Localizaciones Maestras].#RT,"
MiSql = MiSql & " [Localizaciones Maestras].[Barril],"
MiSql = MiSql & " [Localizaciones Maestras].[Calibre],"
MiSql = MiSql & " [Localizaciones Maestras].[Longitud],"
MiSql = MiSql & " [Localizaciones Maestras].[Strip1],"
MiSql = MiSql & " [Localizaciones Maestras].[Term1],"
MiSql = MiSql & " [Localizaciones Maestras].[Id1],"
MiSql = MiSql & " [Localizaciones Maestras].[Comp1],"
MiSql = MiSql & " [Localizaciones Maestras].[Strip2],"
MiSql = MiSql & " [Localizaciones Maestras].[Term2],"
MiSql = MiSql & " [Localizaciones Maestras].[Id2],"
MiSql = MiSql & " [Localizaciones Maestras].[Comp2],"
MiSql = MiSql & " [Localizaciones Maestras].[Ship Final Old],"
MiSql = MiSql & " [Localizaciones Maestras].[Leadcode Old],"
MiSql = MiSql & " [Localizaciones Maestras].PO, [Localizaciones Maestras].NO,"
MiSql = MiSql & " [Localizaciones Maestras].RO,"
MiSql = MiSql & " [Localizaciones Maestras].[Barril Old],"
MiSql = MiSql & " [Localizaciones Maestras].[Calibre Old],"
MiSql = MiSql & " [Localizaciones Maestras].[Longitud Old],"
MiSql = MiSql & " [Localizaciones Maestras].[Strip1 Old],"
MiSql = MiSql & " [Localizaciones Maestras].[Term1 Old],"
MiSql = MiSql & " [Localizaciones Maestras].[Id1 Old],"
MiSql = MiSql & " [Localizaciones Maestras].[Comp1 Old],"
MiSql = MiSql & " [Localizaciones Maestras].[Strip2 Old],"
MiSql = MiSql & " [Localizaciones Maestras].[Term2 Old],"
MiSql = MiSql & " [Localizaciones Maestras].[Id2 Old],"
MiSql = MiSql & " [Localizaciones Maestras].[Comp2 Old]"
MiSql = MiSql & " [Localizaciones Maestras].[Cambio De Loc]"
MiSql = MiSql & " [Localizaciones Maestras].[# De Aviso]"
MiSql = MiSql & " [Localizaciones Maestras].[Notas]"
MiSql = MiSql & " FROM [Localizaciones Maestras]"
'---PROCESO DE BÚSQUEDA Y DEFINICIÓN FINAL DE LA SQL---------------------------------------------------
vBuscado = Nz(Me.TxtBusca.Value, "")
'Si no se ha escrito nada sale del proceso
If vBuscado = "" Then
'MsgBox "No hay búsqueda que realizar", vbExclamation, "Ojo Aviso"
Exit Sub
'Buscamos en el campo Ship Final
Dim vShipF As Variant
vShipF = DLookup("[Ship Final]", "Localizaciones Maestras", "[Ship Final]='" & vBuscado & "'")
'Si encuentra valor define la Sql y salta a Proceso_Borrado
If Not IsNull(vShipF) Then
MiSql = MiSql & " WHERE [Localizaciones Maestras].[Ship Final]='" & vBuscado & "'"
GoTo Proceso_Borrado
End If
'Buscamos en el campo LeadCode Actual
Dim vLeadA As Variant
vLeadA = DLookup("[Leadcode Actual]", "Localizaciones Maestras", "[Leadcode Actual]='" & vBuscado & "'")
'Si encuentra valor define la Sql y salta a Proceso_Borrado
If Not IsNull(vLeadA) Then
MiSql = MiSql & " WHERE [Localizaciones Maestras].[Leadcode Actual]='" & vBuscado & "'"
GoTo Proceso_Borrado
End If
'Buscamos en el campo Ship Final Old
Dim vShipO As Variant
vShipO = DLookup("[Ship Final Old]", "Localizaciones Maestras", "[Ship Final Old]='" & vBuscado & "'")
'Si encuentra valor define la Sql y salta a Proceso_Borrado
If Not IsNull(vShipO) Then
MiSql = MiSql & " WHERE [Localizaciones Maestras].[Ship Final Old]='" & vBuscado & "'"
GoTo Proceso_Borrado
End If
'Buscamos en el campo Leadcode Anterior
Dim vLeadO As Variant
vLeadO = DLookup("[Leadcode Old]", "Localizaciones Maestras", "[Leadcode Old]='" & vBuscado & "'")
'Si encuentra valor define la Sql y salta a Proceso_Borrado
If Not IsNull(vLeadO) Then
MiSql = MiSql & " WHERE [Localizaciones Maestras].[Leadcode Old]='" & vBuscado & "'"
GoTo Proceso_Borrado
End If
'Si ha llegado hasta aquí y no ha saltado a Proceso_Borrado es porque no ha habido coincidencias
'Avisamos y salimos del proceso
MsgBox "No se ha encontrado el valor buscado", vbInformation, "Busqueda concluida"
Exit Sub
'----PROCESO DE BORRADO DE REGISTROS EN TABLA LOCALIZACIONTMP-----------------------------------------------
Proceso_Borrado:
Set rst = dbs.OpenRecordset("LocalizacionesTmp")
'Eliminamos, si los hubiera, los registros de la tabla LocalizacionTmp
If rst.RecordCount = 0 Then GoTo Actualiza_Registros
'Borramos los registros
rst.MoveFirst
Do Until rst.EOF
rst.Delete
rst.MoveNext
Loop
'----ADICIÓN DE LOS REGISTROS ACTUALES-------------------------------------------------------------
Actualiza_Registros:
Dim rstSql As DAO.Recordset
Set rstSql = dbs.OpenRecordset(MiSql)
rstSql.MoveFirst
Do Until rstSql.EOF
With...