ACC2000: Como calcular horas diárias com base no relógio em / saída Times

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 237958
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Este artigo se aplica a um banco de dados do Microsoft Access (.mdb) e para um projeto Microsoft Access (.adp).

Moderado: Requer básica de macro, codificação e interoperabilidade habilidades.

Sumário
Este artigo mostra como calcular o diárias de horas trabalhadas, independentemente do número de vezes que um funcionário se registrar ou.
Mais Informações
Siga estas etapas para criar um banco de dados exemplo calcula o total de horas que um funcionário trabalha em um dia especificado:
  1. Crie um novo banco de dados e adicione as tabelas a seguir para esse novo banco de dados:
       Table: Employees   ----------------------------   Field Name: EmpID   Data Type: AutoNumber   Field Size: Long Integer   Indexed: Yes (No Duplicates)   Field Name: EmpName   Data Type: Text   Field Size: 50   Indexed: No   Table Properties: Employees   -------------------------------   PrimaryKey: EmpID   Table: EmpDates   ----------------------------   Field Name: DateID   Data Type: AutoNumber   Field Size: Long Integer   Indexed: Yes (No Duplicates)   Field Name: MyDate   Data Type: Date/Time   Format: Short Date   Indexed: No   Field Name: EmpID   Date Type: Number   Field Size: Long Integer   Indexed: No   Table Properties: EmpDates   -------------------------------   PrimaryKey: DateID   Table: EmpTimes   ----------------------------   Field Name: TimeID   Data Type: AutoNumber   Field Size: Long Integer   Indexed: Yes (No Duplicates)   Field Name: TimeIn   Data Type: Date/Time   Format: Medium Time   Input Mask: 09:00\ >LL;0;_   Indexed: No   Field Name: TimeOut   Date Type: Date/Time   Format: Medium Time   Input Mask: 09:00\ >LL;0;_   Indexed: No   Field Name: DateID   Date Type: Number   Field Size: Long Integer   Indexed: No   Table Properties: EmpTimes   -------------------------------   PrimaryKey: TimeID					
  2. Crie as seguintes dois relações

    1. Funcionários EmpDates (um para muitos) EmpIDEmpDates para EmpTimes (um para muitos) em DateID
    2. EmpDates para EmpTimes (um para muitos) em DateID

    e, em seguida, habilite as seguintes opções para essas relações:
    • Impor integridade referencial
    • Atualização em cascata campos relacionados
    • Propagar exclusão dos registros relacionados

  3. Criar uma nova consulta, adicionar a seguinte instrução SQL como a fonte para a consulta e, em seguida, salve a consulta como qryTimes:
    SELECT TimeID, TimeIn, tempo limite, DateID, DateDiff("n",[TimeIn],[TimeOut]) AS CalcTime FROM EmpTimes;
  4. Criar três novos formulários que sejam baseiam as seguintes informações:
       Form: frmEmployees   -----------------------   Caption: Employees   RecordSource: Employees      Text Box      --------------------      Name: txtEmpID      ControlSource: EmpID      Enabled: No      Text Box      ----------------------      Name: txtEmpName      ControlSource: EmpName   Form: frmDates   ----------------------   Caption: Dates   RecordSource: EmpDates      Text Box      ---------------------      Name: txtMyDate      ControlSource: MyDate      Text Box      ---------------------      Name: txtDateID      ControlSource: DateID      Visible: No      Text Box      -------------------      Name: txtTotalHours      NOTE: In the following sample expression, an underscore (_) at      the end of a line is used as a line-continuation character.      Remove the underscore from the end of the line when re-creating      this expression.       ControlSource: =[Forms]![frmEmployees]![Dates Subform]._                     [Form]![Times Subform].[Form]![txtTotTime]   Form: frmTimes   -----------------------   Caption: Times   RecordSource: qryTimes   Default View: Datasheet      Text Box      ---------------------      Name: txtTimeIn      ControlSource: TimeIn      Text Box      ----------------------      Name: txtTimeOut      ControlSource: TimeOut      Text Box      -----------------------------------------------------------------      Name: txtCalcTime      ControlSource: =Int([CalcTime]/60) & ":" & Int([CalcTime] Mod 60)      Text Box      ------------------------------------------------------------------      Name: txtTotTime      ControlSource: =Int(Sum([CalcTime])/60) & ":" & Int(Sum([CalcTime]) Mod 60)					
  5. Abra o formulário frmDates no modo de design e em seguida, arraste o formulário frmTimes da janela banco de dados para a seção detalhe do formulário frmDates.
  6. Defina a propriedade nome do objeto subformulário como Subformulário de horários e em seguida, salve e feche o formulário.
  7. Abra o formulário frmEmployees no modo de design e arraste o formulário frmDates da janela banco de dados para a seção detalhe formulário frmEmployees.
  8. Defina a propriedade nome do objeto subformulário para o Subformulário de datas .

O exemplo de teste:

  1. Clique duas vezes no formulário frmEmployees.
  2. Na caixa EmpName, digite Usuário de Joe .
  3. Na caixa MyDate, insira 1/2/2001 .
  4. Na caixa TimeIn, digite 09: 00 .
  5. Na caixa tempo limite, digite 12: 00 .
  6. Pressione TAB até que o foco está na caixa TimeIn em uma linha nova e insira 01: 00 .
  7. Na caixa tempo limite, digite 06: 00 .
  8. No menu registros , clique em Salvar registro . Observe que a hora total por linha é exibida no subformulário de horários e a soma dessas linhas é refletida no subformulário datas.
inf

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 237958 - Última Revisão: 12/05/2015 15:18:52 - Revisão: 2.0

Microsoft Access 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbhowto KB237958 KbMtpt
Comentários