Árvore de páginas

 

RmsHelp

 

Objetivo

A partir de informações cadastradas em uma base de dados local, o RMSHelp monta a tela de consulta, criando campos para filtragem e configurando uma grade para visualização das informações. Ao pressionar a opção "Filtrar" o banco de dados principal do sistema é acessado, também utilizando as informações locais, para recuperar as informações solicitadas pelo usuário. O usuário pode selecionar um ou vários registros da consulta, retornando para a aplicação que chamou a consulta, todas as linhas selecionadas.

Conceito

O RMSHelp foi desenvolvido para facilitar a criação de telas de consulta para o usuário. Sua estrutura foi remodelada para facilitar a implementação pelo programador.
A base de dados também foi remodelada e migrada para arquivos locais, o que facilita a distribuição das alterações.

Descrição do processo

 

Cadastro das consultas

As tabelas abaixo configuram quais dados serão acessados e como eles serão apresentados aos usuários.
Cadastro de Consultas (cad_cons) – Tabela principal

Campo

Tipo de Dados

Descrição

cd_cons

Double

Código identificador da consulta.

dsc_cons

Text(40)

Descrição da consulta. Aparecerá no título da janela.

tp_org_cons

Text(1)

Identifica como será gerada a instrução para seleção dos dados.
1 – Geração a partir dos dados cadastrados
2 – A instrução será obtida de um componente externo ao RMSHelp

org_cons

Text(50)

Nome da tabela origem dos dados ou do componente responsável por fornecer a instrução de seleção. Depende da coluna "tp_org_cons".
1 – Nome da tabela
2 – Nome do componente. (DllName.ClassName)

cd_filt

Double

Código do filtro que será utilizado para criar campos de filtragem na janela de consulta. Para mais informações sobre como criar filtros, consulte a documentação do componente RMSFitlro.


Campos da consulta (cmpo_cons) – Colunas que serão exibidas na grade de resultado.

Campo

Tipo de Dados

Descrição

cd_cons

Double

Código identificador da consulta.

rot_campo

Text(40)

Cabeçalho da coluna.

nm_fis_cmpo

Text(255)

Nome físico da coluna. Pode ser uma fórmula válida para o banco de dados origem.

tam_propr_cmpo

Double

Largura da coluna em relação à largura total da janela. Está expressa em porcentagem.

alin_cmpo

Double

Modo como os dados serão alinhados na grade.
1 – Esquerda
4 – Centro
7 – Direita

masc_cmpo

Text(20)

Formatação para colunas numéricas. Segue o padrão de máscaras do Visual Basic

ord_cmpo

Double

Ordenação das colunas na grade


Critérios da Consulta (crit_cons) – Critérios fixos para a consulta, são inseridos nas consultas com "tp_org_cons = 1" independente da existência de filtros.

Campo

Tipo de Dados

Descrição

cd_cons

Double

Código identificador da consulta.

seq_crit

Double

Número sequêncial do critério.

nm_fis_crit

Text(255)

Nome físico do campo. Pode ser uma fórmula válida para o banco de dados origem.

oper_log_crit

Text(4)

Operador lógico do critério. Pode ser qualquer operador válido para o banco de dados origem. Normalmente é
AND ou OR.

oper_comp_crit

Double

Operador de comparação do critério. Pode ser qualquer operador válido para o banco de dados origem.
Exemplo : =, >, <, >=, <=, <>, LIKE.

vlr_crit

Text(255)

Valor com o qual o campo vai ser comparado para realizar o critério. O conteúdo deste campo será inserido na instrução sem qualquer alteração ou adição de aspas. Permitindo que seja informado o nome físico de outro campo.

Dim objHelp As IObjetoConsulta
Dim varRetorno As Variant
Set objHelp = CreateObject("RMSCons.cConsulta")
varRetorno = objHelp.MostrarConsulta(1)
Set objHelp = Nothing

Chamar a Consulta

Após ter sido cadastrada, a consulta pode ser invocada via código como abaixo, lembrando de adicionar referência ao componente "ICONSULTA".
Leia o próximo tópico para obter mais informações técnicas sobre o funcionamento do componente.

Informações Técnicas

Este componente foi desenvolvido em conjunto com duas interfaces :
IObjetoConsulta- Implementada pelo componente, é utilizada para a inicialização da consulta pelo programa chamador
IOrigemConsulta- Utilizada para obter a instrução de seleção de componentes externos.
A interface IObjetoConsulta deve ser utilizada conforme mostrado no tópico "Chamar a Consulta".
Para que um componente externo possa fornecer instruções para o RMSHelp, ele deve implementar a interface IOrigemConsulta. Vamos ver o processo passo a passo:

  1. Iniciar um novo projeto do tipo "ActiveX DLL";
  2. Adicionar referência ao componente "ICONSULTA";
  3. Implements IOrigemConsulta
    Private Function IOrigemConsulta_InstrucaoSQL(ByVal Consulta As Long, Optional ByVal arrParam As Variant) As String
    Select Case Consulta
    Case 1
    IOrigemConsulta_InstrucaoSQL = "Select * from A"
    Case 2
    IOrigemConsulta_InstrucaoSQL = "Select * from B"
    End Select
    End SubNo módulo classe criado, adicionar as seguintes linhas de código :
  4. Ao cadastrar a consulta no banco local, informe 2 para o campo "tp_org_cons" e o nome da classe que você acabou de criar no campo "org_cons".

 

Referência I ObjetoConsulta

Métodos
MostrarConsulta
Inicia a tela de consulta e retorna o(s) registro(s) selecionado(s) pelo usuário
Sintaxe:arrDados = objHelp.MostrarConsulta(Codigo)
Codigo:(Long)Código de alguma consulta existente no cadastro de consultas.
(Retorno):(Variant) Array de uma dimensão, onde cada elemento guarda uma string com todos os campos do registro, separado por "pipes" ("|").

Referência I OrigemConsulta

Métodos
InstrucaoSQL
Permite a um objeto servir como fornecedor de instruções para o RMSHelp
Sintaxe:strSQL = InstrucaoSQL(Consulta, [arrParam])
Consulta:(Long)Código da consulta chamada pela aplicação
arrParam:(Variant) Array de uma dimensão contendo em cada elemento os valores digitados nos campos de filtro
(Retorno):(String) O componente RMSHelp, espera receber uma instrução de seleção válida.