¿Porqué no logro que aparezcan los dólares en mi proyecto elaborado con Visual Fox Pro?

Hola, buen día, espero que este bien, vera tengo unso días tratando de hacer un txt parasido a este
Y604627810442078000876AIHL800406KK5AIHL800406HPLR    ARRIAGA$HUAZO$EDUARDO                             10150819988000000COORDINADOR
y lo hice¡ Con copy to solo hay un detalle los $ no puedo hacer que aparezcan, y si hago que aparezcan aparecen en todo lo largo, y solo quiero que aprescan en el nombre, ¿me puede ayudar?

1 Respuesta

Respuesta
1
¿Pero dime algo en tu tabla donde guardas los nombres no tienes incluido el signo $? ¿O solo quieres que aparezca al momento de generar el archivo de texto?
Quiero que en el momento de generar el txt aparezca el $, grsias por su tiempo
Ok pero para hacer eso pienso que debería tener otra tabla similar a la que quiere pasar a txt pero en esa tabla auxiliar hacer un proceso para insertar el signo en el nombre
Si se refiere es que los datos se extraen de tablas diferentos, no, todos los datos pertenecen ala misma tabala.
Ok pertenecen a la misma tabla pero deberías crear otra tabla con la misma estructura e ir empezando a pasar registro por registro pero agregando el signo al nombre y así tu nueva tabla quedara con los datos ya incluido el signo y esa tabla es la que terminarías pasando a archivo de texto, no se si me doy a entender
Si logro entender lo que me quiere decir pero, ¿soy nuevo en foxpro tengo 1mes trabajando con el lenguaje me podría dar un ejemplo?
¿Mmm ahí si me la pones un poco complicada pero mira básicamente seria algo así?
tabla_original
-----------------
Código n(10)
Nombre c(50)
Dirección c(80)
la segunda tabla (copia_tabla_original) va con la misma estructura de tabla_original.
ahora el proceso seria mas o menos asi :
select copia_tabla_original
zap
select tabla_original
scan
ncodigoaux=tabla_original.codigo
cdireccionaux=tabla_original.direccion
cnombreaux=tabla_original.nombre
cnombreauxconsigno=""
for i=1 to len(cnombreaux)
if substr(cnombreaux,i,1)=" "
cnombreauxconsigno=cnombreauxconsigno+"$"
else
cnombreauxconsigno=cnombreauxconsigno+substr(cnombreaux,i,1)
endif
next
select copia_tabla_original
append blank
replace codigo with ncodigoaux ;
nombre with cnombreauxconsigno ;
direccion with cdireccionaux
select tabla_original
Endscan
Finalmente pasarías a txt la tabla copia_tabla_original, y básicamente así harías el proceso pero debes adaptarlo a la estructura de tu tabla.
Y que pasaría si introduzco con un campo donde estén los $, ¿ya no tendría que har la copia de la tabla?,¿Y podría ser más fácil?
¿Tu dices insertar en tu tabla original en el campo nombre el signo $? Seria factible si insertas el signo solo para pasar a txt y después de eso vuelves a hacer otro proceso para quitar el signo, porque me imagino no querrás que en otras opciones te aparezcan los nombres con esos signos incluidos, pero ya te digo eso depende de ti
Si lo hared esa manera y ese campo estaría lleno por defaud, por el $, y no estari ala vista pero ay un detalle al momento de hacer el txt,
¿Qué da así Mendoza $Silva $Ivan Miguel Angel
y quiero que que de haci Mendoza$Silva$Ivan Miguel Angel sin espacios ay una manera de quitárselos?
¿Pero el nombre completo en la tabla es Mendoza Silva Ivan Miguel Angel? ¿O son nombres separados?
Perdón no lo mencione, el nombre, lo conforman 3 campos, ap_paterno, ap_materno, y el nombre, son 3 campos independientes
Ah pues entonces creo que si tu mejor opción seria una tabla adicional e incluso ahí ya no harías el proceso que te puse para insertar el signo sino que seria más sencillo porque vienen en campos separados, más o menos seria así:
cnombre=alltrim(ap_paterno)+"$"+alltrim(ap_materno)+"$"+alltrim(nombre)
¿Entonces creo la copia de mi tabla, y en un solo campo meto, ap_paterno, ap_materno, y el nombre, y mado a tx?
memarca un error ala ora de ejecutar, me dice copia_tranajadores noy found
Le pondo mi código :
select copia_trabajadores
zap
SELECT seguro
scan
c_nopatronal=seguro.nopatronal
c_noimss=seguro.noimss
c_nombre=alltrim(ap_paterno)+"$"+alltrim(ap_materno)+"$"+alltrim(nombre)
c_jornada=seguro.jornada
c_fechaalta=seguro.fechaalta
c_salario=seguro.salario
c_trabajo=seguro.trabajo
Endscan
¿Pero ya creaste la tabla copia_trabajadores?
Si, ya esta creada y con todos los campos, de echo lequite ap_materno, ap_paterno, nombre y los metí en el campo nombre.
Claro en tu tabla copia_trabajadores solo deberías tener un campo NOMBRE donde iría la suma de los campos apellidos materno paterno y nombre de tu tabla original, ¿ahora dime si estas abriendo la tabla con el use? Mira si deseas me agregas al msn [email protected] y ahí revisamos
A funcionado pero ay un detalle, no aparecen los $, ni con la concatenación
Ok ya revisamos por msn
Ok ya hice las modificacione espero medice que mi tabala copya trabajadores no se encuentra mi codogo que do haci
select copya_trabajadores
zap
SELECT seguro
scan
c_nopatronal=seguro.nopatronal
c_noimss=seguro.noimss
c_rfc=seguro.rfc
c_curp=seguro.curp
c_nombre=alltrim(seguro.ap_paterno)+"$"+alltrim(seguro.ap_materno)+"$"+alltrim(seguro.nombre)
c_jornada=seguro.jornada
c_fechaalta=seguro.fechaalta
c_salario=seguro.salrio
c_trabajo=seguro.trabajo
cnombreauxconsigno=""
select copya_trabajadores
append blank
replace codigo with ncodigoaux ;
c_nopatronal with cnopatronalaux;
c_noimss with cnoimssaux;
c_rfc with crfcaux;
c_curp WITH ccurpaux;
c_nombre with cnombreauxconsigno ;
c_jornada with cjornadaaux;
c_fechaalta with cfechaaltaaux;
c_salario with csalarioaux
select seguro
ENDSCAN
COPY TO c:/copya_trabajadores TYPE SDF
le quite el medodo for e if donde se le ponian  los $, eso estubo bien?
En teoría si esta bien pero debes probar y ver los resultados

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas