REMPLAZAR REGISTROS DE UN GRID2 AL OTRO GRID2 DEPENDIENDO DE CHECKBOX ACTIVOS

42 views
Skip to first unread message

Pool

unread,
May 27, 2016, 10:07:52 AM5/27/16
to Comunidad de Visual Foxpro en Español
Hola a todos los foxeros mi consulta es la siguiente tengo 2 grids  ...grid1 y grid2  en los dos grid estan asociados a diferentes tablas que contienen campos similares  en los dos grids tengo un checkbox que voy a seleccionar dependiendo del valor que se refleja en la tablas "campoeleccion" de los registros que deseo remplazarlos por los registros del otro grid2 y tambien quisiera que con un boton o eventos de teclas  pueda insertar a la tabla del grid1 un nuevo registro del grid2. 
YO LE ESTOY INTENTADO DE ESTA MANERA PEPRO SOLO ACTULIZA EL ULTIMO REGISTRO DEL GRID

SELECT 46 && el area de trabajo de mi tabla Tmpdetalleproreq
Go Top
Do While !Eof()
Select tmpdetallereq
*SCATTER MEMVAR 
*replace verf1 WITH 0
SCAN  FOR tmpdetallereq.eleccion=tmpdetallecotiz.eleccion
Replace  tmpdetallereq.descripcio With tmpdetallecotiz.descripcio ,;
tmpdetallereq.codproreq  WITH tmpdetallecotiz.codproreq ,;
tmpdetallereq.unidad     WITH tmpdetallecotiz.unidad ,;
tmpdetallereq.codunid    WITH tmpdetallecotiz.codunid ,;
tmpdetallereq.cant       with tmpdetallecotiz.cant , ;
tmpdetallereq.patron     with tmpdetallecotiz.patron ,  ;
tmpdetallereq.medida     with tmpdetallecotiz.medida , ;
tmpdetallereq.codmedida  with tmpdetallecotiz.codmedida , ;
tmpdetallereq.fechorlist with tmpdetallecotiz.fechorlist
ENDscan
 
*FOR tmpdetallereq.eleccion= tmpdetallecotiz.eleccion
*tmpdetallereq.eleccion =1 AND  tmpdetallecotiz.eleccion =1 AND 
Select 50 &&el area de trabajo de mi tabla tmpdetallecotizacion
Skip
ENDDO
thisform.grdDetalleReq.Refresh 
thisform.Refresh

adjunto una imagen......por favor alguien por ahi que ya aya pasado por similar experiencia pueda ayudarme se los agradesco....

Pasar Gri2 al grid1.png

Fidel Charny

unread,
May 27, 2016, 5:49:20 PM5/27/16
to Comunidad de Visual Foxpro en Español
Hola Pool
No alcalnzo a detectar cual es la pregunta o el problema. Pero si te digo:
1) Nunca utilices el número de área de trabajo.
Cuando creas un cursor, no puedes seleccionar el área donde se crea, pues siempre se creará en la menor disponible. Igual cuando abres una tabla con USE TABLA IN 0.
Si conoces el nombre de la tabla o cursor, siempre es SELECT Tabla, si el nombre está contenido en una variable, SELECT (variable).
Por ejemplo, para seleccionar la tabla o cursor asignado a un grid:
SELECT (thisform.grid1.recordsource)

2) Para utilizar REPLACE, lo recomendable es seleccionar el área, y ya no necesitas calificar el campo de tabla o cursor cuyo valor se reemplaza.
SELECT tmpDetalleReq
          REPLACE Descripcio with tmpDetalleCotiz.descripcio

3) Para el tema, supongo que "elegir" es el campo que corresponde al ControlSource de la columna que tiene el checkbox. Si es así, no entiendo lo que quieres hacer. Las coincidencias de los campos elegir de ambas tablas se pueden dar para una multitud de registros que poco tienen que ver unos con otros. Supuestamente debes tener un identificador de producto (numérico o alfanumérico).

4) Comenta siempre cual es la idea y cual es el problema que tienes para implementarla. Cada cabeza trabaja a su modo.

5) Trata de limpiar el código que muestras (todos esas lineas comentadas) y que se muestre íntegramente. Ahí, por ejemplo, no se ve el ENDSCAN correspondiente.
Y mete el código dentro de un bloque { } que está justamente para eso.

En resumen, cuanto mejor presentes el tema, más apropiada será la respuesta.
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

exl260708 .

unread,
May 28, 2016, 9:23:21 AM5/28/16
to publice...@googlegroups.com
Gracias por responderme Fidel ;
Bueno yo soy programador novato en fox pro  pero con muchas ganas de aprender cada dia mas y agradesco mucho a personas de la comunidad que gracias a ellos y  sus expiencia e podido aprender mucho mas en estos momentos estoy desarrollando un sistema de almacen . te cuento
El grid1  PRODUCTOS REQUERIDOS  son productos que cada usuario o solicitante hace sus requerimientos ,
Luego en el Grid2 PRODUCTOS COTIZADOS  son productos que el operador del sistema de almacen o encargado del area cotiza los productos y los muestra en el Grid2 de ahi el solicitante verifica que los productos que a pedido sean los correctos y si hay productos similares o que cumplen con las necesidades que sea
Debe elegir en Checbox del Grid1 cuales son los que va a remplazarlos con los productos  que elija en el grid2 ...
Pero amigo Fidel me he dado cuenta que prodria ser q el solicitantes escoga desordenadamente los productos es por eso que mejor lo he echo de esta manera elimino los item selecionados en el grid1(tmpDetalleReq  ) y  agrego los item seleccionados en el grid2(tmpDetalleCotiz) eso si validando siempre que las cantidades de item seleccionados tanto en el grid1 y grid2 sean iguales .
Bueno con respeto a tmpDetalleReq  asociada con grid1 es  una tabla que lo abro Use tmpDetalleReq   IN  46  que lo utilizo temporalmente asociada al grid1 para seleccionar los productos y lo hago de esa manera por que no se hacerlo de otra forma , tengo un combobox dentro del grid que ahi selecciono los productos y tambien otros campos como  unidad "GALON" Y patron de medida "LITROS" y en tmpDetalleCotiz asociado al otro grid2 el almacenero ingresa las cotizaciones .y  despues se guardan los registros en otras tablas  .....
Bueno no se si estara bien hacerlo de esta manera si talvez puedes aconsegarme cual es la manera correcta
Te adjunto el Formulario para lo veas si estoy programando bien o estoy fallando bueno amigo Fidel muchas Gracias espero tu mensaje .......
La Carpeta lo Pegas en D:\
ALMACEN.ra_r
Reply all
Reply to author
Forward
0 new messages