Hola a todos
Tengo el siguiente problema.
En el sistema que estoy haciendo, tengo usuarios de 4 laboratorios(textil, quimico, inyeccion y soplado). Cada laboratorio tiene su forma o pantalla, y dentro de cada pantalla tiene un menu, en el cual en una de tantas opciones tengo una "opcion" de busqueda.
Al inicio del programa me pide el nombre de usuario y contraseña, y dependiendo de donde trabaje el usuario, entra a su pantalla del laboratorio
Ej.
juan perez, laboratorio inyeccion
jose suarez, laboratorio textil
etc..
cuando entro como juan perez o cualquiera que no sea de textil, inmediatamente me manda a la forma de inyeccion, le doy clic en busqueda, selecciono la busqueda por folio, le introduzco el folio en el edit, y le doy clic en busqueda. me regresa la busqueda en un stringrid. todo bien.
pero cuando entro como jose suarez( esto para para todos los usuarios de laboratorio textil), me aparece la forma de laboratorio textil, le doy clic en busqueda, muestro la forma de busqueda, selecciono la opcion de busqueda por folio(logicamente de textil), introduzco el folio y cuando le doy clic en busqueda, me hace la busqueda, pero inmediatamente se cierra la forma y se regresa a la pantalla anterior, sin mas ni mas.
Ya ejecute el codigo linea por linea, y cuando se acaba de ejecutar la ultima linea de la unidad de la forma de busqueda, inmediatamente se ejecuta el onclose de la forma, sin que yo la mande llamar.
Esto pasa solamente con los usuarios de laboratorio textil.
No se porque.
les pongo algo de codigo a ver si alguien me puede ayudar a revisar y donde esta mal, que ya llevo todo el dia revisandolo y no doy.
Código Delphi
[-]
case txtusuario.Text[1] of
'T':
Begin
modulotablas.tbltextil.First;
b := modulotablas.tbltextil.Locate('LabFolio',txtusuario.Text,[locaseinsensitive]);
if (b) then
Begin
stringgrid1.Cells[0,form_busqueda.StringGrid1.RowCount-1] := modulotablas.tbltextil.FieldByName('LabFolio').value;
stringgrid1.Cells[1,form_busqueda.stringgrid1.RowCount-1] := estadosol(modulotablas.tbltextil.FieldByName('Estado_sol').value);
stringgrid1.Cells[2,form_busqueda.stringgrid1.RowCount-1] := modulotablas.tbltextil.FieldByName('Solicitante').value;
stringgrid1.RowCount := stringgrid1.RowCount+1;
end;
end; 'Q':
Begin
modulotablas.pre_quimico.First;
b := modulotablas.pre_quimico.Locate('LabFolio',txtusuario.Text,[locaseinsensitive]);
if (b) then
Begin
stringgrid1.Cells[0,form_busqueda.StringGrid1.RowCount-1] := modulotablas.pre_quimico.FieldByName('LabFolio').value;
stringgrid1.Cells[1,form_busqueda.stringgrid1.RowCount-1] := estadosol(modulotablas.pre_quimico.FieldByName('Estado_sol').value);
stringgrid1.Cells[2,form_busqueda.stringgrid1.RowCount-1] := modulotablas.pre_quimico.FieldByName('Solicitante').value;
stringgrid1.RowCount := stringgrid1.RowCount+1;
end;
end; 'I':
Begin
modulotablas.pre_iny.First;
b := modulotablas.pre_iny.Locate('LabFolio',txtusuario.Text,[locaseinsensitive]);
if (b) then
Begin
stringgrid1.Cells[0,form_busqueda.StringGrid1.RowCount-1] := modulotablas.pre_iny.FieldByName('LabFolio').value;
stringgrid1.Cells[1,form_busqueda.stringgrid1.RowCount-1] := estadosol(modulotablas.pre_iny.FieldByName('Estado_sol').value);
stringgrid1.Cells[2,form_busqueda.stringgrid1.RowCount-1] := modulotablas.pre_iny.FieldByName('Solicitante').value;
stringgrid1.RowCount := stringgrid1.RowCount+1;
end;
end; 'S':
Begin
modulotablas.pre_soplado.First;
b := modulotablas.pre_soplado.Locate('LabFolio',txtusuario.Text,[locaseinsensitive]);
if (b) then
Begin
stringgrid1.Cells[0,form_busqueda.StringGrid1.RowCount-1] := modulotablas.pre_soplado.FieldByName('LabFolio').value;
stringgrid1.Cells[1,form_busqueda.stringgrid1.RowCount-1] := estadosol(modulotablas.pre_soplado.FieldByName('Estado_sol').value);
stringgrid1.Cells[2,form_busqueda.stringgrid1.RowCount-1] := modulotablas.pre_soplado.FieldByName('Solicitante').value;
stringgrid1.RowCount := stringgrid1.RowCount+1;
end; end; end;
Gracias!!!
Cómo te sientes hoy??