
[RESUELTO] dataset not in edit or insert mode
#1
Posted 23 January 2011 - 10:57 AM
Al añadir los datos me da este error "dataset not in edit or insert mode".
Las tablas estan abiertas y en modo append. no entiendo que pasa.
;e podeis ayudar?.
Un saludo.
#2
Posted 23 January 2011 - 11:06 AM
Podrías regalarnos un poco mas de información?
-Como te conectas?
-Si es posible un poco de tu código, (en donde te sale el error).
Saludos
#3
Posted 23 January 2011 - 11:45 AM
el codigo
if TMaq.Locate('Ser',OSer.Text,[]) then TCont.Open ; TCont.Edit ; TCont.FieldValues['Fec'] := cFec.Date ; TCont.FieldValues['Ca1'] := StrToFloatDef(Cb1.Text,0) ; TCont.FieldValues['Ca05'] := StrToFloatDef(Cb05.Text,0) ; Dt4.TCont.Post ;
el error me lo da cuando entra en la tabla TCont.
#4
Posted 23 January 2011 - 11:58 AM
En caso de que Locate devuelva True, lo que hará es Abrir la tabla TCont, posicionarse en el primer registro y editarlo ( no se si eso es lo que quieres) de todas formas te faltan el begin y el end para que no de error en caso de que Locate devuelva false. Si lo que qieres es agregar un nuevo resgistro cambia el TCot.Edit por TCont:Append.
if TMaq.Locate('Ser',OSer.Text,[]) then begin TCont.Open ; TCont.Edit ; TCont.FieldValues['Fec'] := cFec.Date ; TCont.FieldValues['Ca1'] := StrToFloatDef(Cb1.Text,0) ; TCont.FieldValues['Ca05'] := StrToFloatDef(Cb05.Text,0) ; TCont.Post end
#5
Posted 23 January 2011 - 01:34 PM
TMaq.Open ; TCont.open ; TMaq.Append ; TCont.Append ; TMaq.FieldValues['Ser'] := ASer.Text ; TCont.FieldValues['Ser'] := ASer.Text ; TMaq.FieldValues['Mod'] := AMod.Text ; TCont.FieldValues['Fec'] := AFec.Date ; TCont.FieldValues['Ca1'] := StrToFloatDef(Ca1.Text,0) ; Tcont.FieldValues['Ca2'] := StrToFloatDef(Ca2.Text,0) ; TCont.FieldValues['Ca05'] := StrToFloatDef(Ca05.Text,0) ; TCont.FieldValues['Ca02'] := StrToFloatDef(Ca02.Text,0) ; TCont.FieldValues['Ca01'] := StrToFloatDef(Ca01.Text,0) ; TMaq.Post ; TCont.Post ;
Oerdona pero me he equivocado de codigo.
Este es el codigo que me da el error, al añadir en tabla Tcont.
#6
Posted 24 January 2011 - 05:14 AM
Perdona pero me he equivocado de codigo.
Este es el codigo que me da el error, al añadir en tabla Tcont.
¿ En que línea salta el error ?.
#7
Posted 24 January 2011 - 01:52 PM
TCont.FieldValues['Ser'] := ASer.Text ;
en esta linea.
#8
Posted 24 January 2011 - 02:34 PM
Saludos
#9
Posted 24 January 2011 - 02:39 PM
Yo te aconsejo que hagas las cosas de forma secuencial, es decir
TMaq.Open ; TMaq.Append ; TMaq.FieldValues['Ser'] := ASer.Text ; TMaq.FieldValues['Mod'] := AMod.Text ; TMaq.Post ; TCont.open ; TCont.Append ; TCont.FieldValues['Ser'] := ASer.Text ; TCont.FieldValues['Fec'] := AFec.Date ; TCont.FieldValues['Ca1'] := StrToFloatDef(Ca1.Text,0) ; Tcont.FieldValues['Ca2'] := StrToFloatDef(Ca2.Text,0) ; TCont.FieldValues['Ca05'] := StrToFloatDef(Ca05.Text,0) ; TCont.FieldValues['Ca02'] := StrToFloatDef(Ca02.Text,0) ; TCont.FieldValues['Ca01'] := StrToFloatDef(Ca01.Text,0) ; TCont.Post ;
Saludos,
#10
Posted 25 January 2011 - 05:08 AM
Revisa si depronto hay un evento ONChange asociado con ese campo, o con el dbcontrol de ese campo, o con el TDataSource, que depronto llamara a Post antes de terminar el procedimiento.
Coincido en que esto parece lo más probable.
Hay algún evento que te hace un Post en el Dataset.
#11
Posted 26 January 2011 - 02:27 PM
al final he echo lo que me dijo pacopenin y funciona perfectamente.
Gracias a todos por vuestra ayuda.
Un saludo