Ver Mensaje Individual
  #9  
Antiguo 07-06-2017
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Reputación: 21
santiago14 Va por buen camino
Buen día. Termino la cuestión...

Código Delphi [-]
procedure TfrmABMAgentes.btnElimUsuarioClick(Sender: TObject);
var
  MiUsuario:string;
begin
  //showmessage(IntToSTr(tblUsuarios.RecNo));
  with DataModule1 do
  begin
  //Eliminación del usuario
    if tblUsuarios.RecNo > 0 then
    begin
      MiUsuario:=tblUsuarios.FieldByName('UserName').AsString;
      //showmessage(MiUsuario);
      if idYes = Application.MessageBox(PWideChar('¿Confirma eliminación de Usuario?'
        + #13#10 + 'Esta operación NO PODRÁ DESHACERSE.'
        + #13#10 + 'Usuario: ' + MiUsuario), 'Gestión de usuarios,',
        MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2) then
      begin
        terminarTransaccion;
        transaccion.StartTransaction;
        try
        //Si es vendedor, la desactivamos
          CambiarEstadoVendedor(MiUsuario, 'INACTIVO', qUsuarios);
        //Eliminamos el usuario de la BD.
          security_services.AUserName:=MiUsuario;
          security_services.DeleteUser;
          transaccion.Commit;
          Application.MessageBox('Eliminación de usuario terminada.',
            PWideChar(self.Caption), MB_OK + MB_ICONINFORMATION);
          tblUsuarios.Refresh;
        except
          on e:Exception do
          begin
            terminarTransaccion;
            mErrores(e, 'Imposible eliminar usuario seleccionado.', self.Caption);
          end;
        end;
      end; //del segundo if
    end
    else
    begin
      Application.MessageBox('Debe seleccionar un Usuario,',
        PWideChar(self.Caption), MB_OK + MB_ICONERROR);
    end;
  end; //del with
end;

procedure TfrmABMAgentes.btnNuevoUsuarioClick(Sender: TObject);
begin
  ventana_modal(TfrmNuevoUsuario);
end;

procedure TfrmABMAgentes.btnBuscarUsuariosClick(Sender: TObject);
var
  nombre,
  grupo: string;
begin
  nombre:=AnsiupperCase(trim(txtUsuario.Text));
  //grupo:=AnsiupperCase(trim(txtGrupo.Text));
  with tblUsuarios, DataModule1 do
  begin
  //Los filtros de búsqueda
    Filtered := False;
    Filter := 'UserName <> ' + QuotedStr('SYSDBA')
      + 'AND UserName LIKE ' + QuotedStr('%' + nombre + '%');
    Filtered := True;
    terminarTransaccion;
    transaccion.StartTransaction;
    try
      security_services.DisplayUsers;
      tblUsuarios.AttachTable(security_services.Users, nil);
      tblUsuarios.Open;
      grdUsuarios.Columns[1].Visible:=False; //Password
      grdUsuarios.Columns[5].Visible:=False; //UserID
      grdUsuarios.Columns[6].Visible:=False; //GroupID
      grdUsuarios.Columns[7].Visible:=False; //GroupName
      grdUsuarios.Columns[8].Visible:=False; //RoleName
      transaccion.Commit;
    except
      on e:Exception do
      begin
        terminarTransaccion;
        mErrores(e, 'No se pudieron recuperar los Usuarios.', 'Gestión de Usuarios.');
      end;
    end;
  end;
end;

procedure TfrmABMAgentes.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=caFree;
end;


procedure TfrmABMAgentes.BtnSalirClick(Sender: TObject);
begin
  Close;
end;

Es bastante simple.
Una pequeña contribución con este Foro que siempre me ha sacado de mas de un incendio.

Gracias.
Archivos Adjuntos
Tipo de Archivo: rar Usuarios.rar (38,8 KB, 11 visitas)
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita