FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
cual es la mejor forma de llamar a un formulario de modificación de datos
Hola nuevamente hace día he estado trabajando con formularios el cual se me han presentado inconvenientes, me he apoyado en literatura por ejemplo la cara ocultad e delphi, delphi7, delphi handbook (para uso de ribbon). Algunos de ellos brindan técnicas la cual realizo pero una cosa es la teoría y la otra es la practica ustedes deben de saber eso.
Gracias a este foro he encontrado personas que me han ayudado no dándome todo fácil pero si guiándome lo suficiente y a ellos les agradezco. Siguiendo el asunto de formularios el inconveniente que poseo actualmente es que necesito utilizar mi formulario de ingreso de registros también como formulario de modificación de registro mi código actual algunos los conocen es.
Este es el boton de llamar al formulario para ser modificado
Este es un procedimiento de modificar en el boton
Como dije se me están presentando inconvenientes por ejemplo Al estar el formuolario abierto si no le doy clic algun dbEdit no se muestran los datos que quiero modificar.. Saludos; |
#3
|
||||
|
||||
mmmm me parece algo complicado tu codigo.. tienes muchas cosas que son redundantes
por ejemplo
yo particularmente hago esto Boton Modificar del form donde muestro los datos
y en el create del formulario invocado hago mas o menos esto
y en el boton de grabar hago mas o menos esto
__________________
Dulce Regalo que Satanas manda para mi..... |
#4
|
|||
|
|||
hola oscarac respecto a lo reduntante he notado que:
Por eso los utilizo... Se me comporta extraño el formulario cuando uso métodos que se consideran "apropiados". Saludos; |
#5
|
||||
|
||||
ohh ya
pero eso depende de la instancia y lo que quieras hacer con el registro activo
__________________
Dulce Regalo que Satanas manda para mi..... |
#6
|
||||
|
||||
Hola
Coloca un checkbox en el form: saludos
__________________
Siempre Novato |
#7
|
||||
|
||||
A cómo dice Oscarac, parece que te has complicado en algo que puede ser simple. No te preocupes, estás empezando y es lo más normal de todo el mundo. En mi caso, fíjate lo que hago:
Declaro dos contructores en la clase (los llamo "visores de registro", para diferenciarlos de los "exploradores de registro"). La declaración de los constructores es más o menos así:
Luego en la implementación de cada constructor preparo el enlace a datos de la forma más adecuada para el modo en el que se trabajará. El proceso de guardar los cambios o ya sea un nuevo registro, es casi lo mismo. En síntesis solo se requiere de una llamada a Post. Saludos, Chris |
#8
|
||||
|
||||
Desde luego, depende de como se hace el enlace, pero no me cuadra mucho lo de los dos constructores. A la ventana de edición de registro debería darle lo mismo si está editando un registro existente o uno nuevo. La diferencia debiera darla quien abre la ventana poniendo el dataset en modo de edición o de inserción.
// Saludos |
#9
|
||||
|
||||
Cita:
Una simple línea de código. Si lo que quieres modificar otro registro, también solo faltará con una simple línea de código
Cita:
Saludos, Chris |
#10
|
|||
|
|||
como dijo roman
Cita:
Lo que entiendo de chris es que voy a crear una clase que puedo mas adelante utilizarla eso en teoría la puedo llamar herencia. (Si me equivoco corrijan). Lo intentare porque no me he puesto a observar y practicar mucho la herencia y el poliformismo en la programación. Saludos; Novato_erick |
#11
|
|||
|
|||
Una pregunta Chris:
Porque me manda error. identificador no declarado... Saludos; Última edición por novato_erick fecha: 04-08-2011 a las 05:59:08. |
#12
|
||||
|
||||
No veo por qué. Se requiere una sóla línea de código para poner en modo de edición o de inserción al dataset. Normalmente, dicho código lo colocaría yo en el evento Execute de una TAction, lo cual te permite llamar al mismo código desde varios lugares. En dicho evento puedes colocar cualquier otra cosa que haga falta para personalizar el visor.
Como dije antes, en mi opinión, es un error de diseño dejar a la clase visora la tarea de escoger ese menester pues, para empezar, dicha clase debería ser agnóstica del dataset. // Saludos |
#13
|
||||
|
||||
Cita:
// Saludos |
#14
|
|||
|
|||
Bueno logre poner en modo de Edición mi procedimiento al llamar el formulario en modo de edición he aquí la forma en que lo deje.
Sin embargo aun pasa algo extraño, no me muestra los datos en seguida en los dbedit al abrir el formulario para ser modificados si no le doy click en algun dbEdit. ¿Alguien tiene alguna idea de como sulucionar este problema en si? aquí esta como llamo a mi formulario en modo de Edición en el DBGrid con el evento DblClick
aquí llamo el modo de edición con un TButton:
|
#15
|
||||
|
||||
mmm me atrevo a preguntar si los dbedits estan asociados a un datasource?
__________________
Dulce Regalo que Satanas manda para mi..... |
#16
|
||||
|
||||
Yo veo raro tu código. Aparentemente, el código de inserción de un nuevo registro se ejecuta aún cuando lo que quieras sea editar un registro existente. Es más, en tal caso creas la ventana frmCliente ¡dos veces!
Por otra parte, creo que sería mejor mostrar la ventana con ShowModal, a menos que haya alguna razón especial que no conozco. // Saludos |
#17
|
|||
|
|||
Así es oscarac
Este esta en dmAcceso.cdsClientes DataSource properties AutoEdit = True DataSet = dmAcceso.cdsClientes Enable = True Name = dsClientes Tag = 0 Saludos; |
#18
|
||||
|
||||
Yo tambien pienso que te estas complicando la existencia.... anteriormente te deje unos ejemplos de como lo hago yo.. quiza no seas una de las mejores formas pero me parece mucho mas sencillo que el tuyo
segun entiendo.. en un formulario de modificacion de datos puedes ejecutar 3 acciones 1.- agregar registros (append) 2.- modificar registros (edit) 3.- eliminar registros (delete) la informacion en el form en cualquiera de los 3 casosa (con reservas en el modo insertar) es la misma y el procedimiento de aperturar el form deberia ser el mismo segun YO cuando preguntas si el formulario = nil, es porque no tienes un control del flujo del programa.... creas un formulario y cuando lo cierras lo destruyes.. eso te evita preguntar si esta nil del mismo modo con los botones... tienes 2 botonos 1 para crear y el otro para modificar... cuando deberias tener solo 1 que puedes cambiar el caption segun la accion y dentro del onclick manejar las "acciones" a seguir... segun hice referencia en los ejemplos que te deje anteriormente sin animos de desanimarte ni mucho menos de hacerte cambiar de opinion (porque puede existir una buena razon del porque lo haces de esa forma), esos son mis comentarios salvo error u omision o alguien con mas conocimientos me pueda corregir y de paso aprender mas.. saludos
__________________
Dulce Regalo que Satanas manda para mi..... |
#19
|
||||
|
||||
Cita:
Saludos, Chris |
#20
|
||||
|
||||
De hecho, ¿por qué frmCliente tiene un botón Modificar y uno Guardar? Yo pondría sólo el botón Guardar que sirve para lo mismo en ambos casos (inserción y edición): guardar los datos. Es más, si el formulario se muestra modalmente, dicho botón Guardar únicamente pondría la propiedad ModalResult del formulario en mrOk para que la ventana que lo abrió sepa que se aceptan los cambios y se haga el Post a la base de datos.
Por otra parte, oscarac, no me queda claro que el mismo formulario se use para borrar registros. Creo que esa operación quedaría mejor en un explorador de registros, siguiendo la terminología de Chris. // Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cual es la mejor forma de conectar con la BD | GerTorresM | Conexión con bases de datos | 1 | 11-01-2010 16:51:47 |
Cuál es la mejor forma de conectar la base de datos a mi programa? | martinzcr | Varios | 8 | 06-09-2007 16:28:41 |
cual es la mejor forma ? | martita | Varios | 14 | 07-07-2005 19:35:55 |
Cual es la mejor forma de pasar datos de MSaccess a MySQL | ctronx | Conexión con bases de datos | 7 | 04-08-2004 01:04:53 |
Cual es la mejor forma de Conectarse a una base de Datos Acces? | catapulta | Conexión con bases de datos | 1 | 07-05-2003 05:04:21 |
|