Monthly Archives: Janeiro 2008

Desactivar a roda do rato (botão central)

Normalmente quando rodamos o botão central de um rato num formulário, o access muda de registo. Em algumas situações pode ser bastante útil que isso não aconteça.
Este exemplo utiliza um modulo, no evento ao carregar do formulário, para impedir que o utilizador navegue pelos registos utilizado o scroll do rato. Para testar podemos utilizar a roda do rato (botão central) para ver que não muda de registo.

Download aqui: Roda do rato

Saldo Inicial

Exemplo de como visualizar um extracto de conta de um determinado período e mostrar o saldo inicial no inicio desse período.

Para testar introduza uma data entre o período inicial e o final como mostrado na imagem e verifique se o saldo inicial está correcto.

Download: Saldo Inicial

Contar registos

Mais um exemplo fácil de fazer, é este que podemos utilizar quando temos uma base de dados de clientes e queremos contar o número de clientes começados por cada letra.

Ou seja:
Cliente
Alberto
Ana
Manuel

Começados por “A”: 2 registos
Começados por “M”: 1 registos

Veja o exemplo: Contar Registos

Manipular a janela do Access

Este exemplo utiliza um módulo que esconde a janela principal do Microsoft Access, ficando apenas a janela do formulário visível.
Para utilizar este módulo temos que utilizar o seguinte comando no evento ao abrir do formulário: call fsetAccessWindow (SW_HIDE).

Para verificar através de um exemplo faça o downloa: Manipular Janela do Acces

Relacionamentos numa base de dados

Depois de ter estabelecido diferentes tabelas para cada assunto na sua base de dados, você precisa de uma maneira de informar ao Microsoft Access como reunir novamente essas informações. O primeiro passo nesse processo é definir os relacionamentos entre as suas tabelas. Depois de ter feito isso, você pode criar consultas, formulários e relatórios para exibir informações provenientes de várias tabelas de uma vez.

Como funcionam os relacionamentos?

Um relacionamento um-para-muitos
O relacionamento um-para-muitos é o tipo mais comum de relacionamento. Num relacionamento um-para-muitos, um registo na Tabela A pode ter muitos registos coincidentes na Tabela B, mas um registo na Tabela B tem um só registo coincidente na Tabela A.

Um relacionamento muitos-para-muitos
Num relacionamento muitos para-muitos, um registo na Tabela A pode ter muitos registos coincidentes na Tabela B, e um registo na Tabela B pode ter muitos registos coincidentes na Tabela A. Esse tipo de relacionamento só é possível definindo-se uma terceira tabela (denominada tabela de associação) cuja chave primária consista em dois campos as chaves estrangeiras provenientes tanto da Tabelas A como da B. Na verdade, um relacionamento muitos-para-muitos são dois relacionamentos um-para-muitos com uma terceira tabela. Por exemplo, a tabela Pedidos e a tabela Produtos têm um relacionamento muitos-para-muitos que é definido criando-se dois relacionamentos um-para-muitos para a tabela Detalhes do Pedido.

Um relacionamento um-para-um
Em um relacionamento um-para-um, cada registo na Tabela A pode ter somente um registo coincidente na Tabela B, e cada registo na Tabela B pode ter somente um registo coincidente na Tabela A. Esse tipo de relacionamento não é comum, pois a maioria das informações assim relacionadas estaria em uma só tabela. A utilização de um relacionamento um-para-um é recomendada quando você deseja dividir uma tabela com muitos campos, isolar parte de uma tabela por segurança ou armazenar informações que se apliquem somente a um subconjunto da tabela principal. Pode ser que você queira, por exemplo, criar uma tabela para registar os funcionários que participam de um jogo de futebol para levantamento de fundos.

Definindo relacionamentos
Você define um relacionamento adicionando as tabelas que deseja relacionar com a janela Relacionamentos e, em seguida, arrastando o campo chave de uma tabela e soltando-o no campo chave da outra tabela.
A espécie de relacionamento que o Microsoft Access cria depende de como os campos relacionados são definidos:
• Um relacionamento um-para-muitos é criado quando somente um dos campos relacionados é uma chave primária ou tem um índice exclusivo.
• Um relacionamento um-para-um é criado quando ambos os campos relacionados são chaves primárias ou têm índices exclusivos.
• Na verdade, um relacionamento muitos-para-muitos são dois relacionamentos um-para-muitos com uma terceira tabela cuja chave primária consiste em dois campos  as chaves estrangeiras das outras duas tabelas.
Observação Se você arrastar um campo que não seja uma chave primária e que não tenha um índice exclusivo para um outro campo que não seja uma chave primária e não tenha um índice exclusivo, será criado um relacionamento indeterminado. Em consultas que contenham tabelas com um relacionamento indeterminado, o Microsoft Access exibe uma linha de associação padrão entre as tabelas, mas a integridade referencial não é imposta e não há garantia de que os registos sejam exclusivos em cada tabela.

