Upload
vanthuan
View
217
Download
0
Embed Size (px)
Citation preview
Material de Apoio
Access - Módulo II (Novo)
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
1632_MA01Novembro/2013
2 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
Caro instrutor(a),
Você está recebendo, neste momento, o material de apoio referente ao treinamento Access - Módulo II (Novo). Aqui você encontrará:
• Plano de aula sugerido para a execução do treinamento, com eventuais notas para o instrutor, as quais oferecem informações adicionais para uma melhor apresentação dos conteúdos/exercícios;
• Gabarito dos exercícios propostos;
• Informações sobre o kit apostila.
Plano de Aula
4 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
1º período
30 minutosApresentação do instrutor e apresentação individual de cada aluno.
3 horas Capítulo 1 – Consultas
15 minutos Capítulo 1 – Teste seus conhecimentos
15 minutos Intervalo
4 horas Total de horas
2º período
1 hora e 15 minutos Capítulo 1 – Mãos à obra!
2 horas e 15 minutos Capítulo 2 – Programação
15 minutos Capítulo 2 – Teste seus conhecimentos
15 minutos Intervalo
4 horas Total de horas
3º período
2 horas e 30 minutos Capítulo 3 – Variáveis e constantes
15 minutos Capítulo 3 – Teste seus conhecimentos
1 hora Capítulo 3 – Mãos à obra!
15 minutos Intervalo
4 horas Total de horas
4º período
2 horas e 30 minutos Capítulo 4 – Estruturas de controle
15 minutos Capítulo 4 – Teste seus conhecimentos
1 hora Capítulo 4 – Mãos à obra!
15 minutos Intervalo
4 horas Total de horas
5
Material de Apoio - Plano de Aula
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
5º período
2 horas Capítulo 5 – Matrizes
15 minutos Capítulo 5 – Teste seus conhecimentos
1 hora e 30 minutos Capítulo 5 – Mãos à obra!
15 minutos Intervalo
4 horas Total de horas
6º período
2 horas e 30 minutosCapítulo 6 – Funções internas e funções de usuário
15 minutos Capítulo 6 – Teste seus conhecimentos
1 hora Capítulo 6 – Mãos à obra!
15 minutos Intervalo
4 horas Total de horas
7º período
3 horas e 45 minutos Capítulo 7 – Programação por eventos
15 minutos Intervalo
4 horas Total de horas
8º período
30 minutos Capítulo 7 – Teste seus conhecimentos
3 horas e 15 minutos Capítulo 7 – Mãos à obra!
15 minutos Intervalo
4 horas Total de horas
6 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
9º período
2 horas e 30 minutos Capítulo 8 – Técnicas ADO
15 minutos Capítulo 8 – Teste seus conhecimentos
1 hora Capítulo 8 – Mãos à obra!
15 minutos Intervalo
4 horas Total de horas
10º período
3 horas Capítulo 9 – Recursos adicionais
15 minutos Capítulo 9 – Teste seus conhecimentos
30 minutos Considerações finais e avaliação final do treinamento
15 minutos Intervalo
4 horas Total de horas
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Gabarito
8 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
Capítulo 1
1 - E2 - D3 - E4 - B5 - D
Capítulo 7
1 - D2 - C3 - A4 - C5 - D6 - C7 - C8 - C
Capítulo 2
1 - D2 - E3 - B4 - D5 - D
Capítulo 8
1 - A2 - B3 - A4 - A5 - E
Capítulo 3
1 - E2 - C3 - B4 - C5 - D
Capítulo 9
1 - B2 - C3 - E4 - D
Capítulo 4
1 - A2 - D3 - E4 - C5 - C6 - B
Capítulo 5
1 - B2 - E3 - C4 - A5 - E
Capítulo 6
1 - E2 - D3 - A4 - B5 - C
9
Material de Apoio - Gabarito
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Laboratório do Capítulo 1 (1A)
Resposta:
SELECT tbl_Produtos.*, (PrecoUnitario*UnidadesEmEstoque) AS TotalFROM tbl_Produtos;
Laboratório do Capítulo 1 (1B)
Resposta:
SELECT NomeDaEmpresa, CodigoDoCliente, NomeDoContato, CargoDoCon-tato, Cidade, Pais FROM tbl_ClientesORDER BY Pais, Cidade, NomeDocontato;
Laboratório do Capítulo 1 (1C)
Resposta:
SELECT * FROM tbl_ClientesWHERE CargoDoContato LIKE “Representante*” AND Pais=”Brasil”;
Laboratório do Capítulo 1 (2A)
Resposta:
SELECT CodigoDoFuncionario, Nome&” “&Sobrenome AS [Nome Completo], Cargo, Supervisor FROM tbl_Funcionarios UNION SELECT CodigoDoFuncionario, Nome&” “&Sobrenome, Cargo, Supervisor FROM tbl_Colaboradores;
10 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
Laboratório do Capítulo 1 (2B)
Resposta:
SELECT “Cliente” AS Tipo, NomeDoContato, NomeDaEmpresa, CargoDoContato, Cidade, Pais, Telefone FROM tbl_Clientes WHERE Pais=”Alemanha”UNION SELECT “Fornecedor” AS Tipo, NomeDoContato, NomeDaEmpresa, CargoDoContato, Cidade, Pais, Telefone FROM tbl_Fornecedores WHERE Pais=”EUA”;
Laboratório do Capítulo 1 (3A)
Resposta:
CREATE TABLE tbl_Compras (Cod_Compra INT PRIMARY KEY, Cod_Prod INT NOT NULL, Data_Compra DATETIME NOT NULL, Valor_Compra CURRENCY NOT NULL);
Laboratório do Capítulo 1 (3B)
Resposta:
ALTER TABLE tbl_Compras ADD COLUMN Quant_Compra INT NOT NULL, Responsavel_Compra TEXT(80);
Laboratório do Capítulo 1 (3C)
Resposta:
ALTER TABLE tbl_Compras DROP COLUMN Data_Compra, Quant_Compra;
Laboratório do Capítulo 1 (4A)
Resposta:
SELECT * FROM tbl_Funcionarios WHERE CodigoDoFuncionario IN (SELECT CodigoDoFuncionario FROM tbl_Pedidos WHERE DataDoPedido = #01/01/1997#);
11
Material de Apoio - Gabarito
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Laboratório do Capítulo 1 (4B)
Resposta:
SELECT * FROM tbl_Produtos WHERE PrecoUnitario < (SELECT AVG(PrecoUnitario) AS [Preço Médio] FROM tbl_Produtos);
Laboratório do Capítulo 1 (4C)
Resposta:
SELECT * FROM tbl_Transportadoras WHERE CodigoDaTransportadora IN (SELECT Via FROM tbl_Pedidos WHERE DataDoPedido BETWEEN #01/01/1997# AND #01/31/1997#);
Laboratório do Capítulo 1 (5A)
Resposta:
SELECT * FROM Customers WHERE LIKE Country LIKE ‘Bra_il’;
Laboratório do Capítulo 1 (5B)
Resposta:
SELECT * FROM Suppliers ORDER BY Country, City;
Laboratório do Capítulo 1 (5C)
Resposta:
SELECT * FROM Employees WHERE HIREDATE BETWEEN ‘01/01/1992’ AND ‘31/12/1992’;
Poderia ser também:
SELECT * FROM Employees WHERE YEAR(HIREDATE) = 1992;
Ou:
SELECT * FROM Employees WHERE YEAR(HIREDATE) = 1992 AND MONTH (HIREDATE) = 8;
12 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
Laboratório do Capítulo 3 (1A)
Resposta:
Na área de declaração do módulo, escrever:
Public Const NomEmp As String = “Impacta Tecnologia Eletrônica Ltda”
Laboratório do Capítulo 3 (2A)
Resposta:
Dentro do procedimento, escrever:
Dim curPrProduto As Currency
Laboratório do Capítulo 3 (3A)
Resposta: Dentro do procedimento, escrever:
Static intContagem As Integer
Laboratório do Capítulo 4 (1A)
Resposta:
Sub Exercicio_01()
strNome = InputBox(“Digite seu nome”, “Exercicio_01”, “Nome Completo”)dtNasc = InputBox(“Digite a data de nascimento”, “Exercicio_01”)Dim bytIdade As BytebytIdade = Fix(DateDiff(“d”, dtNasc, Date) / 365.25)MsgBox “Nome: “ & strNome & Chr(13) & “Data de Nascimento: “ & dtNasc & Chr(13) & “Idade: “ & bytIdade, vbInformation, “Exercicio_01”
End Sub
13
Material de Apoio - Gabarito
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Laboratório do Capítulo 4 (2A)
Resposta:
Sub Exercicio_02()Dim strNome As String Dim lngNota1 As LongDim lngNota2 As LongDim lngNota3 As LongDim lngNota4 As LongDim sngMedia as singleDim strResultado as string
strNome = InputBox(“Digite o nome completo”, “Access 2013 - Impacta”)lngNota1 = InputBox(“Digite a nota do 1º Bimestre”, “Access 2013 - Impacta”)lngNota2 = InputBox(“Digite a nota do 2º Bimestre”, “Access 2013 - Impacta”)lngNota3 = InputBox(“Digite a nota do 3º Bimestre”, “Access 2013 - Impacta”)lngNota4 = InputBox(“Digite a nota do 4º Bimestre”, “Access 2013 - Impacta”)
sngMedia = (lngNota1+lngNota2+lngNota3+lngNota4)/4
If sngMedia >=7 Then
strResultado = “Aprovado” ElseIf sngMedia >= 5 Then
strResultado = “Recuperação” Else
strResultado = “Reprovado” End If MsgBox “Aluno: “ & strNome & chr(13) & _ “Média: ” & sngMedia & chr(13) & _ “Resultado: “ & strResultado,vbInformation, _ “Exercicio”End Sub
14 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
Laboratório do Capítulo 4 (3A)
Resposta:
Sub Exercicio_03()‘as variáveis foram declaradas na área de declaração do módulo
strNome = InputBox(“Digite seu nome”, “Exercicio_03”, “Nome Completo”)dtNasc = InputBox(“Digite a data de nascimento”, “Exercicio_03”)bytIdade = Fix(DateDiff(“d”, dtNasc, Date) / 365.25)
Select Case bytIdade Case Is <= 1
strFase = “Bebê” Case Is <= 12 strFase = “Infância” Case Is <= 19 strFase = “Adolescência” Case Is <= 36strFase = “Juventude”Case Else
strFase = “Adulto”End Select
MsgBox “Nome: “ & strNome & Chr(13) & “Data de Nascimento: “ & dtNasc & Chr(13) & “Idade: “ & bytIdade & Chr(13) & “Fase: “ & strFase, vbInformation, “Exercicio_03” End Sub
15
Material de Apoio - Gabarito
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Laboratório do Capítulo 4 (4A)
Resposta:
Sub Exercicio_04()‘A msgbox aparecera a tabuada inteira do número que o usuário digitar na inputbox
Dim lngTab As LongDim bytCont As ByteDim lngResp As LongDim strMensagem As String
lngTab = InputBox(“Digite um número para calcular a tabuada”, “Exemplo”, 0)
For bytCont = 0 To 10 lngResp = lngTab * bytCont strMensagem = strMensagem & lngTab & “ X “ & bytCont & “ = “ & lngResp & Chr(13) NextMsgBox strMensagem, , “Tabuada do “ & lngTabEnd Sub
16 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
Laboratório do Capítulo 4 (4B)
Resposta:
Sub Exercicio_04b()
Dim lngTab As LongDim bytCont As ByteDim lngResp As LongDim strMensagem As String
lngTab = InputBox(“Digite um número para calcular a tabuada”, “Exemplo”, 0)
Do Until bytCont >10
lngResp = lngTab * bytCont strMensagem = strMensagem & lngTab & “ X “ & bytCont & “ = “ & lngResp & Chr(13)
bytCont= bytCont+1 Loop
MsgBox strMensagem, , “Tabuada do “ & lngTabEnd Sub
Laboratório do Capítulo 5 (1A)
Resposta:
Sub Teste_Matriz01()Dim Cliente(3) As StringCliente(0) = “Avenida “Cliente(1) = “Paulista, “Cliente(2) = “1009 - 9º andar, “Cliente(3) = Format(Date, Standard)MsgBox Cliente(0) & Cliente(1) & Cliente(2) & Cliente(3)End Sub
17
Material de Apoio - Gabarito
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Laboratório do Capítulo 5 (2A)
Resposta:
Sub Teste_Matriz02()Dim i As ByteDim Cadastro() As VariantCadastro = Array(“Francisco Antunes”, “Alameda Santos, 1293, conjunto 300”, 38, Format(“08-04-1951”, “General Date”))For i = LBound(Cadastro) To UBound(Cadastro)MsgBox Cadastro(i)Next
End Sub
Laboratório do Capítulo 5 (3A)
Resposta:
Sub Teste_Matriz03()Static Gastos(366) As CurrencyDim i As IntegerFor i = 0 To 365Gastos(i) = 10 + iNextFor i = 0 To 365Debug.print Gastos(i)NextEnd Sub
Laboratório do Capítulo 6 (1A)
Resposta:
Sub Exercicio1() x = DCount(“[CodigoDoCliente]”, “tbl_Clientes”, “[Pais]= ‘Brasil’”) MsgBox xEnd Sub
18 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
Laboratório do Capítulo 6 (2A)
Resposta:
Sub Exercicio2()y = DLookup(“[NomeDoProduto]”,”tbl_Produtos”,”[CodigoDoProduto] =50”) Debug.Print yEnd Sub
Laboratório do Capítulo 6 (3A)
Resposta:
Sub Exercicio3() z = DMax(“Len([NomeDaEmpresa])”, “tbl_Clientes”) Debug.Print zEnd Sub
Laboratório do Capítulo 6 (4A)
Resposta:
Sub Exercicio4() Prest = Pmt(0.05, 240, -80000) MsgBox PrestEnd Sub
19
Material de Apoio - Gabarito
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Laboratório do Capítulo 6 (5A)
Resposta:
Function LocalizaPrimNome(NomeCompleto As String) As String‘Objetivo: Retornar somente o primeiro nome de um nome completo
Dim strNome As StringDim strLetra As StringDim i As Integer
strNome = Trim(NomeCompleto)
For i = 1 To Len(strNome)strLetra = Mid(strNome, i, 1)If strLetra = Chr(32) Then Exit ForNext LocalizaPrimNome = Left(strNome, i - 1)End FunctionSub testeDaFunção() MsgBox LocalizaPrimNome(“Maria da Silva”)End Sub
20 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
Laboratório do Capítulo 6 (6A)
Resposta:
Function TipoTriangulo(A As Long, B As Long, C As Long) As String‘contendo 3 variáveis de argumento da função do tipo Long‘objetivo: Essa função irá informar o tipo do triângulo, de acordo com as‘medidas passadas nas três variáveis de argumento‘Se os valores das três variáveis forem iguais, retornar para função “Equilátero”‘Se os valores das três variáveis forem diferentes, retornar para função “Escaleno”‘Caso contrário, retornar para função “Isósceles”If A <= 0 Or B <= 0 Or C <= 0 Then TipoTriangulo = “#Medidas Inválidas”ElseIf A + B <= C Or B + C <= A Or A + C <= B Then TipoTriangulo = “#Não Constrói”ElseIf A = B And B = C Then TipoTriangulo = “Equilátero”ElseIf A <> B And B <> C And C <> A Then TipoTriangulo = “Escaleno”Else TipoTriangulo = “Isósceles”End IfEnd Function
21
Material de Apoio - Gabarito
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Laboratório do Capítulo 7 (1A)
Resposta:
Private Sub cboPais_AfterUpdate() DoCmd.ApplyFilter , _ “tbl_Fornecedores!Pais=forms!frm07_Fornecedores!cboPais” Me.RequeryEnd SubPrivate Sub cmdRelatorio_Click()If IsNull(Me.cboPais) Or Me.cboPais = “” ThenDoCmd.OpenReport “rpt02_Fornecedores”, acViewPreviewElseDoCmd.OpenReport “rpt02_Fornecedores”, acViewPreview, , _“tbl_Fornecedores!Pais=forms!frm07_Fornecedores!cboPais”End IfEnd Sub
Private Sub cmdTodos_Click() DoCmd.ShowAllRecords Me.cboPais = “”End Sub
22 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
Laboratório do Capítulo 8 (1A)
Resposta:
Sub Exercicio_01() ‘criar variável para conexão Dim cnn As ADODB.Connection ‘criar a variável de recordset Dim rs As ADODB.Recordset Dim lngCont As Long Dim curInvest As Currency
‘Conexão Interna Set cnn = CurrentProject.Connection
‘Preparar a variável recordset‘Set rs = CreateObject(“ADODB.Recordset”)‘ou Set rs = New ADODB.Recordset rs.Open “SELECT CodigoDoProduto,UnidadesEmEstoque*PrecoUnitario AS Total FROM tbl_Produtos”, cnn
Do Until rs.EOF curInvest = curInvest + rs!Total lngCont = lngCont + 1 rs.MoveNext Loop MsgBox “Total de Investimento no Estoque: “ & Format(curInvest, “Currency”), _ vbInformation, “Controle de Investimento no Estoque”
‘fechar os objetos rs.Close cnn.Close
‘limpar as variáveis Set rs = Nothing Set cnn = NothingEnd Sub
23
Material de Apoio - Gabarito
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Laboratório do Capítulo 8 (2A)
Resposta:
Sub Exercicio_02()‘criar variável para conexãoDim cnn As ADODB.Connection‘criar a variável de recordsetDim rs As ADODB.RecordsetDim lngCont As Long‘-------------------------------------DBEngine.SetOption dbMaxLocksPerFile, 200000‘Conexão InternaSet cnn = CurrentProject.Connection
‘Preparar a variável recordset‘Set rs = CreateObject(“ADODB.Recordset”)‘ouSet rs = New ADODB.Recordset
rs.Open “tbl_ClientesPreferenciais”, cnn, adOpenDynamic, adLockPessimistic
Do While Not rs.EOF Select Case rs!idade Case 7 To 19 rs!Premio = “Entradas Hopi Hari” Case 20 To 45 rs!Premio = “Viagem Nova York” Case 46 To 69 rs!Premio = “Viagem Europa” Case 70 To 85 rs!Premio = “Cruzeiro Roberto Carlos” Case Is > 85 rs!Premio = “Pijama” Case Else rs!Premio = “Camisetas Personalizadas” End Select
24 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
Laboratório do Capítulo 8 (2A)
Respostas:
rs.Update ‘salva a alteração feita no recordset dentro do campo na tabela lngCont = lngCont + 1 rs.MoveNextLoop
MsgBox “Total de Registros atualizados: “ & lngCont, vbInformation, “Exercicio”
‘fechar os objetosrs.Closecnn.Close
‘limpar as variáveisSet rs = NothingSet cnn = Nothing
End Sub
25
Material de Apoio - Gabarito
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Laboratório do Capítulo 8 (3A)
Resposta:
Sub Atualiza_Premio()‘tratamento de erroOn Error GoTo Trata_Erro‘on error >>> ativa o tratamento de erro‘goto >>> se houver erro vai para uma subrotina chamada Trata_Erro‘-------------------------------------------‘criar variável para conexãoDim cnn As ADODB.Connection‘criar a variável de recordsetDim rs As ADODB.RecordsetDim lngCont As LongDim curInvest As Currency‘-------------------------------------DBEngine.SetOption dbMaxLocksPerFile, 200000‘Conexão InternaSet cnn = CurrentProject.Connection
‘Preparar a variável recordset‘Set rs = CreateObject(“ADODB.Recordset”)‘ouSet rs = New ADODB.Recordsetrs.Open “SELECT * FROM tbl_ClientesPreferenciais WHERE Bairro LIKE ‘” _ & strBairro & “’”, cnn, adOpenDynamic, adLockPessimisticrs.MoveLast ‘move o ponteiro de registro para o último registro do recordset
Do While Not rs.BOF rs!Premio = strPremio ‘altera somente o recordset rs.Update ‘atualiza a coluna premio que está na tabela lngCont = lngCont + 1 rs.MovePrevious ‘move o ponteiro de registro para o registro acima(anterior)
26 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
Laboratório do Capítulo 8 (3A)
Resposta:
Loop
MsgBox “Total de Clientes premiados: “ & lngCont, vbExclamation, “Bairro: “ & strBairro
‘fechar os objetosrs.Closecnn.Close
‘limpar as variáveisSet rs = NothingSet cnn = Nothing
Exit SubTrata_Erro:MsgBox “Erro: “ & Err.Description & Chr(13) & “Número do erro: “ & Err.Number, _vbCritical, “Erro”
End Sub
Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Kit Apostila
28 Copyright © TechnoEdition Editora Ltda. Material de uso exclusivo do instrutor. Todos os direitos reservados.
Access - Módulo II (Novo)
O que é o Kit Apostila?
É um conjunto de arquivos (scripts, imagens, arquivos, gabaritos, etc.) que acompanha cada apostila da Impacta Editora e que auxilia tanto o instrutor como o aluno a desenvolver os exemplos, exercícios e laboratórios propostos em sala de aula.
Este conjunto de arquivos encontra-se identificado a seguir. Hoje, são disponibilizados pelo suporte técnico no servidor de acesso dos instrutores e alunos quando a sala de aula é montada.
Este treinamento é composto do seguinte Kit Apostila:
• Arquivos de apoio: contém os arquivos utilizados nos exemplos e laboratórios.