Introduzir um registo através de campos independentes

Escrito em Quarta-feira, 20 Fevereiro 2008 – 13:22 | por Administrador |

Existem várias formas de introduzir um registo, sendo que a mais comum é fazer através de um formulário vinculado a uma tabela. Outra forma de o fazer é através de campos desvinculados, ou seja através de um formulário com campos independentes sem ligação à tabela. Para
introduzir os dados vamos utilizar o ‘recordset’, ou seja através de um código, que no caso deste exemplo é o seguinte:

Dim db As Database
Dim rs As Recordset

If MsgBox(”Deseja gravar?”, vbYesNoCancel, “Opções”) = vbYes Then
‘ Ao carregar no botão é perguntado se deseja gravar o registo ou não, no caso afirmativo continua o código senão termina
Set db = CurrentDb()
Set rs = db.OpenRecordset(”Dados”, dbOpenTable)
‘ Abre a tabela dados para inserir o registo

rs.AddNew
rs(”nome”) = Me!INome
rs(”morada”) = Me!Imorada
rs(”idade”) = Me!Iidade
rs.Update ‘ envia os dados para a tabela
rs.Close ‘ Limpa os dados e fecha o recordset
Set rs = Nothing
Set db = Nothing

Me.INome = Null ‘ limpa os campos no formulário
Me.Imorada = Null
Me.Iidade = Null
MsgBox “Registo gravado”, vbInformation, “Concluído” ‘ Exibe mensagem de confirmação
Me.INome.SetFocus ‘ Move o cursor para o primeiro campo
Else: Exit Sub
End If

Download: Introduzir Independente

Calculos com horas

Escrito em Terça-feira, 19 Fevereiro 2008 – 9:27 | por Administrador |

Este exemplo mostra como efectuar cálculos com horas. É útil para quem precisa de saber quanto tempo decorreu entre uma hora de inicio e uma hora de fim. Não basta fazer a subtracção da hora de fim pela hora de inicio, porque caso a hora de fim passe de um dia para o seguinte as contas já não darão certas, por exemplo:

Hora Inicio: 23:00:00

Hora Fim: 02:00:00

Hora Fim - Hora Inicio = 02:00:00 - 23:00:00 = -21:00:00

Obviamente que não é assim tão simples trabalhar com horas, porque assim em vez de termos 3 horas como resultado correcto teríamos -21 horas erradamente.

Para contornar esta situação em que o período passa de um dia para outro temos que verificar primeiro se a hora de fim é superior à hora de inicio, caso seja maior então o cálculo é: Hora Fim - Hora Inicio.

Caso seja menor então temos que fazer o cálculo de outra forma, ou seja:

Hora Inicio: 23:00:00

Hora Fim: 02:00:00

Total de Horas: 23:59:59

Acerto: 00:00:01

Basicamente o que vamos fazer é somar 24:00:00 ao valor da subtracção para nos dar as três horas correctas. Ou seja:

Hora Fim - Hora Inicio + Total de Horas + Acerto = 02:00:00 - 23:00:00 + 23:59:59 + 00:00:01 = -21:00:00 + 24:00:00 = 03:00:00

Download: Calculo com Horas

Calendário PopUp

Escrito em Quarta-feira, 6 Fevereiro 2008 – 9:32 | por Administrador |

Este exemplo mostra como escolher uma data através de um calendário PopUp. Ou seja, através de um módulo e de um formulário podemos escolher uma data como se trata-se de um calendário. No exemplo podemos escolher a data clicando no botão ao lado do campo data ou clicando com o botão do lado direito do rato no campo data. Esta forma de introduzir datas é bastante prática uma vez que nos permite ver um calendário e assim escolher melhor a data que pretendemos.

Download: Calendário PopUp

Sistema de Vendas (actualização)

Escrito em Sábado, 2 Fevereiro 2008 – 10:00 | por Administrador |

Acrescentei o módulo Localizar: para localizar ficheiros gráficos para acrescentar o logótipo da empresa no formulário dados da empresa.
Alteração da tabela Dados da Empresa: Remoção do campo “logo” e acrescentei o campo “localfoto”.
Alteração do formulário dados da empresa: alteração do modo como se insere o logótipo da empresa, através de botões de comando.
Introdução de sistema de login com diferentes tipos de acessos: Administrador sistema / administrador / utilizador: o que permite definir o que cada tipo de utilizador pode fazer no programa e permite identificar a pessoa que vai utilizar o posto de venda que de futuro irá permitir elaborar mapas por vendedor.
Acrescentei o modulo “ponteiro_mouse”: para mudar o ícone do rato no menu administrador.
Menu Administrador: activar/desactivar a tecla Shift; acrescentar utilizadores; alterar utilizadores; permisões.

Download: Sistema de Vendas

Desactivar a roda do rato (botão central)

Escrito em Domingo, 27 Janeiro 2008 – 17:14 | por Administrador |

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

Escrito em Sábado, 26 Janeiro 2008 – 15:00 | por Administrador |

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

Escrito em Sexta-feira, 25 Janeiro 2008 – 17:11 | por Administrador |

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

Escrito em Segunda-feira, 21 Janeiro 2008 – 17:05 | por Administrador |

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

Escrito em Terça-feira, 15 Janeiro 2008 – 17:03 | por Administrador |

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

Escrito em Segunda-feira, 14 Janeiro 2008 – 16:24 | por Administrador |

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

Apresentacao

Avatar

Obrigado pela sua visita.
Subscreva o feed para não perder nenhuma mensagem.

Aqui no blogue vou disponibilizar exemplos de como trabalhar com o Microsoft Access e também tirar dúvidas a quem solicitar. Mais

Quer subscrever?

 Subscrever ou, subscrever por email:
Introduza o seu email:


Anúncios