PDA

Ver la Versión Completa : Problemas al Grabar un Campo.


utephi_14
15-04-2005, 17:41:50
Este codigo lo tengo en el Boton Grabar...
BaseDatos.TbUsuario.Post;
//Solo lectura a los DBEdits
TxtCodigo.ReadOnly:=True;
TxtNombre.ReadOnly:=True;
TxtUsuario.ReadOnly:=True;
TxtContrasena.ReadOnly:=True;
TxtConfirmar.ReadOnly:=True;
TxtIngreso.ReadOnly:=True;
TxtVencimiento.ReadOnly:=True;
TxtNivel.ReadOnly:=True;
TxtTipo.ReadOnly:=True;
//Declarando el Color de Los Dbedits.
TxtCodigo.Color:=clScrollBar;
TxtNombre.Color:=clScrollBar;
TxtUsuario.Color:=clScrollBar;
TxtContrasena.Color:=clScrollBar;
TxtConfirmar.Color:=clScrollBar;
TxtIngreso.Color:=clScrollBar;
TxtVencimiento.Color:=clScrollBar;
TxtNivel.Color:=clScrollBar;
TxtTipo.Color:=clScrollBar;
ToolBar1.SetFocus;
Grabar.Enabled:=false;
Cancelar.Enabled:=false;
Eliminar.Enabled:=true;
Nuevo.Enabled:=true;
Modificar.Enabled:=true;
DBNavigator1.Enabled:=true;
Salir.Enabled:=true;

El Problema es que quiero que los Datos despues de Grabados no se vean en los DBEdits. Como puedo hacerlo....... Trate de Darle un punto Clear.. y Me desplego un error diciendome que debe de estar en modo de Edit e Insert....

Como Lo hago?

Pablo Carlos
15-04-2005, 18:01:35
Hola... y si pruebas cerrando la tabla.-
Saludos

PINO72
15-04-2005, 18:17:32
Vamos a ver:
Los controles DBEdits contienen el reflejo del contenido de los campos en todo momento.

Si quieres que los campos del formulario se vacíen de contenido sólo tienes que hacer Tabla.Insert; al comienzo de la entrada de Datos, el BDE se encargará de reiniciar los valores correctos para cada uno de los DBEdits.

Si quieres modificar los datos actuales, el método es Tabla.Edit , con lo que en esta ocasión los DBEdits no se borran, sino que quedan preparados para su modificación.

Estos dos métodos no servirán de nada si no hacemos un Tabla.Post al finalizar la captura de los datos, si bien con el primero agregaremos un registro , con el segundo modificaremos el actual con los nuevos valores de los DBEdits.

Espero haberte ayudado...

utephi_14
15-04-2005, 19:48:09
En ralidad Pino72, creo que no me entendiste........ A ciencia cierta para yo poder grabar un campo, debe de sufrir una edicion, o insercion u modificacion...... Pero lo que en realidad deceo es que cuando yo diga:

BaseDatos.Tbusuario.Refresh; el cual me permite modificar.. Despues de modificar. Yo diga: BaseDatos.TbUsuario.post:. entonces cuando grabe mi registro......Los debedits no se queden cargados en los DbEdits, sino que no se muestren los registros en los DbEdits, despues de Grabado......



Espero que me entienda.

LucianoRey
15-04-2005, 22:53:02
Me parece, y sin animo de ofender, que el que esta confundido eres tu, primero el metodo refresh, no te permite editar, te actualiza, tu tabla ó consulta.

Luego lo que normalmente pasa cuando enlazas los campos de tu tabla a los dbedits, es que, si editas te muestra el registro a editar, y si insertas te abre un nuevo registro y es lo que ves como dbedits limpios.

Entonces para que no veas nada, lo que decia Pablo, cerrar la tabla ó como Pino72, dar un insert ó un append, bueno me parecen las soluciones mas usadas, no las unicas(creo), espero que sirva eso para lo que quieres, saludos.

vtdeleon
16-04-2005, 05:58:21
Saludos.
...Trate de Darle un punto Clear.. y Me desplego un error diciendome que debe de estar en modo de Edit e Insert....QUe extra~o que no te funcione ...
dbedit1.clear; ya que a mi parecer limpia la casilla del dbedit pero no asi el contenido del campo involucrado.