![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#9
|
|||
|
|||
|
bueno, el problema no se porque se dio, el chiste es que lo puse en otra parte del codigo y ya no me marco el error.
mi proyecto hace lo siguiente: son seguimiento de solicitudes (dar de alta una solcitud, y capturar los resultados de los analisis) Primero: en cualquier computadora en donde corre el "programa cliente" doy de alta una solicitud(usuario) con el folio 1, entonces el analista que es el que va a capturar los resultados de los analisis, captura los resultados en la computadora que tiene asignada(en el laboratorio), abre la solicitud con ese folio y le muestra el numero de analisis que tiene que capturar y los captura. p.e. el alta de la solicitud de analisis tiene 3 analisis iguales, para esto asigno un stringgrid donde muestra por medio de renglones el numero de analisis a capturar o realizar( cada renglon representa un analisis) utilizo un stringgrid.cellselect para saber cual analisis va a capturar( esto es porque en la bd tengo tambien un registro por cada analisis), asigno el numero de renglon a una variable, y se supone que si le doy clic en el primer renglon de stringgrid, le capturo algunos resultados estos me los debe de guardar en el primer registro de la bd; si le dos clic en el segundo, me los debe de guardar en el 2o reg, y asi consecutivamente. y al mismo tiempo me los va mostrando en el stringgrid y me los muestra bien, hasta ahi todo va bien(supuestamente), pero cuando cierro la aplicacion y la vuelvo a abrir, me muestra los resultados de los analisis pero todos con los mismos resultados, a pesar de que yo nada mas capture uno, p.e. si son 4 analisis y yo capture el primero, en los demas registros me muestra los mismos datos que el primero. siento que algo anda mal al posicionarme en el registro. primero tengo un ciclo para buscar el analisis, cuando encuentro el analisis o registro, lo edito y despues hago las asignaciones pertinentes. Pongo el ciclo for en el cual hago eso for encontrar := 0 to modulotablas.resul_textil.RecordCount do begin if modulotablas.resul_textil.FieldByName('Labfolio').value = edit1.Text then begin inc(conta); //incremento el contador, contador siempre empieza en 0 if conta < strtoint (label3.Caption) then //label 3 es que tiene el renglon que le di clic modulotablas.resul_textil.Next //si es menor paso al siguiente registro else Begin if ((modulotablas.resul_textil.FieldByName('LabFolio').value = edit1.text) and (conta = strtoint(label3.Caption)))then de lo contrario, si es el registro que quiero y el contador es igual a el renglon //if conta = strtoint(label3.Caption) then Begin modulotablas.resul_textil.Edit; <----- se supone que aqui edito el registro actual, si no mal me equivoco break; end; //break; end; end //if modulotablas.resul_textil.FieldByName('Labfolio').value = edit1.Text then else modulotablas.resul_textil.Next; end; //for encontrar := 0 to modulotablas.resul_textil.RecordCount do en estre otro ciclo que sigue a continuacion es donde hago la asignacion en este caso en el stringgrrid2 guardo los valores que se modificaron for cont :=0 to stringgrid2.RowCount-1 do begin if ((bandpos = 0) and (regnuevo = 'S')) then Begin if stringgrid2.Cells[2,cont] <> '' then <-----si contiene datos le asigno los resultados que se capturaron -----> Begin modulotablas.resul_textil.FieldByName(stringgrid2.cells[1,cont]).value := stringgrid2.Cells[2,cont]; modulotablas.resul_textil.ApplyUpdates(-1); <----- aplico applyudpate end; <----- si esta vacio, quiere decir que no capturaron ningun dato ---> end else Begin if ((stringgrid2.Cells[2,cont] <> '') and (bandpos =0) and (regnuevo = 'N')) then Begin if (stringgrid2.Cells[2,cont] <> '') then Begin modulotablas.resul_textil.FieldByName(stringgrid2.Cells[1,conta]).value := stringgrid2.Cells[2,cont]; modulotablas.resul_textil.ApplyUpdates(-1); modulotablas.resul_textil.Refresh; end; end; //if ((stringgrid2.Cells[2,conta] <> '') and (bandpos =0) and (regnuevo = 'N')) then end; end; //for conta :=0 to stringgrid2.RowCount-2 do espero que hayan entendido y espero su respuesta, porque la verdad ya me quebrè el cerebro, pero no el encuentro el error Gracias Como te sientes hoy?? |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|