Eliminar espacios dentro de registros

Tengo un campo donde campturo el número de parte de una pieza, algo como esto: (1J2 233 ALS).
¿Cómo puedo actualizar todos mis registros (que son bastantes)para que me elimine los espacios entre los números y me pueda aparecer todo junto?, es decir de esta forma: (1J2233ALS).
También te debo decir que hay números de piezas que tienen más de un espacio, es decir puedo tener en mi campo un registro con un número como este: (1M5 523 ALO).
¿Me podrías ayudar con el código?
La base está diseñada en access '97

3 Respuestas

Respuesta
1
Si el Campo es de longitud fija lo que puedes hacer es un do while.. Primero asignas el Campo a una variable string y vas leyendo el campo hasta el carácter final agregándole al campo el string depurado... Esta rutina deberá repetirse para cada un de los campos, luego si quieres ir haciendo la acualización. Abres en una consulta por actualización y le colocas en la zona de criterios lo siguiente: [forms]![NombreDelFormulario]![Campo]
Esta es la referencia del formulario desde donde estas haciendo los cambios o puedes hacerlo directamente por código utilizando un update
dim CampString as string
dim Long as integer 'longitud del campo
CampString = Campo
campo = null
do while long < 9
if Left$(CampString,long)<> null then
Campo = Campo & Left$(CampString,long)
end if
end do
MsgBox "este es el campo depurado: " & Campo
Cerrar
Respuesta
1
Ruize: Lo Que Puedes Hacer es Lo Siguiente. Abres la Tabla, seleccionas toda la Columna donde esta tus código de Pieza. Luego te vas al Menu edición y la Opción Buscar/Reemplazar
en la Parte de Buscar
le Ingresas un Espacio con la Barra espaciadora
y en la Parte Reemplazar no le coloque nada, dejalo como esta luego le das a Reemplazar todas y Te va a sacar todos los Espacios.. Si te llegara a quedar palabras con 2 espacios haces lo mismo pero ahora le Ingresas 2 espacios .
Respuesta
1
Ruize,
Haste una copia de los datos y luego create un procedimiento con este código:
Dim rst As Recordset, ncadena, rcadena, LenCade
Set rst = CurrentDb.OpenRecordset("NombreTabla", dbOpenDynaset)
While rst.EOF = False
ncadena = rst("[Nombre del campo que quieres cambiar]")
LenCade = Len(ncadena)
For i = 1 To LenCade
rcadena = IIf(Left(ncadena, 1) = " ", "", Left(ncadena, 1))
ncadena = Right(ncadena, Len(ncadena) - 1)
Next
MsgBox "cadena sin espacio " & rcadena
'Para guardar el cambio
With rst
.Edit
rst("[Nombre del campo que quieres cambiar]") = rcadena
.Update
End With
Rst. MoveNext
Wend

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas