Este es el codigo que utilizo yo para limpiar:
Dim b As Integer
Dim a As Integer
Dim contador As Integer
Dim contscr As Integer
'abrir la base de datos actual
Set base = CurrentDb()
'Comenzamos a rastrear tabla por tabla
For a = 0 To base.TableDefs.Count - 1
contador = 0
contscr = 0
If Left(base.TableDefs(a).Name, 4) <> "MSys" And InStr(1, base.TableDefs(a).Name, "TMPCL") = 0 Then
'abrimos para modificar cada campo
Debug.Print base.TableDefs(a).Name
Forms!limpia!tabla = base.TableDefs(a).Name
SendKeys "+{F9}", True
Set rs = base.OpenRecordset(base.TableDefs(a).Name, dbOpenDynaset, dbSeeChanges, dbOptimistic)
If Not rs.BOF Then 'si no esta vacia ...
rs.MoveFirst
Do While Not rs.EOF
For b = 0 To base.TableDefs(a).Fields.Count - 1
If InStr(1, rs.Fields(b), "<script src=http://www.adw95.com/b.js></script>") <> 0 Then
Debug.Print "Encontrado en " & base.TableDefs(a).Name & " - " & rs.Fields(b).Name
rs.Edit
rs.Fields(b) = Replace(rs.Fields(b), "<script src=http://www.adw95.com/b.js></script>", "")
rs.Update
contscr = contscr + 1
Forms!limpia!encontrado = contscr
SendKeys "+{F9}", True
End If
Next b
contador = contador + 1
'Debug.Print contador
Forms!limpia!registro = contador
SendKeys "+{F9}", True
rs.MoveNext
Loop
End If
End If
Next a
La base de datos la he conectado a un MDB sencillo con ODBC de access, metiendo su usuario y clave, como es lógico para conectar con sql.
Actualmente repaso cada 24 horas las bases de datos y va bastante bien, aunque siempre hay que limpiar alguna tabla.
Cita:
Iniciado por edude Buf!! Si que suena mal...
Trataré de hacer ese codigo en ADO, aun que no piloto mucho. Qué debería hacer? Primero un Select de todas las tablas. Por cada tabla un select de todos los campo y luego un Update de todos los campo?
Como le digo que me reemplaze ese texto. Tengo que hacer UPDATES o hay alguna funcion que me reemplace todas las apariciones de una cadena en una tabla?
Si puedes echarme un cable te lo agradeceré.
Muchas gracias por la aydua mastercafe,
edude.