Como hago codigo automatico

Lo q pasa es q tengo una aplicacion soy nueo en esto es una aplicaio sobre una biblioteca q la tengo para mi proyecto de grado
y tengo un codigo para que sea automatico
SELECT 2
GO BOTTOM
m.nValor = alumnos.cod + 1
APPEND BLANK
REPLACE alumnos.cod WITH m.nValor
pero me lo empieza desde el numero 2 y no me guarda bn los codigos alguien me puede ayudar por fa
gracias

1 respuesta

Respuesta
1
Hay veces que no es fáil encontrar el problema, me imagino que ya has probado limpiar la tabla y empezar de cero.
sugiero lo siguiente,
m.nValor = 1
SELECT 2
GO BOTTOM
if !eof()
  m.nValor = alumnos.cod + 1
Endif
APPEND BLANK
REPLACE alumnos.cod WITH m.nValor
Pruebalo y me dices.
Exitos
no amigo no me funciono
me sigue guardando desde el 2 y cuando agrago otro registro
me remplaza el de 2 por 3 y haci sucesivamente solo me guarda un registro
q puedo hacer ???
No te preocupes, pregunto, SELECT 2 hace referencia a Alumnos, verifica, no me respondas de memoria, verifica.
no select 2 es de una tabla aparte q cree que me guarda el ultimo numero y ps se supone q de hay me lo llama.
es q no c como explicarte bn
por q lo hize q select 1 es la de alumnos y la de select 2 es la de una tabla que se llama cod
????
ok, mira lo que secede es que al ejecutar m.nValor = alumnos.cod + 1 siempre va a traer de alumnos el bvalor donde este posicionado, entonces, en lugar de alumnos ponle el nombre de la tabla aqa la que hace referencia select 2, y veras que funciona.
Exitos
amigo no me sale me sale un error que me dice quen o me encuentra la variable cod y no c de donde es ???
perdona q te moleste tanto
pero creeme que es dmasiado urgente por que el miercoles si no entrego esto funcionando no me graduo :(
Como se llama el ampo en al archivo que creaste, ya se que no es COD, en lugar de COD coloca el nombre del campo.
Prueba y me dices, No te preocupes que algunos soportes salen de una y otros dse demoran mucho mas, lo que necesite, me pregunta.
voi a intentar a ver q pasa pero amigo si te llego el programa que te mande ??? dee la aplicacion
mira el campo de la tabla cod se llama ult_num
toes quedaria asi : ???
SELECT 2
GO BOTTOM
if !eof()
  m.nValor = alumnos.ult_num + 1
endif
APPEND BLANK
REPLACE alumnos.ult_num WITH m.nValor
o komo kedaria ???
SELECT 2
GO BOTTOM
if !eof()
  m.nValor = alumnos.ult_num + 1
Endif
APPEND BLANK
REPLACE alumnos.ult_num WITH m.nValor
Cambie alumnos por el nombre de la tabla que creo para almacenar el ultimo numero y de igual forma grabe el valor m.nValor en la tabla que creo para almacfenar el ultimo numero si no lo graba siempre le va a mostrar 2.
Pruebalo
ok voi a ver otra ves pero amigo si te llego mi correo con la aplicacion perdona q te moleste tanto ??
Como nos fué.
Pon este codigo en el click del boton grabar alumnos:
IF   EMPTY(ThisForm.text1.Value)
    MESSAGEBOX("DEBE INGRESAR DATOS ",0+64,"Alumnos")
ELSE
    MESSAGEBOX("LOS DATOS HAN SIDO GUARDADOS",0+64,"Alumnos")  
    SELECT 2
    nValor = 1
    GO TOP
    if RECCOUNT() !0
         nValor = 2->ult_num + 1
     ELSE
        APPEND BLANK
         REPLACE ult_num WITH nvalor
    endif
     SELECT 1
     APPEND BLANK
     REPLACE cod WITH nvalor
     REPLACE nombre1 WITH thisform.text2.Value
    REPLACE nombre2 WITH thisform.text3.Value
    REPLACE apellido1 WITH thisform.text4.value
    REPLACE apellido2 WITH thisform.text5.value
    REPLACE fec_nac WITH thisform.text6.value
    REPLACE lug_nac WITH thisform.text7.value
    REPLACE direccion WITH thisform.text8.value
    REPLACE telefono WITH thisform.text9.value
    REPLACE grado WITH thisform.text10.value
     REPLACE sexo WITH thisform.text11.value
     SELECT 2
     replace ult_num WITH nvalor
     SELECT 1
    ThisForm.text1.Enabled = .f.
    ThisForm.text2.Enabled = .f.
    ThisForm.text3.Enabled = .f.
    ThisForm.text4.Enabled = .f.
    ThisForm.text5.Enabled = .f.
    ThisForm.text6.Enabled = .f.
    ThisForm.text7.Enabled = .f.
    ThisForm.text8.Enabled = .f.
    ThisForm.text9.Enabled = .f.
    ThisForm.text10.Enabled = .f.
    ThisForm.text11.Enabled = .f.
ENDIF
thisform.refresh
IF EMPTY(ThisForm.text1.Value)
    MESSAGEBOX("DEBE INGRESAR DATOS ",0+64,"Alumnos")
ELSE
    MESSAGEBOX("LOS DATOS HAN SIDO GUARDADOS",0+64,"Alumnos")  
    SELECT 2
    nValor = 1
    GO TOP
    if RECCOUNT() !0
         nValor = 2->ult_num + 1
     ELSE
        APPEND BLANK
         REPLACE ult_num WITH nvalor
    endif
     SELECT 1
     APPEND BLANK
     REPLACE cod WITH nvalor
     REPLACE nombre1 WITH thisform.text2.Value
    REPLACE nombre2 WITH thisform.text3.Value
    REPLACE apellido1 WITH thisform.text4.value
    REPLACE apellido2 WITH thisform.text5.value
    REPLACE fec_nac WITH thisform.text6.value
    REPLACE lug_nac WITH thisform.text7.value
    REPLACE direccion WITH thisform.text8.value
    REPLACE telefono WITH thisform.text9.value
    REPLACE grado WITH thisform.text10.value
     REPLACE sexo WITH thisform.text11.value
     SELECT 2
     replace ult_num WITH nvalor
     SELECT 1
    ThisForm.text1.Enabled = .f.
    ThisForm.text2.Enabled = .f.
    ThisForm.text3.Enabled = .f.
    ThisForm.text4.Enabled = .f.
    ThisForm.text5.Enabled = .f.
    ThisForm.text6.Enabled = .f.
    ThisForm.text7.Enabled = .f.
    ThisForm.text8.Enabled = .f.
    ThisForm.text9.Enabled = .f.
    ThisForm.text10.Enabled = .f.
    ThisForm.text11.Enabled = .f.
Endif
Thisform. Refresh
Exitos
OLA AMIGO YA LO INTENTE PERO ME SALE ERROR EN LAS SGTS
HAY LOS MARQUE DICE -------------------- AQUI  JAJAJA
IF   EMPTY(ThisForm.text1.Value)
    MESSAGEBOX("DEBE INGRESAR DATOS ",0+64,"Alumnos")
ELSE
    MESSAGEBOX("LOS DATOS HAN SIDO GUARDADOS",0+64,"Alumnos")  
    SELECT 2
    nValor = 1
    GO TOP
    if RECCOUNT() !0---------------------------------------------AQUI
         nValor = 2->ult_num + 1-----------------------------------AQUI
     ELSE
        APPEND BLANK
         REPLACE ult_num WITH nvalor
    endif
     SELECT 1
     APPEND BLANK
     REPLACE cod WITH nvalor
     REPLACE nombre1 WITH thisform.text2.Value
    REPLACE nombre2 WITH thisform.text3.Value
    REPLACE apellido1 WITH thisform.text4.value
    REPLACE apellido2 WITH thisform.text5.value
    REPLACE fec_nac WITH thisform.text6.value
    REPLACE lug_nac WITH thisform.text7.value
    REPLACE direccion WITH thisform.text8.value
    REPLACE telefono WITH thisform.text9.value
    REPLACE grado WITH thisform.text10.value
     REPLACE sexo WITH thisform.text11.value
     SELECT 2
     replace ult_num WITH nvalor
     SELECT 1
    ThisForm.text1.Enabled = .f.
    ThisForm.text2.Enabled = .f.
    ThisForm.text3.Enabled = .f.
    ThisForm.text4.Enabled = .f.
    ThisForm.text5.Enabled = .f.
    ThisForm.text6.Enabled = .f.
    ThisForm.text7.Enabled = .f.
    ThisForm.text8.Enabled = .f.
    ThisForm.text9.Enabled = .f.
    ThisForm.text10.Enabled = .f.
    ThisForm.text11.Enabled = .f.
ENDIF
thisform.refresh
IF EMPTY(ThisForm.text1.Value)
    MESSAGEBOX("DEBE INGRESAR DATOS ",0+64,"Alumnos")
ELSE
    MESSAGEBOX("LOS DATOS HAN SIDO GUARDADOS",0+64,"Alumnos")  
    SELECT 2
    nValor = 1
    GO TOP
    if RECCOUNT() !0------------------------------------------------AQUI
         nValor = 2->ult_num + 1--------------------------------------AQUI
     ELSE
        APPEND BLANK
         REPLACE ult_num WITH nvalor
    endif
     SELECT 1
     APPEND BLANK
     REPLACE cod WITH nvalor
     REPLACE nombre1 WITH thisform.text2.Value
    REPLACE nombre2 WITH thisform.text3.Value
    REPLACE apellido1 WITH thisform.text4.value
    REPLACE apellido2 WITH thisform.text5.value
    REPLACE fec_nac WITH thisform.text6.value
    REPLACE lug_nac WITH thisform.text7.value
    REPLACE direccion WITH thisform.text8.value
    REPLACE telefono WITH thisform.text9.value
    REPLACE grado WITH thisform.text10.value
     REPLACE sexo WITH thisform.text11.value
     SELECT 2
     replace ult_num WITH nvalor
     SELECT 1
    ThisForm.text1.Enabled = .f.
    ThisForm.text2.Enabled = .f.
    ThisForm.text3.Enabled = .f.
    ThisForm.text4.Enabled = .f.
    ThisForm.text5.Enabled = .f.
    ThisForm.text6.Enabled = .f.
    ThisForm.text7.Enabled = .f.
    ThisForm.text8.Enabled = .f.
    ThisForm.text9.Enabled = .f.
    ThisForm.text10.Enabled = .f.
    ThisForm.text11.Enabled = .f.
ENDIF
thisform.refresh
Si primero que todo te envie el codigo repetido, pero ete es:
IF EMPTY(ThisForm.text1.Value)
  MESSAGEBOX("DEBE INGRESAR DATOS ",0+64,"Alumnos")
ELSE
    MESSAGEBOX("LOS DATOS HAN SIDO GUARDADOS",0+64,"Alumnos")  
    SELECT 2
    nValor = 1
    GO TOP
    if RECCOUNT() !=0
         nValor = cod.ult_num + 1
     ELSE
        APPEND BLANK
         REPLACE ult_num WITH nvalor
    endif
     SELECT 1
     APPEND BLANK
     REPLACE cod WITH nvalor
     REPLACE nombre1 WITH thisform.text2.Value
    REPLACE nombre2 WITH thisform.text3.Value
    REPLACE apellido1 WITH thisform.text4.value
    REPLACE apellido2 WITH thisform.text5.value
    REPLACE fec_nac WITH thisform.text6.value
    REPLACE lug_nac WITH thisform.text7.value
    REPLACE direccion WITH thisform.text8.value
    REPLACE telefono WITH thisform.text9.value
    REPLACE grado WITH thisform.text10.value
     REPLACE sexo WITH thisform.text11.value
     SELECT 2
     replace ult_num WITH nvalor
     SELECT 1
    ThisForm.text1.Enabled = .f.
    ThisForm.text2.Enabled = .f.
    ThisForm.text3.Enabled = .f.
    ThisForm.text4.Enabled = .f.
    ThisForm.text5.Enabled = .f.
    ThisForm.text6.Enabled = .f.
    ThisForm.text7.Enabled = .f.
    ThisForm.text8.Enabled = .f.
    ThisForm.text9.Enabled = .f.
    ThisForm.text10.Enabled = .f.
    ThisForm.text11.Enabled = .f.
Endif
Thisform. Refresh
Pruebalo, adicionalmente entra al archivo cod.dbf y borra toda la informacion deja solo un registrop con el codigo del último alumno.
Exitos
amigo si me funciono pero lo que pasa es q me sigue guardando dede codigo 2
ya me guarda los registros sin remplazar
me los guarda de mayor a menor osea 5- 4 - 3 - 2  hasta el 2
como podria hacer para q me los guarde 1 - 2 -3 - 4 - 5 etc
ahh y q pena por molestar como hago para llamar los registros de una tabla al form por q al darle atras o adelante me sale error
muchas gracias por la ayuda
???????
Vamos a hacer una cosa, finaliza esta pregunta y me formulas la nueva, ¿ok? Yo te envio lel codigo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas