SoloCodigo
Programación General => Visual FoxPro => Mensaje iniciado por: mebernal en Miércoles 22 de Julio de 2009, 08:15
-
Muy buenas noches,quisiera me ayudaran en algo o me den algun tips:
1-tengo un form con una tabla que tiene registros y un campo llave de tipo caracter en forma de numero..ejemplo(010001)
y una tabla detalle que se relaciona con la otra tabla por medio del numero,ahora si yo he eliminado registros y quisiera renumerar este numero en forma de texto como puedo hacer?
2-yo tengo una tabla con campo llave de tipo caracter,pero que se forma de combinacion del mes+'000'+str(entero)
o sea
el entero anterior era 3 y el mes de trabajo es enero,entonces el siguiente numero sera: 01 por enero-000 por una variable y 3 por el contador...en pocas palabras seria asi: '010003'
yo quiero mantener ese formato,pero cuando llegue al 10, se me forma 0100010.
yo lo que quiero es que se mantengan los 6 caracteres o sea el 01 no cambia pero los ceros se van a ir reduciendo cuando llegue a decenas y centenas....no se si me explico
o sea si mi contador entero es 1=010001
si mi contador es 10= 010010
si mi contador es 100= 010100
gracias de antemano
-
Yo asi lo haria:
1- Carga en una matriz todos los registros de tu tabla secundaria que coincidan con el identificador que quieras cambiar ej
SELECT RECNO() FROM tablasecundaria WHERE ID==X INTO ARRAY _rec, luego cambia el identificador de tu tabla principal y a continuacion recorre tu matriz con un bucle asi
FOR _gir=1 TO ALEN( _rec )
GOTO _rec[_gir]
REPLACE ID WITH _newid
ENDFOR
para cambiar el id de tu tabla secundaria
2- STRTRAN( STR(_mes,2,0)+STR(_nro,4,0), " ", "0" )
PRUEBALO!!