Exibir uma mensagem de cumprimento

Através de um pequeno código podemos dar as boas vindas ao utilizador dependendo da hora em que abra o formulário. Neste exemplo podemos ver três mensagens diferentes:
1-Até às 12:00 Bom dia;
2-Até às 19:00 Boa tarde;
3-Entre as 19:00 e as 24:00 Boa noite.

Apenas precisamos de um pequeno código, que é o seguinte:

Public Function Cumprimento()
Dim strMsg As String

If Time < #12:00:00 PM# Then
strMsg = “Ola! Tenha um bom dia!”
ElseIf Time <= #7:00:00 PM# Then
strMsg = “Ola! Tenha uma boa tarde!”
Else
strMsg = “Ola! Tenha uma boa noite!”

End If
Cumprimento = strMsg
End Function

Depois para chamar o código, utilizamos uma caixa de texto e como origem do controlo escrevemos =cumprimento().

Download: Cumprimento

Número de registos

Através de um pequeno módulo podemos ver quanto registos temos num formulário e em qual deles nos encontramos. Ou seja, para quem não quer ter os botões de navegação na parte de baixo do formulário, que permite navegar nos registos, pode em alternativa usar este método para informar qual o número de registo em que se encontra e quantos existem num formulário.

Download: Registos

Definir cores dos formulários de acordo com as cores do sistema do Microsoft Windows

Utilizando as propriedades CorDoFundo, CorDaBorda e CorDePrimeiroPlano, você pode criar no Microsoft Access um esquema de cores que coincida com o esquema de cores utilizado em outros aplicativos do Windows. Isso é particularmente útil quando você está desenvolvendo um aplicativo para ser distribuído para vários utilizadores. Definir propriedades de cor como cores de sistema do Windows permite que você especifique uma única definição que pode exibir cores diferentes nos computadores de utilizadores diferentes, conforme as cores que eles tenham escolhido no Painel de Controle do Windows.
1 Abra um formulário em modo Estrutura.
2 Abra a folha de propriedades da secção ou controle.
3 Na folha de propriedades, clique na propriedade Cor do Fundo, Cor da Borda ou Cor de Primeiro Plano.
4 Na caixa da propriedade, digite um dos números listados na tabela a seguir. Por exemplo, se você desejar que o segundo plano de seu formulário exiba a mesma cor que você ou outro utilizador utiliza como cor de segundo plano do Windows, defina a propriedade Cor do Fundo como -2147483643, o valor de Janela.
Elemento da tela Valor

Barra de rolagem -2147483648
Área de trabalho -2147483647
Barra de título da janela ativa -2147483646
Barra de título da janela inativa -2147483645
Barra de menu -2147483644
Janela -2147483643
Moldura da janela -2147483642
Texto do menu -2147483641
Texto da janela -2147483640
Texto da barra de título -2147483639
Borda da janela ativa -2147483638
Borda da janela inativa -2147483637
Segundo plano do aplicativo -2147483636
Realce -2147483635
Texto realçado -2147483634
Superfície 3-D -2147483633
Sombra 3-D -2147483632
Texto esmaecido (desativado) -2147483631
Texto de botão -2147483630
Texto da barra de título da janela inativa -2147483629
Realce 3-D -2147483628
Sombra escura 3-D -2147483627
Luz 3-D -2147483626
Texto da Dica de Ferramentas -2147483625
Segundo plano da Dica de Ferramentas -2147483624

Observações
• O valor da cor de sistema do Windows refere-se apenas à cor do elemento de tela listado, e não ao tipo de objecto ao qual pode ser atribuído. Por exemplo, você poderia definir a propriedade Cor do Fundo de uma caixa de texto como a cor de sistema do Windows para as barras de deslocamento, a área de trabalho ou qualquer outro elemento da tela.
• Os valores para os elementos de tela do Windows são sempre os mesmos, independente das definições de cor do utilizador.
• Você pode também definir as propriedades CorDoFundo, CorDaBorda e CorDePrimeiroPlano como uma cor de sistema do Windows utilizando o Visual Basic para aplicativos.