centro estadual de educaÇÃo tecnolÓgica paula souza · vba – visual basic for applications sql...
Post on 06-Jul-2020
1 Views
Preview:
TRANSCRIPT
TRABALHO DE PROJETO DE CONCLUSÃO DO CURSO TÉCNICO EM INFORMATICA
BRUNO GUILHERME BOTELHO JOÃO VITOR SANCHES CAVALCANTE
LUCAS MEDEIROS REZENDE PIETRO NARDI DELL’AMORE
RAFAEL BONITO MELLO
GERENCIADOR DO ALMOXARIFADO
São Caetano do Sul / SP Junho / 2015
Centro Estadual de Educação Tecnológica Paula Souza GOVERNO DO ESTADO DE SÃO PAULO
ETEC JORGE STREET
BRUNO GUILHERME BOTELHO JOÃO VITOR SANCHES CAVALCANTE
LUCAS MEDEIROS REZENDE PIETRO NARDI DELL’AMORE
RAFAEL BONITO MELLO
GERENCIADOR DE FERRAMENTAS
Trabalho de Conclusão do Curso
apresentado como requisito para
obtenção do Diploma de Técnico em
Informática.
Orientador: Prof. Rafael Zamboni
São Caetano do Sul / SP Junho / 2015
BRUNO GUILHERME BOTELHO JOÃO VITOR SANCHES CAVALCANTE
LUCAS MEDEIROS REZENDE PIETRO NARDI DELL’AMORE
RAFAEL BONITO MELLO
GERENCIADOR DO ALMOXARIFADO
Trabalho de Conclusão do Curso
apresentado como requisito para
obtenção do Diploma de Técnico em
Informática.
Orientador: Prof. Rafael Zamboni
Banca Examinadora
Orientador :
Membro1:
Membro2:
Dedicamos nosso trabalho a nossa amiga Bruna Castro, que foi
fundamental para o processo de criação do nosso projeto, e
que por outras finalidades, foi obrigada a deixar nosso grupo,
mas que participou inteiramente de todos os processos, e que
nos auxiliou quando mais precisamos.
Agradecemos a Deus, pois sem ele nenhuma ideia poderia ser
realizada. As nossas famílias e amigos, que nos incentivaram
sempre e aos nossos professores que nos deram toda a base
do conhecimento que utilizamos para realizar o nosso projeto.
“Algumas pessoas acham que foco significa dizer sim
para a coisa em que você vai se focar”. Mas não é nada
disso. Significa dizer não às centenas de outras boas
ideias que existem. Você precisa selecionar
cuidadosamente.”
Steve Jobs, 2008, Revista Fortune.
RESUMO
Neste Trabalho de Conclusão de Curso serão apresentados aspectos lógicos para
informatização do Almoxarifado da ETEC Jorge Street. Para desenvolver este
projeto, questionou-se a problemática, para que fosse viável a resolução da mesma
guiada pelo coordenador do curso de mecatrônica Arcy há algum tempo, o mesmo
vinha apresentando problemas com relação à locação das ferramentas, então a
partir disto, revela-se o propósito de melhora como principal função da colocação
apresentada, e para que isso aconteça, faz-se necessário uma mecanização dos
meios físicos introduzidos por um software interno. Este facilitará o controle da
locação das ferramentas.
Palavras-Chave: Informatização. Software. Inovação. Praticidade.
ABSTRACT
In this monography will be presented logical aspects for computerization of the
Warehouse of ETEC Jorge Street. To develop this project, questioning the
problematic, to be viable resolution of the same guided by mechatronics course
coordinator, that was experiencing problems regarding the rental of tools, so from
this, It proves to be the purpose of improvement main function of placement present.
In addition, for this to happen, it is necessary one mechanization of physical media
introduced by an internal software. This will facilitate the control of rental tools.
Keywords: Informatization. Software. Inovation. Practicality.
LISTA DE FIGURAS
Figura 1 Almoxarifado ............................................................................................... 16 Figura 2 Diagrama de Entidade Relacional ............................................................... 22 Figura 3 Casos de Uso .............................................................................................. 23 Figura 4 Fluxograma ................................................................................................. 24 Figura 5 Microsoft Access ......................................................................................... 27 Figura 6 Visual Studio ............................................................................................... 28 Figura 7 Photoshop ................................................................................................... 29 Figura 8 Prezi ............................................................................................................ 30 Figura 9 Word ............................................................................................................ 31 Figura 10 Login ......................................................................................................... 32 Figura 11 Tela Menu ................................................................................................. 33 Figura 12 Tela Cadastro Aluno .................................................................................. 34 Figura 13 Tela Cadastro Ferramenta ........................................................................ 35 Figura 14 Tela Empréstimo ....................................................................................... 36 Figura 15 Tela Devolução ......................................................................................... 37 Figura 16 Tela Alterar Código ................................................................................... 38 Figura 17 Tela Seleciona Ferramenta ....................................................................... 39 Figura 18 Cronograma .............................................................................................. 66
LlSTA DE TABELAS
Tabela 1.1 Entidade TB_ALUNOS ............................................................................ 18 Tabela 1.2 Entidade TB_FERRAMENTAS ................................................................ 18 Tabela 1.3 Entidade TB_MOVIMENTAÇÃO ............................................................. 18 Tabela 1.4 Entidade TB_SENHA .............................................................................. 18 Tabela 1.5 Requisitos Funcionais ............................................................................. 19 Tabela 1.6 Requisitos Não Funcionais ...................................................................... 20 Tabela 1.7 Detalhamento de Requisitos - Login ........................................................ 20 Tabela 1.8 Detalhamento de Requisitos - Consultar ................................................. 21 Tabela 1.9 Detalhamento de Requisitos - Cadastrar ................................................. 21 Tabela 2.0 Detalhamento de Requisitos - Emprestar ................................................ 21 Tabela 2.1 Detalhamento de Requisitos - Devolver .................................................. 22 Tabela 2.2 Detalhamento de Requisitos – Alterar Código ........................................ 22 Tabela 2.2 Divisão das Tarefas ................................................................................. 65
LISTA DE ABREVIATURAS
VB - Visual Basic
ODBC - Open Database Connectivity
VBA – Visual Basic for Applications
SQL – Structured Query Language (Linguagem de Consulta Estruturada)
ASP – Active Server Pages
IDE – Integrated Development Enviroment
Microsoft XNA – XNA's Not Acronymed
UML – Unified Modeling Language
Adobe Photoshop CC – Creative Cloud
HTML5 – Hypertext Markup Language (Versão 5)
SUMÁRIO
INTRODUÇÃO .......................................................................................................... 14 1. FUNDAMENTAÇÃO TEÓRICA ............................................................................ 15
1.1. Justificativa ...................................................................................................... 15
1.2. Objetivos ......................................................................................................... 15
1.2.1. Objetivo Geral ........................................................................................... 15
1.2.2. Objetivos Específicos ............................................................................... 15
1.3. Metodologia ..................................................................................................... 16
2. DESENVOLVIMENTO .......................................................................................... 17
2.1. Análise do Sistema ........................................................................................ 17
2.1.1. Definição ................................................................................................... 17
2.2. Dicionário de Dados ....................................................................................... 18
2.3. Elaboração dos Requisitos ............................................................................. 19
2.3.1. Requisitos Funcionais ............................................................................... 19
2.3.2. Requisitos Não Funcionais ....................................................................... 20
2.4. Detalhamento dos Requisitos ........................................................................ 20
2.5. Diagrama de Entidade Relacional .................................................................. 22
2.6. Diagrama de Casos de Uso ........................................................................... 23
2.7. Fluxograma Geral .......................................................................................... 24
3. TECNOLOGIAS USADAS .................................................................................... 27
3.1. Microsoft Access ............................................................................................ 27
3.2. Visual Studio .................................................................................................. 28
3.3. Photoshop ...................................................................................................... 29
3.4. Prezi ................................................................................................................ 30
3.5. Word ............................................................................................................... 31
4. TELAS DO SISTEMA ........................................................................................... 32 4.1. Tela Login ....................................................................................................... 32
4.2. Tela Menu ....................................................................................................... 33
4.3. Tela Cadastro Aluno ....................................................................................... 34
4.4. Tela Cadastro Ferramenta .............................................................................. 35
4.5. Tela Empréstimo ............................................................................................. 36
4.6. Tela Devolução ............................................................................................... 37
4.7. Tela Alterar Código ......................................................................................... 38
4.8. Tela Seleciona Ferramenta ............................................................................. 39
5. CÓDIGO FONTE ................................................................................................... 40
5.1. Tela Login ....................................................................................................... 40
5.2. Tela Menu ....................................................................................................... 42
5.3. Tela Cadastro Aluno ....................................................................................... 46
5.4. Tela Cadastro Ferramenta .............................................................................. 50
5.5. Tela Empréstimo ............................................................................................. 54
5.6. Tela Devolução ............................................................................................... 58
5.7. Tela Alterar Código ......................................................................................... 62
5.8. Tela Seleciona Ferramenta ............................................................................. 62
6. PLANEJAMENTO ................................................................................................. 65
6.1. Divisão das Tarefas ........................................................................................ 65
6.2. Cronograma .................................................................................................... 66
7. CONCLUSÕES FINAIS ........................................................................................ 67 REFERÊNCIAS ......................................................................................................... 68
INTRODUÇÃO
A cada dia que passa, a informática vem adquirindo cada vez mais relevância na
vida das pessoas e nas empresas. Sua utilização já é vista como instrumento de
aprendizagem e sua ação no meio social vêm aumentando de forma rápida entre as
pessoas.
Partindo dessa premissa, fizemos uma visita a área técnica, observamos que o
almoxarifado utilizava de um método nada eficaz para o empréstimo das ferramentas
para os alunos. Então decidimos desenvolver um software para agilizar as tarefas de
empréstimo do almoxarifado, com um controle maior sobre os alunos que usam
essas ferramentas.
Utilizamos a linguagem de programação VB com conexão ao banco de dados
Access.
15
1. FUNDAMENTAÇÃO TEÓRICA
1.1 JUSTIFICATIVA
O diferencial do projeto foi que o desenvolvimento foi gerado para algo especifico.
Com a prematuridade dos existentes no mercado, constatamos que não há
softwares aptos para o gerenciamento de tal área.
O nosso projeto tomou inciativa devido a demanda do professor Arcy, que tem
dificuldade de controlar os empréstimos de peças do almoxarifado. Com isso
decidimos desenvolver este programa com a objetividade de suprir as necessidades
existentes.
1.2 OBJETIVOS
1.2.1 OBJETIVO GERAL
Um sistema de Gerenciamento de entrada e saída de produtos do almoxarifado.
1.2.2 OBJETIVOS ESPECIFICOS
Gerenciar entrada e saída de ferramentas;
Gerenciamento de alunos;
Gerenciamento e controle de locação;
Gerenciamento administrativo;
Geração de relatórios;
16
1.3 METODOLOGIA
Figura 1 – Almoxarifado
Fonte: Autoria Própria, 2015.
Utilizamos da metodologia de campo, pois vimos que a escola necessitava de uma
melhoria no almoxarifado, visitando o mesmo durante um período de tempo.
Vimos que o almoxarifado não tinha um controle sobre as peças que saiam do
estoque, e utilizava se um método não eficaz para emprestar a ferramenta aos
alunos. Onde não havia nenhum registro de alunos, apenas pegava se a carteirinha
do aluno quando o mesmo retirava a ferramenta, caso ele retirasse duas
ferramentas ele poderia devolver somente uma das que pegou e ficar com uma para
ele sem o controlador do almoxarifado perceber.
17
2. DESENVOLVIMENTO
2.1 ANÁLISE DO SISTEMA
2.1.1 DEFINIÇÃO
O software permitirá ao usuário acesso a um Banco de Dados integrado com
informações sobre determinado aluno ou ferramenta. São informações sigilosas e
seguras, cadastradas no banco de dados do computador local. Esses dados vão
auxiliar o administrador a controlar a locação das ferramentas, sem que ele tenha
que ficar escrevendo item a item no papel.
O objetivo principal do projeto é facilitar o controle do almoxarifado de forma precisa.
18
2.2 DICIONÁRIO DE DADOS
Tabela 1.1 Entidade TB_ALUNOS
Fonte: Autoria própria, 2015.
Tabela 1.2 Entidade TB_FERRAMENTAS
Fonte: Autoria própria, 2015.
Tabela 1.3 Entidade TB_MOVIMENTAÇÃO
Fonte: Autoria própria, 2015.
Tabela 1.4 Entidade TB_SENHA
Fonte: Autoria própria, 2015.
19
2.3 ELABORAÇÃO DOS REQUISITOS
2.3.1 REQUISITOS FUNCIONAIS
Tabela 1.5 Requisitos Funcionais
Código Descrição Classificação
RFU.001 Deverá permitir o registro de informações relativas aos empréstimos das ferramentas, a ser utilizado
pelo administrador.
Obrigatório
RFU.002 Deverá permitir o registro de alunos. Obrigatório
RFU.003 Deverá permitir o registro de ferramentas. Obrigatório
RFU.004 Poderá o usuário consultar as ferramentas para verificar seus dados e sua disponibilidade.
Obrigatório
RFU.005 Poderá o usuário gerar relatórios relativos às movimentações das ferramentas.
Desejável
RFU.006 Poderá conter banco de dados interno que contenham as seguintes informações: código das ferramentas e seus respectivos dados; código dos alunos e seus respectivos dados; e por fim dados das movimentações.
Obrigatório
RFU.007 Deverá impedir a inserção de dados fora de formato.
Obrigatório
RFU.008 Ficará restrito APENAS ao usuário administrador permissão de cadastrar/excluir ferramentas e alunos, e encerrar o programa.
Obrigatório
RFU.009 Deverá permitir o acesso (login) do administrador Obrigatório
Fonte: Autoria própria, 2015.
20
2.3.2 REQUISITOS NÃO FUNCIONAIS
Tabela 1.6 Requisitos Não Funcionais Código Descrição Tipo Classificação
RFN.001 O sistema apresenta interface intuitiva.
Usabilidade Desejável
RFN.002 O sistema será implantado em uma máquina local.
Usabilidade Obrigatório
RFN.003 Somente o administrador terá acesso as informações do banco de dados.
Funcionalidade Obrigatório
RFN.004 O sistema deverá restringir o acesso dos alunos às informações do banco de dados.
Confiabilidade Obrigatório
RFN.005 O sistema será operado em ambiente Windows.
Usabilidade Obrigatório
RFN.006 O tempo de resposta do sistema não deve ultrapassar 10 segundos.
Eficiência Desejável
Fonte: Autoria própria, 2015.
2.4 DETALHAMENTO DOS REQUISITOS
Tabela 1.7 Detalhamento dos Requisitos - Login
RFU.Nº Descrição
1 Efetuar Login
Regra
de
Negócio
Descrição da Regra de Negócios
01 O usuário administrador somente efetuará login no sistema a partir da
senha.
02 O usuário administrador SOMENTE poderá fazer o uso do sistema se
efetuar o login.
Fonte: Autoria própria, 2015.
21
Tabela 1.8 Detalhamento dos Requisitos - Consultar
RFU.Nº Descrição
2 Consultar
Regra
de
Negócio
Descrição da Regra de Negócios
01 O usuário administrador poderá realizar consulta por código da
ferramenta.
02 O usuário administrador poderá realizar consulta por código do aluno.
Fonte: Autoria própria, 2015.
Tabela 1.9 Detalhamento dos Requisitos - Cadastrar
RFU.Nº Descrição
3 Cadastrar
Regra
de
Negócio
Descrição da Regra de Negócios
01 O usuário administrador poderá cadastrar ferramentas.
02 O usuário administrador poderá cadastrar alunos.
Fonte: Autoria própria, 2015.
Tabela 2.0 Detalhamento dos Requisitos - Emprestar
RFU.Nº Descrição
4 Emprestar
Regra
de
Negócio
Descrição da Regra de Negócios
01 O usuário administrador poderá realizar a locação das ferramentas.
Fonte: Autoria própria, 2015.
22
Tabela 2.1 Detalhamento dos Requisitos - Devolver
RFU.Nº Descrição
5 Devolver
Regra
de
Negócio
Descrição da Regra de Negócios
01 O usuário administrador poderá realizar a devolução das ferramentas.
Fonte: Autoria própria, 2015.
Tabela 2.2 Detalhamento dos Requisitos – Alterar Código
RFU.Nº Descrição
5 Alterar Código
Regra
de
Negócio
Descrição da Regra de Negócios
01 O usuário administrador poderá realizar a alteração do código de login.
Fonte: Autoria própria, 2015.
2.5 DER – DIAGRAMA DE ENTIDADE RELACIONAL
Figura 2 – DER
Fonte: Autoria própria, 2015.
23
2.6 DIAGRAMA DE CASOS DE USO
Figura 3 – Casos de Uso
Fonte: Autoria própria, 2015.
24
2.7 FLUXOGRAMA GERAL
Figura 4a – Fluxograma
Fonte: Autoria própria, 2015
25
Figura 4b – Fluxograma
Fonte: Autoria própria, 2015.
26
Figura 4c – Fluxograma
Fonte: Autoria própria, 2015.
27
3. TECNOLOGIAS USADAS
3.1 MICROSOFT ACCESS 2010
O Microsoft Access é um software para o gerenciamento de banco de dados, que
vem incluído no pacote Office, que permite a criação fácil de aplicações que usam
tanto o banco de dados como a interface gráfica.
Um dos pontos positivos do Access é o fácil manuseio, sendo utilizado por qualquer
tipo de usuário, pois é um dos bancos de dados mais simples.
Figura 5 – Microsoft Access
Fonte: OFFICE, 2015
28
3.2 MICROSOFT VISUAL STUDIO 2010
O Microsoft Visual Studio é uma IDE, com um pacote de programas da Microsoft
para a criação de software nas linguagens VB, C, C++, C# (C Sharp) e J# (J Sharp)
que foi lançada com o objetivo de ser a mais completa disponível no mercado.
Além disso, o Visual Basic é uma linguagem totalmente orientada a objetos com
suporte a UML.
Figura 6 – Visual Studio 2010
Fonte: VISUALSTUDIOMAGAZINE, 2012.
29
3.3 PHOTOSHOP
O Photoshop é uma das melhores ferramentas para tratamento de imagens nos dias
atuais. É usado por diversas empresas, revistas, fotógrafos, modelos para retocar e
remover alguns defeitos.
É o líder do mercado de edição de imagens profissionais, sendo um programa bem
completo.
O Adobe Photoshop CC, é a ultima versão do programa disponível para os sistemas
operacionais Microsoft Windows e Mac OS X.
Figura 7 – Photoshop
Fonte: PHOTOSHOP, 2015.
30
3.4 PREZI
O Prezi é um software utilizado para o desenvolvimento de apresentações, feito em
HTML5 e armazenadas em nuvem.
A plataforma pode ser utilizada pelo navegador a partir de uma versão gratuita, após
realizar o seu cadastro você já pode criar sua apresentação ou utilizar
apresentações públicas compartilhadas por outros usuários.
Há também a versão paga do programa que aumenta o tamanho disponível para o
armazenamento em nuvem, e permite a edição do trabalho localmente (off-line).
Figura 8 – Prezi
Fonte: PREZI, 2015.
31
3.5 MICROSOFT WORD 2010
O Word é um dos mais completos e práticos editores de texto no mercado atual
criado pela Microsoft, com uma variedade de utilidades como, por exemplo, os
efeitos de texto.
Figura 9 – Word
Fonte: OFFICE, 2015.
32
4. TELAS DO SISTEMA
4.1 TELA LOGIN
Figura 10 – Tela Login
Fonte: Autoria própria, 2015.
33
4.2 TELA MENU
Figura 11 – Tela Menu
Fonte: Autoria própria, 2015.
34
4.3 TELA CADASTRO ALUNO
Figura 12 – Tela Cadastro Aluno
Fonte: Autoria própria, 2015.
35
4.4 TELA CADASTRO FERRAMENTA
Figura 13 – Tela Cadastro Ferramenta
Fonte: Autoria própria, 2015.
36
4.5 TELA EMPRÉSTIMO
Figura 14 – Tela Emprestimo
Fonte: Autoria própria, 2015.
37
4.6 TELA DEVOLUÇÃO FERRAMENTA
Figura 15 – Tela Devolução Ferramenta
Fonte: Autoria própria, 2015
38
4.7 TELA ALTERAR CÓDIGO
Figura 16 – Tela Alterar Código
Fonte: Autoria própria, 2015.
39
4.8 TELA SELECIONA FERRAMENTA
Figura 17 – Tela Seleciona Ferramenta
Fonte: Autoria própria, 2015.
40
5. CÓDIGO FONTE
5.1 TELA LOGIN
Imports System.Data.OleDb Public Class Login Dim ConString As String = "provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" + Application.StartupPath & "\Almoxarifado.accdb" Dim DBCon As New OleDb.OleDbConnection(ConString) Dim DR As OleDbDataReader Dim conta As Integer Dim cn As New OleDbConnection() Dim cmd As New OleDbCommand() Private Sub Login_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles btnEntrar.Click Dim COD, SQL As String Dim flag As Boolean If txtCodigo.Text = "" Then MessageBox.Show("Digite o código") txtCodigo.Focus() Exit Sub End If COD = txtCodigo.Text SQL = "SELECT * FROM TB_SENHA WHERE SENHA_USUARIO='" & COD & "'" Dim cm As New OleDb.OleDbCommand(SQL, DBCon) Try DBCon.Open() DR = cm.ExecuteReader If DR.HasRows Then While DR.Read If DR.Item("SENHA_USUARIO") = COD Then Painel.Show() flag = True Me.Hide() End If End While End If If flag = False Then MessageBox.Show("Código incorreto")
41
End If DBCon.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Erro Generico", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try DBCon.Close() End Sub Private Sub btnEntrar_Click(sender As System.Object, e As System.EventArgs) End Sub Private Sub Label1_Click(sender As System.Object, e As System.EventArgs) Handles Label1.Click AlterarCodigo.Show() End Sub Private Sub OpenFileDialog1_FileOk(sender As System.Object, e As System.ComponentModel.CancelEventArgs) End Sub Private Sub Button1_Click_1(sender As System.Object, e As System.EventArgs) Handles Button1.Click System.Diagnostics.Process.Start("https://www.youtube.com/watch?v=4dUouPjuy4c") End Sub End Class
42
5.2 TELA MENU
Imports System.Data.OleDb Imports System.Drawing.Printing Public Class Painel Private paginaAtual As Integer = 1 Private MyConnection As OleDbConnection Private Leitor As OleDbDataReader Private RelatorioTitulo As String Private WithEvents m_PrintDocument As PrintDocument 'gerar a pagina e imprimir Private Sub m_PrintDocument_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles m_PrintDocument.PrintPage Using caneta As New Pen(Color.Black, 20) e.Graphics.DrawRectangle(caneta, e.MarginBounds) caneta.DashStyle = Drawing2D.DashStyle.Dash caneta.Alignment = Drawing2D.PenAlignment.Outset e.Graphics.DrawRectangle(caneta, e.PageBounds) End Using '¡ndica que nao ha mais paginas a serem impressas e.HasMorePages = False End Sub Private Sub Begin_Print(ByVal sender As Object, ByVal e As Printing.PrintEventArgs) Dim hoje As String = Now.Date Dim dia As String = hoje.Substring(0, 3) Dim mes As String = hoje.Substring(3, 3) Dim ano As String = hoje.Substring(6, 4) hoje = mes & dia & ano Dim Sql As String = "SELECT * from TB_MOVIMENTACAO" Dim MyComand As New OleDbCommand(Sql, MyConnection) MyConnection.Open() Leitor = MyComand.ExecuteReader() paginaAtual = 1 End Sub Private Sub pdRelatorios_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) 'Variaveis das linhas Dim LinhasPorPagina As Single = 0 Dim PosicaoDaLinha As Single = 0 Dim LinhaAtual As Integer = 0 'Variaveis das margens Dim MargemEsquerda As Single = e.MarginBounds.Left Dim MargemSuperior As Single = e.MarginBounds.Top + 100 Dim MargemDireita As Single = e.MarginBounds.Right Dim MargemInferior As Single = e.MarginBounds.Bottom Dim CanetaDaImpressora As Pen = New Pen(Color.Black, 1) Dim COD_FERRAMENTA As String Dim RM_ALUNO As String Dim TURMA_ALUNO As String Dim DATA_RETIRADA As Date 'Variaveis das fontes Dim FonteNegrito As Font Dim FonteTitulo As Font Dim FonteSubTitulo As Font
43
Dim FonteRodape As Font Dim FonteNormal As Font 'define efeitos em fontes FonteNegrito = New Font("Microsoft Sans Serif", 9, FontStyle.Bold) FonteTitulo = New Font("Microsoft Sans Serif", 15, FontStyle.Bold) FonteSubTitulo = New Font("Microsoft Sans Serif", 12, FontStyle.Bold) FonteRodape = New Font("Microsoft Sans Serif", 8) FonteNormal = New Font("Microsoft Sans Serif", 9) 'define valores para linha atual e para linha da impressao LinhaAtual = 0 Dim L As Integer = 0 'Dim empresa As String 'Cabeçalho e.Graphics.DrawLine(CanetaDaImpressora, MargemEsquerda, 60, MargemDireita, 60) e.Graphics.DrawLine(CanetaDaImpressora, MargemEsquerda, 160, MargemDireita, 160) e.Graphics.DrawString(RelatorioTitulo & System.DateTime.Today, FonteSubTitulo, Brushes.Black, MargemEsquerda + 115, 100, New StringFormat()) 'campos a serem impressos: Placa, RG e data de devolução e.Graphics.DrawString("COD_FERRAMENTA", FonteNegrito, Brushes.Black, MargemEsquerda + 1, 170, New StringFormat()) e.Graphics.DrawString("RM_ALUNO", FonteNegrito, Brushes.Black, MargemEsquerda + 152, 170, New StringFormat()) e.Graphics.DrawString("TURMA_ALUNO", FonteNegrito, Brushes.Black, MargemEsquerda + 303, 170, New StringFormat()) e.Graphics.DrawString("DATA_RETIRADA", FonteNegrito, Brushes.Black, MargemEsquerda + 454, 170, New StringFormat()) e.Graphics.DrawLine(CanetaDaImpressora, MargemEsquerda, 190, MargemDireita, 190) LinhasPorPagina = CInt(e.MarginBounds.Height / FonteNormal.GetHeight(e.Graphics) - 9) 'Aqui sao lidos os dados While (LinhaAtual < LinhasPorPagina AndAlso Leitor.Read()) 'obtem os valores do datareader COD_FERRAMENTA = Leitor(0) RM_ALUNO = Leitor(1) TURMA_ALUNO = Leitor(2) DATA_RETIRADA = Leitor(3) 'inicia a impressao PosicaoDaLinha = MargemSuperior + (LinhaAtual * FonteNormal.GetHeight(e.Graphics)) e.Graphics.DrawString(COD_FERRAMENTA.ToString(), FonteNormal, Brushes.Black, MargemEsquerda + 1, PosicaoDaLinha, New StringFormat()) e.Graphics.DrawString(RM_ALUNO.ToString, FonteNormal, Brushes.Black, MargemEsquerda + 152, PosicaoDaLinha, New StringFormat()) e.Graphics.DrawString(TURMA_ALUNO.ToString, FonteNormal, Brushes.Black, MargemEsquerda + 303, PosicaoDaLinha, New StringFormat()) e.Graphics.DrawString(DATA_RETIRADA.Date, FonteNormal, Brushes.Black, MargemEsquerda + 454, PosicaoDaLinha, New StringFormat()) LinhaAtual += 1 End While 'Rodape e.Graphics.DrawLine(CanetaDaImpressora, MargemEsquerda, MargemInferior, MargemDireita, MargemInferior)
44
e.Graphics.DrawString(System.DateTime.Now.ToString(), FonteRodape, Brushes.Black, MargemEsquerda, MargemInferior, New StringFormat()) LinhaAtual += CInt(FonteNormal.GetHeight(e.Graphics)) LinhaAtual += 1 e.Graphics.DrawString("Página : " & paginaAtual, FonteRodape, Brushes.Black, MargemDireita - 50, MargemInferior, New StringFormat()) 'Incrementa o número da pagina paginaAtual += 1 'verifica se continua imprimindo If (LinhaAtual > LinhasPorPagina) Then e.HasMorePages = True Else e.HasMorePages = False End If End Sub Private Sub End_Print(ByVal sender As Object, ByVal byvale As Printing.PrintEventArgs) Leitor.Close() MyConnection.Close() End Sub Private Sub btnConsultar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCadastrarAluno.Click CadastroAluno.Show() End Sub Private Sub Button1_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCadastrarFerramenta.Click CadastroFerramenta.Show() End Sub Private Sub Button1_Click_3(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLocacao.Click Emprestimo.Show() End Sub Private Sub Inicial_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub Button1_Click_4(ByVal sender As System.Object, ByVal e As System.EventArgs) Devolucao.Show() End Sub Private Sub Button2_Click_2(sender As System.Object, e As System.EventArgs) Handles btnDevolucao.Click Devolucao.Show() End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 'obtem a string de conexao
45
MyConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\Almoxarifado.ACcdb") 'define o titulo do relatorio RelatorioTitulo = "Relação de Devoluções não Efetuadas " 'define os objetos printdocument e os eventos associados Dim pd As Printing.PrintDocument = New Printing.PrintDocument() 'IMPORTANTE - definimos 3 eventos para tratar a impressão : PringPage, BeginPrint e EndPrint. AddHandler pd.PrintPage, New Printing.PrintPageEventHandler(AddressOf Me.pdRelatorios_PrintPage) AddHandler pd.BeginPrint, New Printing.PrintEventHandler(AddressOf Me.Begin_Print) AddHandler pd.EndPrint, New Printing.PrintEventHandler(AddressOf Me.End_Print) 'define o objeto para visualizar a impressao Dim objPrintPreview As New PrintPreviewDialog Try 'define o formulário como maximizado e com Zoom With objPrintPreview .Document = pd .WindowState = FormWindowState.Maximized .PrintPreviewControl.Zoom = 1 .Text = "Relação de Devoluções não Efetuadas" .ShowDialog() End With Catch ex As Exception MessageBox.Show(ex.ToString()) End Try End Sub End Class
46
5.3 TELA CADASTRO ALUNO
Imports System.Data.OleDb Public Class CadastroAluno Dim ConString As String = "provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" + Application.StartupPath & "\Almoxarifado.accdb" Dim DBCon As New OleDb.OleDbConnection(ConString) Dim cmd As New OleDb.OleDbCommand() Dim DR As OleDbDataReader Private Sub btnConsultar_Click(sender As System.Object, e As System.EventArgs) Handles btnConsultar.Click Dim COD, SQL As String Dim flag As Boolean If txtRM.Text = "" Then MessageBox.Show("Digite um RM valido!") End If COD = txtRM.Text SQL = "select * from TB_ALUNOS where RM_ALUNO=" & COD Dim cm As New OleDb.OleDbCommand(SQL, DBCon) Try DBCon.Open() DR = cm.ExecuteReader If DR.HasRows Then While DR.Read If (DR.Item("RM_ALUNO") = COD) Then txtNome.Text = DR.Item("NOME_ALUNO") txtTurma.Text = DR.Item("TURMA_ALUNO") flag = True End If End While End If If flag = False Then MessageBox.Show("Aluno não encontrado!") End If Catch ex As Exception MessageBox.Show(ex.Message, "Erro Generico", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try DBCon.Close() End Sub Private Sub btnIncluir_Click(sender As System.Object, e As System.EventArgs) Handles btnIncluir.Click If Not IsNumeric(txtRM.Text) Then MessageBox.Show("Clique no botão de novo!") Exit Sub End If
47
Dim STRSQL As String STRSQL = "insert into TB_ALUNOS(RM_ALUNO, NOME_ALUNO, TURMA_ALUNO) values (@RM_ALUNO, @NOME_ALUNO, @TURMA_ALUNO)" Dim cm As New OleDbCommand(STRSQL, DBCon) cm.Parameters.AddWithValue("@RM_ALUNO", txtRM.Text) cm.Parameters.AddWithValue("@NOME_ALUNO", txtNome.Text) cm.Parameters.AddWithValue("@TURMA_ALUNO", txtTurma.Text) Try DBCon.Open() cm.ExecuteNonQuery() MessageBox.Show("Cadastro Realizado!") btnLimpar.PerformClick() 'botão limpar DBCon.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Erro ao cadastrar!") End Try End Sub Private Sub btnExcluir_Click(sender As System.Object, e As System.EventArgs) Handles btnExcluir.Click If MessageBox.Show("Deseja excluir esse cadastro?", "Alerta de Exclusão", _ MessageBoxButtons.YesNo, MessageBoxIcon.Question, _ MessageBoxDefaultButton.Button2) = DialogResult.No Then Exit Sub End If 'Estabelecer a conexão Dim cn As New OleDbConnection() cn.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;Data source = Almoxarifado.accdb") 'Definir o comando cmd.Connection = cn Dim instrucaoSQL As String instrucaoSQL = "Delete from TB_ALUNOS where RM_ALUNO =" + txtRM.Text cmd.CommandText = instrucaoSQL cmd.CommandType = CommandType.Text 'Executar Try cn.Open() cmd.ExecuteNonQuery() MessageBox.Show("Aluno excluído com sucesso!") txtRM.Clear() txtNome.Clear() txtTurma.Clear() Catch ex As Exception MessageBox.Show(ex.Message) End Try 'Fechar conexão cn.Close() End Sub Private Sub btnAlterar_Click(sender As System.Object, e As System.EventArgs) Handles btnAlterar.Click If txtRM.Text() = "" Then MessageBox.Show("Digite um RM para alteração!", "ATENCAO", MessageBoxButtons.OK, MessageBoxIcon.Error)
48
txtRM.Focus() Exit Sub End If Dim strsql = "UPDATE TB_ALUNOS SET RM_ALUNO=@RM_ALUNO, NOME_ALUNO=@NOME_ALUNO, TURMA_ALUNO=@TURMA_ALUNO WHERE RM_ALUNO=" + txtRM.Text Dim cm As New OleDbCommand(strsql, DBCon) Try cm.Parameters.AddWithValue("@RM_ALUNO", txtRM.Text) cm.Parameters.AddWithValue("@NOME_ALUNO", txtNome.Text) cm.Parameters.AddWithValue("@TURMA_ALUNO", txtTurma.Text) DBCon.Open() cm.ExecuteNonQuery() MessageBox.Show("Cadastro aluno alterado!") DBCon.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Erro durante a alterção", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try btnLimpar.PerformClick() End Sub Private Sub btnLimpar_Click(sender As System.Object, e As System.EventArgs) Handles btnLimpar.Click txtRM.Text = "" txtNome.Text = "" txtTurma.Text = "" End Sub Private Sub btnSair_Click(sender As System.Object, e As System.EventArgs) If (MessageBox.Show("Deseja realmente sair? ", "Alerta", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) = vbYes) Then Me.Close() End If End Sub Private Sub btnVoltar_Click(sender As System.Object, e As System.EventArgs) Painel.Show() Me.Hide() End Sub Private Sub grpFuncoes_Enter(sender As System.Object, e As System.EventArgs) End Sub Private Sub CadastroAluno_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load End Sub
49
Private Sub txtRM_TextChanged(sender As System.Object, e As System.EventArgs) If Not ValidateNumeric(txtRM.Text) Then txtRM.Text = "" End If End Sub Private Function ValidateNumeric(strText As String) _ As Boolean ValidateNumeric = CBool(strText = "" _ Or strText = "-" _ Or strText = "-." _ Or strText = "." _ Or IsNumeric(strText)) End Function Private Sub mtbRM_MaskInputRejected(sender As System.Object, e As System.Windows.Forms.MaskInputRejectedEventArgs) Handles txtRM.MaskInputRejected End Sub End Class
50
5.4 TELA CADASTRO FERRAMENTA
Imports System.Data.OleDb Public Class CadastroFerramenta Dim ConString As String = "provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" + Application.StartupPath & "\Almoxarifado.accdb" Dim DBCon As New OleDb.OleDbConnection(ConString) Dim cmd As New OleDb.OleDbCommand() Dim DR As OleDbDataReader Private Sub btnConsultar_Click(sender As System.Object, e As System.EventArgs) Handles btnConsultar.Click Dim COD, SQL As String Dim flag As Boolean If txtCodFerramenta.Text = "" Then MessageBox.Show("Digite um código valido!") End If COD = txtCodFerramenta.Text SQL = "select * from TB_FERRAMENTAS where COD_FERRAMENTA=" & COD Dim cm As New OleDb.OleDbCommand(SQL, DBCon) Try DBCon.Open() DR = cm.ExecuteReader If DR.HasRows Then While DR.Read If (DR.Item("COD_FERRAMENTA") = COD) Then txtNome.Text = DR.Item("NOME_FERRAMENTA") txtTamanho.Text = DR.Item("TAMANHO_FERRAMENTA") flag = True End If End While End If If flag = False Then MessageBox.Show("Ferramenta não encontrada!") End If Catch ex As Exception MessageBox.Show(ex.Message, "Erro Generico!", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try DBCon.Close() End Sub Private Sub btnIncluir_Click(sender As System.Object, e As System.EventArgs) Handles btnIncluir.Click
51
Dim STRSQL As String STRSQL = "insert into TB_FERRAMENTAS(COD_FERRAMENTA, NOME_FERRAMENTA, TAMANHO_FERRAMENTA, STATUS_FERRAMENTA) values (@COD_FERRAMENTA,@NOME_FERRAMENTA, @TAMANHO_FERRAMENTA, @STATUS_FERRAMENTA)" Dim cm As New OleDbCommand(STRSQL, DBCon) cm.Parameters.AddWithValue("@COD_FERRAMENTA", txtCodFerramenta.Text) cm.Parameters.AddWithValue("@NOME_FERRAMENTA", txtNome.Text) cm.Parameters.AddWithValue("@TAMANHO_FERRAMENTA", txtTamanho.Text) cm.Parameters.AddWithValue("@STATUS_FERRAMENTA", "DISPONÍVEL") Try DBCon.Open() cm.ExecuteNonQuery() MessageBox.Show("Cadastro realizado!") btnLimpar.PerformClick() 'botão limpar DBCon.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Erro ao cadastrar!") End Try DBCon.Close() End Sub Private Sub btnExcluir_Click(sender As System.Object, e As System.EventArgs) Handles btnExcluir.Click If MessageBox.Show("Deseja excluir esse cadastro?", "Alerta de Exclusão", _ MessageBoxButtons.YesNo, MessageBoxIcon.Question, _ MessageBoxDefaultButton.Button2) = DialogResult.No Then Exit Sub End If 'Estabelecer a conexão Dim cn As New OleDbConnection() cn.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;Data source = Almoxarifado.accdb") 'Definir o comando cmd.Connection = cn Dim instrucaoSQL As String instrucaoSQL = "Delete from TB_FERRAMENTAS where COD_FERRAMENTA =" + txtCodFerramenta.Text cmd.CommandText = instrucaoSQL cmd.CommandType = CommandType.Text 'Executar Try cn.Open() cmd.ExecuteNonQuery() MessageBox.Show("Ferramenta excluída com sucesso!") txtCodFerramenta.Clear() txtNome.Clear() txtTamanho.Clear() Catch ex As Exception MessageBox.Show(ex.Message) End Try 'Fechar conexão cn.Close() End Sub
52
Private Sub btnAlterar_Click(sender As System.Object, e As System.EventArgs) Handles btnAlterar.Click If txtCodFerramenta.Text() = "" Then MessageBox.Show("Digite um código para alteração", "ATENCAO", MessageBoxButtons.OK, MessageBoxIcon.Error) txtCodFerramenta.Focus() Exit Sub End If Dim strsql = "UPDATE TB_FERRAMENTAS SET NOME_FERRAMENTA=@NOME_FERRAMENTA, TAMANHO_FERRAMENTA=@TAMANHO_FERRAMENTA WHERE COD_FERRAMENTA=" + txtCodFerramenta.Text Dim cm As New OleDbCommand(strsql, DBCon) Try cm.Parameters.AddWithValue("@NOME_FERRAMENTA", txtNome.Text) cm.Parameters.AddWithValue("@TAMANHO_FERRAMENTA", txtTamanho.Text) DBCon.Open() cm.ExecuteNonQuery() MessageBox.Show("Ferramenta alterada!") DBCon.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Erro durante a alteração!", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try btnLimpar.PerformClick() End Sub Private Sub btnLimpar_Click(sender As System.Object, e As System.EventArgs) Handles btnLimpar.Click txtCodFerramenta.Text = "" txtNome.Text = "" txtTamanho.Text = "" End Sub Private Sub btnSair_Click(sender As System.Object, e As System.EventArgs) If (MessageBox.Show("Deseja realmente sair? ", "Alerta", _ MessageBoxButtons.YesNo, _ MessageBoxIcon.Exclamation) = vbYes) Then Me.Close() End If End Sub Private Sub btnVoltar_Click(sender As System.Object, e As System.EventArgs) Painel.Show() Me.Hide() End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) SelecionaFerramenta.Show()
53
End Sub Private Sub grpRG_Enter(sender As System.Object, e As System.EventArgs) End Sub Private Sub txtCodFerramenta_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtCodFerramenta.TextChanged End Sub Private Sub CadastroFerramenta_Load(sender As Object, e As EventArgs) Handles MyBase.Load End Sub End Class
54
5.5 TELA EMPRÉSTIMO
Imports System.Data.OleDb Public Class Emprestimo Dim ConString As String = "provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" + Application.StartupPath & "\Almoxarifado.accdb" Dim DBCon As New OleDb.OleDbConnection(ConString) Dim DR As OleDbDataReader Dim conta As Integer Dim cn As New OleDbConnection() Dim cmd As New OleDbCommand() Private Sub GroupBox2_Enter(sender As System.Object, e As System.EventArgs) End Sub Private Sub TextBox2_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtTamanho.TextChanged End Sub Private Sub dtpDevolver_ValueChanged(sender As System.Object, e As System.EventArgs) End Sub Private Sub btnConsultar1_Click(sender As System.Object, e As System.EventArgs) Handles btnConsultar1.Click Dim COD, SQL As String Dim flag As Boolean If txtCodFerramenta.Text = "" Then MessageBox.Show("Digite um código de ferramenta válido!") txtCodFerramenta.Focus() Exit Sub End If COD = txtCodFerramenta.Text SQL = "SELECT * FROM TB_FERRAMENTAS WHERE COD_FERRAMENTA=" & COD Dim cm As New OleDb.OleDbCommand(SQL, DBCon) Try DBCon.Open() DR = cm.ExecuteReader If DR.HasRows Then While DR.Read If DR.Item("COD_FERRAMENTA") = COD Then txtNomeFer.Text = DR.Item("NOME_FERRAMENTA") txtTamanho.Text = DR.Item("TAMANHO_FERRAMENTA") txtStatus.Text = DR.Item("STATUS_FERRAMENTA") flag = True End If End While End If
55
If flag = False Then MessageBox.Show("Ferramenta não encontrada!") End If DBCon.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Erro Generico", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try DBCon.Close() End Sub Private Sub btnConsultar2_Click(sender As System.Object, e As System.EventArgs) Handles btnConsultar2.Click Dim COD, SQL As String Dim flag As Boolean If txtRM.Text = "" Then MessageBox.Show("Digite um RM válido!") txtRM.Focus() Exit Sub End If COD = txtRM.Text SQL = "SELECT * FROM TB_ALUNOS WHERE RM_ALUNO=" & COD Dim cm As New OleDb.OleDbCommand(SQL, DBCon) Try DBCon.Open() DR = cm.ExecuteReader If DR.HasRows Then While DR.Read If DR.Item("RM_ALUNO") = COD Then txtNomeAluno.Text = DR.Item("NOME_ALUNO") txtTurma.Text = DR.Item("TURMA_ALUNO") flag = True End If End While End If If flag = False Then MessageBox.Show("Aluno não encontrado!") End If DBCon.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Erro Generico", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try
56
DBCon.Close() End Sub Private Sub btnconfirmar_Click(sender As System.Object, e As System.EventArgs) Handles btnconfirmar.Click If txtStatus.Text = "INDISPONÍVEL" Then MessageBox.Show("A ferramenta já esta emprestada!") Else Dim STRSQL As String Dim STRSQL1 As OleDbCommand STRSQL = "insert into TB_MOVIMENTACAO (COD_FERRAMENTA,RM_ALUNO,TURMA_ALUNO,DATA_RETIRADA) values (@COD_FERRAMENTA,@RM_ALUNO,@TURMA_ALUNO,@DATA_RETIRADA)" Dim cm As New OleDbCommand(STRSQL, DBCon) cm.Parameters.AddWithValue("@COD_FERRAMENTA", txtCodFerramenta.Text) cm.Parameters.AddWithValue("@RM_ALUNO", txtRM.Text) cm.Parameters.AddWithValue("@TURMA_ALUNO", txtTurma.Text) cm.Parameters.AddWithValue("@DATA_RETIRADA", dtpRetirada.Text) STRSQL1 = New OleDbCommand("UPDATE TB_FERRAMENTAS SET STATUS_FERRAMENTA='INDISPONÍVEL' where COD_FERRAMENTA=" & txtCodFerramenta.Text, DBCon) Try DBCon.Open() cm.ExecuteNonQuery() DBCon.Close() DBCon.Open() STRSQL1.ExecuteNonQuery() DBCon.Close() MessageBox.Show("Emprestimo realizado!") Catch ex As Exception MessageBox.Show(ex.Message, "Erro ao Gravar!") End Try End If txtCodFerramenta.Text = "" txtNomeFer.Text = "" txtTamanho.Text = "" txtStatus.Text = "" txtRM.Text = "" txtNomeAluno.Text = "" txtTurma.Text = "" End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click SelecionaFerramenta.Show() End Sub Private Sub Emprestimo_Load(sender As Object, e As EventArgs) Handles MyBase.Load End Sub
57
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click End Sub Private Sub txtCodFerramenta_TextChanged(sender As Object, e As EventArgs) Handles txtCodFerramenta.TextChanged End Sub End Class
58
5.6 TELA DEVOLUÇÃO
Imports System.Data.OleDb Public Class Devolucao Dim ConString As String = "provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" + Application.StartupPath & "\Almoxarifado.accdb" Dim DBCon As New OleDb.OleDbConnection(ConString) Dim DR As OleDbDataReader Dim conta As Integer Dim cn As New OleDbConnection() Dim cmd As New OleDbCommand() Private Sub btnConsultar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConsultar1.Click Dim COD, SQL As String Dim flag As Boolean If txtCodFerramenta.Text = "" Then MessageBox.Show("Digite um código de ferramenta válido!") txtCodFerramenta.Focus() Exit Sub End If COD = txtCodFerramenta.Text SQL = "SELECT * FROM TB_MOVIMENTACAO WHERE COD_FERRAMENTA=" & COD Dim cm As New OleDb.OleDbCommand(SQL, DBCon) Try DBCon.Open() DR = cm.ExecuteReader If DR.HasRows Then While DR.Read If DR.Item("COD_FERRAMENTA") = COD Then dtpDevolver.Text = DR.Item("DATA_RETIRADA") txtRM.Text = DR.Item("RM_ALUNO") flag = True End If End While End If If flag = False Then MessageBox.Show("Ferramenta não encontrada!") End If DBCon.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Erro Generico", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try DBCon.Close()
59
Dim COD1, SQL1 As String Dim flag1 As Boolean COD1 = txtCodFerramenta.Text SQL1 = "SELECT * FROM TB_FERRAMENTAS WHERE COD_FERRAMENTA=" & COD1 Dim cm1 As New OleDb.OleDbCommand(SQL1, DBCon) Try DBCon.Open() DR = cm1.ExecuteReader If DR.HasRows Then While DR.Read If DR.Item("COD_FERRAMENTA") = COD1 Then txtNomeFer.Text = DR.Item("NOME_FERRAMENTA") txtTamanho.Text = DR.Item("TAMANHO_FERRAMENTA") txtStatus.Text = DR.Item("STATUS_FERRAMENTA") flag1 = True End If End While End If If flag1 = False Then MessageBox.Show("Ferramenta não encontrada!") End If DBCon.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Erro Generico", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try DBCon.Close() Dim COD2, SQL2 As String Dim flag2 As Boolean COD2 = txtRM.Text SQL2 = "SELECT * FROM TB_ALUNOS WHERE RM_ALUNO=" & COD2 Dim cm2 As New OleDb.OleDbCommand(SQL2, DBCon) Try DBCon.Open() DR = cm2.ExecuteReader If DR.HasRows Then
60
While DR.Read If DR.Item("RM_ALUNO") = COD2 Then txtNomeAluno.Text = DR.Item("NOME_ALUNO") txtTurma.Text = DR.Item("TURMA_ALUNO") flag2 = True End If End While End If If flag2 = False Then MessageBox.Show("Aluno não encontrado!") End If DBCon.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Erro Generico", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try DBCon.Close() End Sub Private Sub btnDevolucao_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDevolucao.Click If txtStatus.Text = "Disponível" Then MessageBox.Show("A ferramenta não foi emprestada!") Else Dim STRSQL1 As OleDbCommand STRSQL1 = New OleDbCommand("UPDATE TB_FERRAMENTAS SET STATUS_FERRAMENTA='Disponível' where COD_FERRAMENTA=" + txtCodFerramenta.Text, DBCon) Try DBCon.Open() STRSQL1.ExecuteNonQuery() DBCon.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Erro ao Devolver") End Try DBCon.Close() Dim cn As New OleDbConnection() cn.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;Data source = Almoxarifado.accdb") 'Definir o comando cmd.Connection = cn 'Definir a introdução SQL Dim instrucaoSQL As String = String.Format("Delete from TB_MOVIMENTACAO where COD_FERRAMENTA = " & txtCodFerramenta.Text) cmd.CommandText = instrucaoSQL
61
cmd.CommandType = CommandType.Text 'Executar Try cn.Open() cmd.ExecuteNonQuery() MessageBox.Show("Ferramenta devolvida com sucesso") txtCodFerramenta.Text = "" txtNomeFer.Text = "" txtTamanho.Text = "" txtStatus.Text = "" txtRM.Text = "" txtNomeAluno.Text = "" txtTurma.Text = "" Catch ex As Exception MessageBox.Show(ex.Message) End Try 'Fechar conexão cn.Close() End If End Sub Private Sub grpFerramenta_Enter(sender As System.Object, e As System.EventArgs) End Sub Private Sub Devolucao2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load End Sub Private Sub grpAluno_Enter(sender As System.Object, e As System.EventArgs) End Sub Private Sub txtStatus_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtStatus.TextChanged End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click SelecionaFerramenta.Show() End Sub End Class
62
5.7 TELA ALTERAR CÓDIGO
Imports System.Data.OleDb Public Class AlterarCodigo Dim ConString As String = "provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" + Application.StartupPath & "\Almoxarifado.accdb" Dim DBCon As New OleDb.OleDbConnection(ConString) Dim cmd As New OleDb.OleDbCommand() Dim DR As OleDb.OleDbDataReader Private Sub AlterarSenha_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnAlterar.Click Dim COD, SQL As String Dim flag As Boolean If txtPergunta.Text = "" Then MessageBox.Show("Insira a resposta!") Else COD = txtPergunta.Text SQL = "select * from TB_SENHA where PERGUNTA_SECRETA='" & COD & "'" Dim cm As New OleDb.OleDbCommand(SQL, DBCon) Try DBCon.Open() DR = cm.ExecuteReader If DR.HasRows Then If (DR.Read) Then If (DR.Item("PERGUNTA_SECRETA") = COD) Then flag = True DR.Close() If flag = True Then Dim strsql = "UPDATE TB_SENHA SET SENHA_USUARIO=@SENHA_USUARIO" cm.CommandText = strsql cm.Parameters.AddWithValue("@SENHA_USUARIO", txtSenha.Text) cm.ExecuteNonQuery() MessageBox.Show("Senha alterada com sucesso!") DBCon.Close() Me.Hide() End If End If End If End If If flag = False Then MessageBox.Show("Resposta incorreta!")
63
End If Catch ex As Exception MessageBox.Show(ex.Message, "Erro Generico", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try DBCon.Close() End If End Sub End Class
64
5.8 TELA SELECIONA FERRAMENTA
Imports System.Data.OleDb Public Class SelecionaFerramenta Dim ConString As String = "provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" + Application.StartupPath & "\Almoxarifado.accdb" Dim DBCon As New OleDb.OleDbConnection(ConString) Dim DR As OleDbDataReader Dim conta As Integer Dim cn As New OleDbConnection() Dim cmd As New OleDbCommand() Private Sub SelecionarFerramenta_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Dim SQL As String SQL = "SELECT * FROM TB_FERRAMENTAS" Dim cm As New OleDb.OleDbCommand(SQL, DBCon) DBCon.Open() DR = cm.ExecuteReader dgvFerramenta.Rows.Clear() While DR.Read() Me.dgvFerramenta.Rows.Add(DR.Item("COD_FERRAMENTA"), DR.Item("NOME_FERRAMENTA"), DR.Item("TAMANHO_FERRAMENTA")) End While DBCon.Close() End Sub Private Sub btnSelecionar_Click(sender As System.Object, e As System.EventArgs) End Sub Private Sub btnBuscar_Click(sender As System.Object, e As System.EventArgs) End Sub End Class
65
6. PLANEJAMENTO
6.1 DIVISÃO DAS TAREFAS
Tabela 2.2 Divisão das Tarefas
TAREFA RESPONSÁVEL
Criação das imagens Lucas
Criação dos layouts dos formulários Lucas e Bruno
Criação e elaboração dos formulários Lucas, Bruno e Pietro
Criação do Banco de Dados Lucas e Pietro
Programação V.B. em base de Banco de Dados Lucas, Bruno e Pietro
Elaboração das atividades Pietro
Elaboração dos slides para a apresentação Todos
Elaboração da documentação do projeto Pietro e João
Fluxograma Rafael e Bruno
Programação geral Todos
Fonte: Autoria própria, 2015.
66
6.2 – CRONOGRAMA
Figura 18 – Cronograma
Fonte: Autoria própria, 2015.
67
7 – CONCLUSÕES FINAIS
Neste projeto é possível demonstrar a viabilidade de implantação de um sistema
eletrônico para gerenciamento do almoxarifado da ETEC Jorge Street, que visa
eliminar os problemas encontrados atualmente, dando maior confiabilidade ao
processo, pois o controle das informações é ainda maior em um modelo digital.
A possibilidade de ser implantando de maneira fácil e sem grandes reformulações na
infraestrutura do almoxarifado, o uso de apenas um PC local reforça ainda mais a
ideia da informatização do almoxarifado.
68
REFERÊNCIAS
PAULINO, Daniel. A importância da informática na empresa nos tempos de
hoje.
Disponível em:
<http://www.oficinadanet.com.br/artigo/1570/a_importancia_da_informatica_na_empr
esa_nos_tempos_de_hoje> Acesso em: 18 mai. 2015.
STARCK, Daniela. A história do photoshop.
Disponível em:
<http://m.tecmundo.com.br/photoshop/37907-a-historia-do-photoshop-o-editor-de-
imagens-mais-usado-no-mundo.htm> Acesso em: 18 mai. 2015.
SAMPAIO, Thiago. Sistema de informatização para o setor de almoxarifado.
Disponível em:
<http://www.zemoleza.com.br/trabalho-academico/exatas/informatica/sistema-de-
informatizacao-para-o-setor-de-almoxarifado/> Acesso em: 20 mai. 2015.
FGV, GESTÃO DE ESTOQUES, 2008.
SEBRAE SP, INFORMATIZAÇÃO AJUDA NO CONTROLE DA GESTÃO, 2013.
PEREIRA, Vitor. O GUIA PRÁTICO DO VISUAL BASIC, 2010.
top related