Delphi - error de VALOR DE bof O eof ES TRUE....

   
Vista:

error de VALOR DE bof O eof ES TRUE....

Publicado por eliana l. (6 intervenciones) el 23/12/2012 17:52:08
Tengo una base datos, de 4 campos
numero, nombre, apellido, edad, valor (numero, valor : integer y nombre apellido string)

la DB esta vacia, sin ningun registro, hecha en acces


Al iniciar el programa, primero comprueba si la BD esta vacia o no, si esta vacia entonces el campo NUMERO se inicia con 1, y con ese valor identifico al persona, y continuo cargando los demas datos que me pide y guardo en la BD los datos cargado

NUMERO
NOMBRE
APELLIDO
EDAD
VALOR

Si el campo NUMERO es distinto de cero, (ES POR QUE YA HAY UNA PERSONA REGISTRADA) entonces tomo el valor de NUMERO y le sumo UNO, para con ese resultado identificar a la siguiente persona.

perfecto asta aca, cuando cargo todos los datos en los edit, presiono el boton GUARDAR ME SALTA ESTE ERROR

********** proyect1.exe raised exception class eoleeXCEOTION WITH MESSAGE
********** eL VALOR DE bof O eof ES TRUE O EL ACTUAL REGISTRO SE ELIMINO,
********** LA OEPRACION REQUIERE UN REGISTRO ACTUAL


Antes me aparecia este error
********** "is not a valided integer value"

Pero con ayuda de un usuario del foro ET, me corrigio este error, aora continuo con los errores, jaja...


Si abro el BD con acces y cargo un registro, este error no me aparece cuando inicio el programa, me salta solo cuando la BD esta vacia.



este es el codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
procedure TFAltaJud.FormCreate(Sender: TObject);
var
   x : integer;
begin
ADOTable1.Active := True;
ADOTable1.Last;   // me posiscina ultimo registro
FAltaJud.edit7.text := ADOTable1.FieldByName('Numero').AsString ;
 
// el IF de abajo es para cuando se va a registrar el primer registro,
// como sera igual a  '' (NADA, VACIO)  entonces, pongo x=1
// CORREGIDO..si el registro es  = '' me salta un error
 
if (ADOTable1.FieldByName('Numero').AsString = '0') or (ADOTable1.FieldByName('Numero').AsString = '') then
   x := 1
 else
   // aca siempre entrara despues de grabar el primer registro
   // X sera el contador de registros
   x := StrToInt(ADOTable1.FieldByName('Numero').AsString) + 1;
 
edit1.text := IntToStr(x);
 
end;
 
 
 
 
/ boton POST, GUARDAR
procedure TFAltaJud.Button2Click(Sender: TObject);
var
   xx : integer;
begin
   { Guardar datos  }
ADOTable1.Insert;
ADOTable1.FieldByName('Numero').AsString := Edit1.Text;
ADOTable1.FieldByName('nombre').AsString := Edit2.Text;
ADOTable1.FieldByName('apellido').AsString := Edit3.Text;
ADOTable1.FieldByName('valoe').AsString := Edit4.Text;
ADOTable1.Post;
 
// calculo el valor ultimo registro cargado, le sumo 1, y obtendo el siguiente valor concecutivo de registro y lo pongo en EDIT1.TEXT
 
ADOTable1.Last;
xx := StrToInt(ADOTable1.FieldByName('Numero').AsString) + 1;
edit1.text := IntToStr(xx);
 
// limpio los edit para carga de nuevos datos
// el edit1 ya tendra el nuevo valor de registro a introducir
Edit2.clear;
Edit3.clear;
Edit4.clear;
Edit2.setfocus;
end;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

error de VALOR DE bof O eof ES TRUE....

Publicado por E.T. (1105 intervenciones) el 24/12/2012 17:04:31
En lugar de usar:

ADOTable1.Insert;

intenta con

ADOTable1.Append;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error de VALOR DE bof O eof ES TRUE....

Publicado por eliana l. (6 intervenciones) el 26/12/2012 12:05:41
gracias por su respuesta, lo he probado, pero me sigue saliendo el mismo error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error de VALOR DE bof O eof ES TRUE....

Publicado por E.T. (1105 intervenciones) el 26/12/2012 17:29:31
Podrias verificar cual linea es la que arroja el error?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error de VALOR DE bof O eof ES TRUE....

Publicado por eliana l. (6 intervenciones) el 26/12/2012 23:15:37
probando.. me slata el error siempre en esta linea

ADOTable1.FieldByName('Numero').AsString := Edit1.Text;

tengo tambien un boton CERRAR, inicio el programa y le doy cerrar y cargar nada, me salta este mismo error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error de VALOR DE bof O eof ES TRUE....

Publicado por E.T. (1105 intervenciones) el 27/12/2012 02:50:26
Intenta de nuevo, pero comenta la linea "ADOTable1.Last;", para que no se ejecute,
y al insertar usa el Append, solo para ver si te da error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error de VALOR DE bof O eof ES TRUE....

Publicado por eliana l. (6 intervenciones) el 30/12/2012 16:45:14
ola de nuevo, sigue lo mismo, me sigue saliendo ese error, me salta solo cuando la base datos esta vacia
BD vacia

* ejecuto el programa, y hago click en boton salir, sin guardar ningun dato, me slata el error
* cargo el primer registro, doy click en guardar, y luego click en CERRAR para cerrar/ salir del programa y me salta el error, pero igual me guarda esos datos que cargue
* ejecuto/cargo d enuevo el programa, cierro, o cargo mas datos y el error ya no me aparece mas....


bueno.. algo estara medio mal por ahi, lo vovlere a hacer el programita, igual no tiene mucho codigo complicado, y vere k error es el que me anda molestando..

gracias por su tiempo

Feliz navidad y año nuevo, que pase bien rodeado de su familia y amigos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar