Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido)Filtrar no RxMemoryData


robinhocne

Pergunta

Olá pessoal,

Estou com um problema e não estou sabendo resolver e querendo saber de uma maneira mais facil e mais curta em códigos,

em um formulário de liberação eu tenho um rxmemorydata1(tblformularios) que lista os formulários da pesquisa para poder liberar, em outro rxmemorydata2(tblforliberados) tenho a lista de formulários que já foram liberados e em outro rxmemorydata3(tblempresa) tenho em quais empresas é para liberar o formulário.

>Então vou liberar por exemplo o formulário CADPESSOAS e PESPESSOAS que já pesquisei e estão carregados no tblformularios.

>Na tblempresa selecionei a empresa 1 e 2 para poder liberar esse dois formulários para essas empresas.

>Mas antes de eu liberar e gravar no tblforliberados eu tenho que passar na tblempresa pegar o nome do formulario na tblformulario e verificar se na tblforliberados já tem se não tiver eu libero ou caso contrario eu pulo ele e vou para o proximo.

estava fazendo mais ou menos assim:

TblEmpresa.first;
  while not TblEmpresa.Eof do
    begin
     // se a empresa estiver marcada entra aki
      if TblEmpresaSeleciona.AsString = 'S' then
         begin
           // verifica se o formulario a liberar está liberado no formularios liberados
            TblForliberados.First;
            while not TblForliberados.Eof do
              begin
                 TblFormularios.First;//pega e passa por cada formulario para ver se esta liberado
                 while not TblFormularios.Eof do
                    begin
                    // se a empresa é diferente do que tem libera
                      if TblEmpresasEmpCodigo.AsString <> TblForliberadosEmpCodigo.AsString then
                        begin
                           //mas se o formulario liberado for diferente do que tem para liberar 
                          if TblForliberadosForFormulario.AsString <> TblFormulariosForFormulario.AsString then
                            begin

                              with TblForliberados do
                                begin
                                  insert;
                                  TblForliberadosEmpCodigo.AsString     := TblEmpresasEmpCodigo.AsString;
                                  TblForliberadosForFormulario.AsString := TblFormulariosForFormulario.AsString;
                                  post;
                                end;

                            end;

                        end;
                      TblFormularios.Next;
                    end;
                TblForliberados.Next;
              end;
         end;
      TblEmpresas.Next;
    end;

mas tá dando uma zica.....

alguém pode me ajudar ?

obrigado;

Editado por robinhocne
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Porque voce não monta uma Select para trazer apenas os registros necessarios ? depois é só salvar

with TblForliberados do
begin
    insert;
    TblForliberadosEmpCodigo.AsString     := TblEmpresasEmpCodigo.AsString;
    TblForliberadosForFormulario.AsString := TblFormulariosForFormulario.AsString;
    post;
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Porque voce não monta uma Select para trazer apenas os registros necessarios ? depois é só salvar

with TblForliberados do
begin
    insert;
    TblForliberadosEmpCodigo.AsString     := TblEmpresasEmpCodigo.AsString;
    TblForliberadosForFormulario.AsString := TblFormulariosForFormulario.AsString;
    post;
end;
abraço
Então mas no SQL eu já trago o que eu preciso, porém eu carrego na tabela temporário os formularios que eu pesquisei e quando eu for abrir o formulário eu tenho que verificar se ele está na tabela temporária para poder abrir, caso não tenha ele não tem acesso para abrir, mas consegui fazer assim e resolvi:
if not FrmInnovation.TblNiveisForm.Locate('ForFormulario','PESPES001',[loPartialKey]) then//aqui  eu pesquiso o formulario que esta na tabela temporia
        begin
          ShowMessage('Usuário '+PRI_UsuCodigo+' - '+PRI_UsuNome+' sem Nivel de acesso ao Formulário PESPES001 - Pesquisa de Pessoas !');
          exit;
        end;

Mas agora ficou resolvido, obrigado pela ajuda;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...