Quitar espacios en blanco de un registro en vfp

Es una consulta de visual fox pro, tengo una tabla de nombre clientes, y tiene los campos nombres donde se captura el nombre completo con todo y apellidos, rfc, folio, tiene un total de 370 registros, el problema que en algunos nombres vienen con más de un espacio entre nombre y apellidos, como puedo hacer para encontrar todos esos nombres que tienen espacios de más y dejarlos con solo un espacio entre cada palabra o nombre

Respuesta
1

Usa el siguiente comando, ya en la línea de comando o dentro de un procedimiento:

UPDATE Clientes SET Nombres=STRTRAN(Nombres,"  "," ")

gracias por responder, me funciono perfecto, quiero hacerte otra consulta referente a la misma tabla, lo que quiero es que todos esos registros que le quite todos esos espacios de mas, al hacer esas correcciones, que me los muestre en un list de un formulario para saber cuales registros fueron los que se corrigieron los espacios , espero me puedas ayudar, gracias

Para eso, se me ocurre así rápidamente que antes de usar UPDATE, uses el comando SELECT-SQL:

Select Select(1)
Select * From Clientes Where Occurs("  ",Rtrim(Nombres))>0 Into Cursor csrLista

Esto te creará una tabla cursor de nombre "csrLista" con todos los registros que tengan 2ble espacio dentro del campo Nombres; luego ya puedes hacer lo que quieras con ella; ya que se tratará de una nueva tabla (temporal eso sí).

¡Gracias!  me sirvió mucho

gracias de nuevo por la ayuda, disculpa la molestia de nuevo, tengo una nueva consulta o varias, sobre el mismo caso, utilice los procedimientos en el orden que me dijiste y me funciono perfecto, ahora quiero hacer varias correcciones a la vez y no me ha funcionado, despues esos cambios quiero reflejarlos en la tabla con los registros que se corrigieron el cursor, la sintaxis que he hecho es esta pero solo me corrige el primero:

SELECT resultado
UPDATE resultado SET Nombre=STRTRAN(nombre,"DR"," ");
                    ,Nombre=STRTRAN(nombre,"DR."," ");
                    ,Nombre=STRTRAN(nombre,"DRA"," ");
                    ,Nombre=STRTRAN(nombre,"DRA."," ");
                    ,Nombre=STRTRAN(nombre,"  "," ")                  
ThisForm.List1.rowsource="resultado.nombre"
thisform.text3.Value=reccount("resultado")
thisform.list1.Refresh

lo que quiero hacer aqui es que en los registros que tengo en la lista me borre la palabra "DR", "DR." , "DRA" , "DRA." y al final los espacios entre palabras como me comentaste, es una lista de registros con nombres de doctores pero solo quiero dejar los nombres, al ejecutar el codigo, solo me elimina la palabra "DR".

cuando ya se logre hacer todos los cambios lo siguiente que quiero es actualizar estos mismos registros pero en la tabla clientes, espero me puedas ayudar, gracias

Prueba hacerlo en éste orden:

UPDATE resultado SET Nombre=STRTRAN(nombre,"DRA."," ");
                    ,Nombre=STRTRAN(nombre,"DRA"," ");
                    ,Nombre=STRTRAN(nombre,"DR."," ");
                    ,Nombre=STRTRAN(nombre,"DR"," ");
, Nombre=STRTRAN(nombre," "," ")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas