FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Realizar un Locate en un Dataset que se encuentra en Edicion..
Hola muchachos, nuevamente los estoy visitando
Ayer estube trabajando con un DBGrid que se encuentra conectado a un TDataset por medio de un TDataSource y en el cual cargo los detalles de los comprobantes de venta, compra, etc. Lo que he tratado de hacer es que cuando se este haciendo una nueva factura o comprobante (en modo de Insercion o Edicion) no pueda duplicar un mismo codigo de articulo en la grilla ya que mi tabla tiene el campo codigo como parte de la Clave Primaria y en el caso de que sea duplicado se posicione en el codigo que ya estaba anteriormente. IMPORTANTE: LO QUE QUIERO CON ESTO ES QUE CUANDO SE INGRESE UN CODIGO QUE YA EXISTE, BUSQUE LA POSICION EN QUE ESTA EL CODIGO ANTERIOR Y QUE SE TRASLADE EL FOCO A LA FILA Y COLUMNA DEL CODIGO ANTERIOR. ASI SI EL OPERADOR DESEA AGREGAR MAS CANTIDAD DE UN PRODUCTO QUE YA HABIA CARGADO ANTERIORMENTE, DIRECTAMENTE SE POSICIONE EN LA COLUMNA DE LA CANTIDAD Y LA FILA DEL CODIGO ANTERIOR PARA EDITARLO MAS RAPIDAMENTE. Para el tema de la deteccion de codigos duplicados estube buscando de que valide de alguna manera en el evento OnValidate del campo anticulo en el dataset, que no se esten duplicando los codigos mediante alguna funcion que valide el constraint de la DB para el PK el tiempo de ejecucion, deseado, sin enbargo no encontre informacion para eso. Con respecto al tema de posicionar en la fila del codigo anterior surgio la idea de utilizar el locate en el dataset_detalle, lo interesante es que funciona a nivel del dataset, pero los datos no se reflejan correctamente en el dbgrid distorsionandolos. Tambien probe una opcion interesante, que es la de manejar la tabla como un stringgrid, lo que me permite moverme correctamente a nivel de grilla pero que no se refleja en el Dataset.
Ojala que alguien tenga una idea de como hacer funcionar esto.. Saludos.. |
#2
|
||||
|
||||
No repitas hilos, por favor.
Cuando tengas que modificar uno existente usa el botón de EDITAR (que supongo que es lo que ha pasado).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Lamento haber repetido los hilos, al tratar de editarlo porque no me funcionaba bien la etiqueta para el codigo de delphi, me apure en tratar de guardarlo y lo publique nuevamente sin querer..
Gracias por corregirlo.. |
#4
|
|||
|
|||
SUPONGAMOS Q TIENES UNA RELACION DE FACTURAS Y TU PRESIONAS EL BOTON MODIFICAR, UNA VEZ HECHO LO GRABAS, Y NECESITAS ACTULIZAR LOS DATOS EN TU GRID, Y UBICARTE EN EL MISMO REGISTRO
PASO 1 . GUARDAS EN VARIABLES AUXILIARES LOS DATOS NECESARIOS PARA UBICAR TU REGISTRO PASO 2 Refrescar; (HACES LA CONSULTA Q REFRESQUE) PASO 3 LOCALIZAS ADOQuery.Locate('SerieNotaVenta;NroNotaVenta',VarArrayOf([Serie,NroFactura]),[loCaseInsensitive]); OK SUERTE |
#5
|
||||
|
||||
No he leído el hilo al completo, pero estando en edición, si quieres saber un valor de otro registro, puedes usar el método LookUp del dataset, realiza la búsqueda sin modificar la posición actual.
Otra forma sería lanzar una consulta, pero es algo más laborioso, tú decides. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
|||
|
|||
Si Funcionaria,
Disculpa Pero La Edicion La Haces Con Un Update Del Ado, O Por Consulta Sql? Haz Una Edicion Por Sql, Y De Esa Manera Podras Usar El Locate, Filter, Incluso Recorrer El Ado Para Los Resultados Q Desees Y Luego Lanzar Tu Actualizacion Por Sql A Tu Tabla O Tablas Y Luego Refrescar Tus Datos Para Q Se Actualizen |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Copiar el contenido de un DataSet a otro DataSet | Javi2 | Varios | 82 | 22-11-2022 09:26:16 |
Porque no la encuentra? | Migpal | OOP | 3 | 21-09-2005 23:32:52 |
Encuentra los 5 (o mas) errores... | papulo | Varios | 10 | 16-09-2005 09:10:05 |
Como puedo cambiar la propiedad de edicion y no edicion a un StringGrid1 | ctronx | Varios | 2 | 25-06-2004 23:10:19 |
|