• Viernes 19 de Abril de 2024, 22:31

Autor Tema:  Rutina para Renumerar  (Leído 1749 veces)

mebernal

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Rutina para Renumerar
« en: Miércoles 22 de Julio de 2009, 08:15 »
0
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

xodrf

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Rutina para Renumerar
« Respuesta #1 en: Miércoles 22 de Julio de 2009, 15:58 »
0
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!!