Download - Sistema de Loja Em Vb
Visual Basic
Autor: Marcelo de Oliveira Rodrigues
2
Software de gerenciamento
Nilted Modas_Moda Infanto Juvenil
Aluno: Marcelo de Oliveira Rodrigues
Colégio: EMEFEP “Prof. Virgulina Marcondes de Moura Fázzeri”
COTECA – APARECIDA/SP
3
Sumário
Capítulo 1
Introdução.....................................................................................................................3
Capítulo 2
Objetivo........................................................................................................................5
Capítulo 3
Banco de Dados...........................................................................................................6
1.1 Estruturas das Tabelas................................................................................7
Capítulo 4
Linguagem de Programação utilizada........................................................................10
2.1 Design (Formulários).................................................................................11
Capítulo 5
Melhorias no Sistema...............................................................................................219
Capítulo 6
Conclusão.................................................................................................................220
Capítulo 7
Referência Bibliográfica............................................................................................221
4
Introdução
a.ná.li.se
(gr análysis) sf 1 Decomposição ou separação de um todo em seus elementos
constituintes. 2 Exame ou estudo da natureza de uma coisa complexa ou
determinação de suas feições essenciais, por esse método. 3 Psiq Psicanálise.
Antôn (acepção 1): síntese.
sis.te.ma
(gr sýstema) sm 1 Conjunto de coisas ou partes de modo a formarem um todo
complexo ou unitário. 2 Qualquer conjunto ou série de membros ou elementos
correlacionados. 3 Hábito ou costume peculiar de cada criatura. 4 Anat Conjunto de
órgãos compostos dos mesmos tecidos destinados a idênticas funções fisiológicas.
5 Astr Grupo de corpos celestes associados e agindo em conjunto, segundo
determinadas leis naturais. 6 Método, modo, forma, plano. 7 Conjunto das
instituições políticas pelas quais é governado um Estado. 8 Inform Conjunto
formado por um ou mais computadores, seus periféric os e os programas
utilizados. Sistema Digestório (antes denominado aparelho digestivo), Anat:
conjunto de órgãos que têm por função tornar os alimentos assimiláveis, aproveitar
parte deles e expulsar a porção inútil. Sistema Nervoso, Anat: conjunto dos centros
nervosos e de todos os nervos. Sistema Nervoso Autônomo: parte do sistema
nervoso que inerva a musculatura cardíaca e controla secreções glandulares
diversas. É dividido em dois grandes setores: o simpático e o parassimpático.
Análise de sistemas
Análise de sistemas é a atividade que tem como finalidade realizar
estudos de processos a fim de encontrar o melhor e mais racional caminho para que
a informação possa ser processada. O analista de sistemas estuda os diversos
sistemas existentes entre hardwares (equipamento), softwares (programas) e o
usuário final, seus comportamentos e aplicações, desenvolvendo a partir de então
soluções que serão padronizadas e transcritas da forma que o computador possa
executar.
5
Os profissionais da área geram softwares (programas), que são
executados em hardwares (equipamentos) operados por usuários (indivíduos),
preparados e treinados em procedimentos operacionais padronizados, dotados de
conhecimentos do software e hardware para seu trabalho. A partir de então a análise
de sistemas é uma profissão, cujas responsabilidades concentram-se na análise do
sistema e na administração de sistemas computacionais. Cabe a este profissional
parte da organização, implantação e manutenção de aplicativos e redes de
computadores, ou seja, o analista de sistemas é o responsável pelo levantamento de
informações sobre uma empresa a fim de utilizá-las no desenvolvimento de um
sistema para a mesma ou para o levantamento de uma necessidade específica do
cliente para desenvolver este programa especifico com base nas informações
colhidas.
O profissional geralmente possui conhecimento adquirido em faculdades
de Ciência da computação, Análise de sistemas , Processamento de dados e
Programação, Informática, Sistemas de informação ou outras disciplinas similares
mas, a ausência de restrições para o exercício do cargo permite que profissionais
capacitados de outras áreas ou mesmo que não possuem educação superior
cumprir este papel nas empresas.
Como é uma ênfase, o foco e o núcleo de trabalho estão voltados para
Administração, levando em conta a área tecnológica em que irá auxiliar. O analista
de sistemas deve servir como um tradutor entre as necessidades do usuário e o
programa a ser desenvolvido pelo programador. Para isto, deve ter conhecimento
abrangente da área de negócio na qual o sistema será desenvolvido, a fim de que
possa implementar corretamente as regras de negócio. Atualmente o curso de
Análise de Sistemas foi substituído por Sistemas de Informação.
6
Objetivo
Desenvolver um projeto de desenvolvimento de software para gerenciar
uma loja, iniciando pela análise do sistema, projeto do sistema e programação, na
execução e finalização do programa para possível implantação futura.
7
Banco de Dados
Bancos de dados (ou bases de dados) são conjuntos de registros
dispostos em estrutura regular que possibilita a reorganização dos mesmos e
produção de informação. Um banco de dados normalmente agrupa registros
utilizáveis para um mesmo fim.
Um banco de dados é usualmente mantido e acessado por meio de um
software conhecido como Sistema Gerenciador de Banco de Dados (SGBD).
Normalmente um SGBD adota um modelo de dados, de forma pura, reduzida ou
estendida. Muitas vezes o termo banco de dados é usado como sinônimo de SGDB.
O modelo de dados mais adotado hoje em dia é o modelo relacional, onde
as estruturas têm a forma de tabelas, compostas por linhas e colunas.
Especificação do Banco de dados Utilizado: Microsoft Office Access;
Ficha Técnica: Microsoft Office Access
Desenvolvedor Microsoft
Última versão: 12.0.4518.1014 (6 de novembro de 2006)
Sistema Op. Microsoft Windows
Gênero: SRABD
Licença: Licença proprietária
Website: Access Home Page - Microsoft Office Online
Ele permite o desenvolvimento rápido de aplicações que envolvem tanto a
modelagem e estrutura de dados como também a interface a ser utilizada pelos usuários.
O desenvolvimento da estrutura de dados se dá de forma muito intuitiva, bastando
que o desenvolvedor possua conhecimentos básicos em modelagem de dados e lógica de
programação.
Programadores relativamente inexperientes e usuários determinados podem usá-lo
para construir aplicações simples, sem a necessidade de utilizar ferramentas desconhecidas.
8
1.1 Forma que será armazenado os dados, formação das tabelas e seus
respectivos campos, onde armazenará os registros.
� Clientes
Nome do Campo Tipo de dados Cod_Cli Número Nome_Cli Texto Logradouro_Cli Texto Endereco_Cli Texto Bairro_Cli Texto Compl_Cli Texto Cidade_Cli Texto Cep_Cli Número Estado_Cli Texto DataNasc_Cli Data/Hora Sexo_Cli Texto Cpf_Cli Número Fone1_Cli Número Fone2_Cli Número Ramal_Cli Número Renda_Cli Número Email_Cli Texto
� Compras
Nome do Campo Tipo de dados Cod_Compra Número Nf_Compra Número CodPro_Compra Número Qtd_Compra Número CodFor_Compra Número Data_Compra Data/Hora
9
� Fornecedores
Nome do Campo Tipo de dados Cod_For Número Razao_For Texto NomeFantasia_For Texto Logradouro_For Texto Endereco_For Texto Cidade_For Texto Bairro_For Texto Estado_For Texto Cep_For Número Compl_For Texto Fone1_For Número Fone2_For Número Ramal_For Número Fax_For Número Email_For Texto Repre_For Texto InscEstadual_For Número Cnpj_For Número
� Funcionarios
Nome do Campo Tipo de dados Cod_Fun Número Nome_Fun Texto Endereco_Fun Texto Logradouro_Fun Texto Bairro_Fun Texto Cidade_Fun Texto Compl_Fun Texto Cep_Fun Número Estado_Fun Texto Rg_Fun Número Cpf_Fun Número Sexo_Fun Texto DataNasc_Fun Data/Hora Fone1_Fun Número Fone2_Fun Número DataAdm_Fun Data/Hora EMail_Fun Texto Cargo_Fun Texto Fotografia_Fun Texto Nivel_Fun Texto Senha_Fun Texto
10
� Produtos
Nome do Campo Tipo de dados Cod_Pro Número Nome_Pro Texto Desc_Pro Texto Valor_Pro Unidade Monetária CodFor_Pro Número
� User_Sistema
Nome do Campo Tipo de dados CodUser_Sist Número Usuario_Sist Texto Senha_Sist Texto Nivel_Sist Texto
� Vendas
Nome do Campo Tipo de dados Cod_Vend Número CodCli_Vend Número NomeCli_Vend Texto Funcionario_Vend Texto Data_Vend Data/Hora
� Vendas_Detalhes
Nome do Campo Tipo de dados Cod_VendDet Número Item_VendDet Número CodVend_VendDet Número CodPro_VendDet Número DescPro_VendDet Texto Qtd_VendDet Número Preco_VendDet Unidade Monetária SubTotal_VendDet Unidade Monetária FormaPag_Vend Texto Total_VendDet Unidade Monetária
11
Especificação geral: Programa desenvolvido em Visual Basic;
Visual Basic
O Visual Basic é uma linguagem de programação produzida pela
empresa Microsoft, e é parte integrante do pacote Microsoft Visual Studio. Sua
versão mais recente faz parte do pacote Visual Studio .NET, voltada para aplicações
.Net. Sua versão anterior fez parte do Microsoft Visual Studio 6.0, ainda muito
utilizado atualmente.
Um aperfeiçoamento do BASIC, a linguagem é dirigida por eventos (event
driven), e possui também um ambiente de desenvolvimento integrado (IDE -
Integrated Development Environment) totalmente gráfico, facilitanto enormemente a
construção da interface das aplicações (GUI - Graphical User Interface), daí o nome
"Visual". Em suas primeiras versões, o Visual Basic não permitia acesso a bancos
de dados, sendo portanto, voltado apenas para iniciantes, mas devido ao sucesso
entre as empresas - que faziam uso de componentes adicionais fabricados por
terceiros para acesso a dados - a linguagem logo adotou tecnologias como DAO,
RDO, e ADO, também da Microsoft, permitindo fácil acesso a bases de dados. Mais
tarde foi adicionada também a possibilidade de criação de controles ActiveX, e, com
a chegada do Visual Studio .NET, o Visual Basic se tornou uma linguagem
totalmente orientada a objetos.
12
2.1 Design das telas utilizadas pelos usuários (Formulá rios)
Design (em alguns casos projeto ou projecto) é um esforço criativo
relacionado à configuração, concepção, elaboração e especificação de um artefato.
Esse esforço normalmente é orientado por uma intenção ou objetivo, ou para a
solução de um problema.
O termo deriva, originalmente, de designare, palavra em latim, sendo
mais tarde adaptado para o inglês design. Houve uma série de tentativas de
tradução do termo, mas os possíveis nomes como projética industrial que acabaram
em desuso.
Segui a baixo as telas e seus respectivos códigos para o devido
funcionamento.
� Os Usuários do Sistema devem se logar, para iniciarem a utilização do
mesmo.
13
Public cnLoja As New ADODB.Connection
Private rsLogon As New ADODB.Recordset
Public Vnome As String
Private Sub cmdCancelar_Click()
End
End Sub
Private Sub cmdConfirmar_Click()
Dim Vnivel, Vsenha As String
If txtUsuario.Text = Empty Then
MsgBox "Digite o nome do Usuário!", vbOKOnly + vbInformation, "Aviso"
txtUsuario.SetFocus
Exit Sub
End If
If txtSenha.Text = Empty Then
MsgBox "Digite a Senha!", vbOKOnly + vbInformation, "Aviso"
txtSenha.SetFocus
Exit Sub
End If
Vnome = Chr(39) & txtUsuario.Text & Chr(39)
Vsenha = Chr(39) & txtSenha.Text & Chr(39)
rsLogon.Open "Select * from User_Sistema where Usuario_Sist=" & Vnome & "and
Senha_Sist=" & Vsenha, cnLoja, adOpenKeyset, adLockOptimistic, adCmdText
If rsLogon.RecordCount = 0 Then
MsgBox "Usuário ou Senha Inválida!", vbOKOnly + vbInformation, "Aviso"
txtUsuario.Text = ""
txtSenha.Text = ""
txtUsuario.SetFocus
rsLogon.Close
14
Exit Sub
Else
frmSplashPrincipal.Show
Vnivel = rsLogon("Nivel_Sist")
Vnome = rsLogon("Usuario_Sist")
mdiPrincipal.stbMostra.Panels(1).Text = "Operador: " & Vnome
If Vnivel = "B" Then
With mdiPrincipal
.Gerenciar.Visible = False
End With
End If
If Vnivel = "C" Then
With mdiPrincipal
.Gerenciar.Visible = False
.Cadastro.Visible = False
End With
End If
Unload Me
End If
End Sub
Private Sub Form_Load()
cnLoja.ConnectionString = "Provider=microsoft.jet.oledb.4.0"
cnLoja.Open "D:\MARCELO\Projeto VB Final2\Loja.mdb"
lblData.Caption = Date
lblHora.Caption = Time
End Sub
Private Sub Form_Unload(Cancel As Integer)
If rsLogon.State = 1 Then
rsLogon.Close
15
End If
End Sub
Private Sub Timer1_Timer()
lblHora.Caption = Time
End Sub
� Momento onde estão sendo carregadas todas as informações relacionadas
ao Banco de dados e permissões dos usuários.
Private Sub tmrSplash_Timer()
pbbarra2.Value = pbbarra2.Value + 20
If pbbarra2.Value = 100 Then
pbbarra1.Value = 25
pbbarra2.Value = 0
lblPross.Caption = "Preparando a Aplicação"
End If
16
If pbbarra1.Value = 25 Then
pbbarra2.Value = pbbarra2.Value + 20
End If
If pbbarra2.Value = 100 Then
pbbarra1.Value = 50
pbbarra2.Value = 0
lblPross.Caption = "Carregando Banco de Bados"
End If
If pbbarra1.Value = 50 Then
pbbarra2.Value = pbbarra2.Value + 20
End If
If pbbarra2.Value = 100 Then
pbbarra1.Value = 75
pbbarra2.Value = 0
lblPross.Caption = "Carregando a Aplicação"
End If
If pbbarra1.Value = 75 Then
pbbarra2.Value = pbbarra2.Value + 20
End If
If pbbarra2.Value = 100 Then
pbbarra1.Value = 100
lblPross.Caption = "Processo Concluído"
mdiPrincipal.Show
Unload Me
End If
End Sub
17
� Tela Principal, nela estão disponíveis todas as ferramentas para uso dos
usuários.
Public cnBiblioteca As New ADODB.Connection
Private Sub Ajuda_Click()
With CommonDialog1
.HelpContext = "0001"
.HelpCommand = cdlHelpContext
.ShowHelp
End With
End Sub
18
Private Sub AlterarSenha_Click()
frmAlterarSenha.Show
frmAlterarSenha.Left = 5000
frmAlterarSenha.Top = 2000
End Sub
Private Sub CadClientes_Click()
frmCadClientes.Show
frmCadClientes.Left = 3000
frmCadClientes.Top = 800
End Sub
Private Sub CadCompras_Click()
frmCadCompras.Show
frmCadCompras.Left = 3000
frmCadCompras.Top = 1500
End Sub
Private Sub CadFornecedores_Click()
frmCadFornecedores.Show
frmCadFornecedores.Left = 2500
frmCadFornecedores.Top = 50
End Sub
Private Sub CadFuncionarios_Click()
frmCadFuncionarios.Show
frmCadFuncionarios.Left = 2000
frmCadFuncionarios.Top = 200
End Sub
Private Sub CadProdutos_Click()
frmCadProdutos.Show
frmCadProdutos.Left = 2500
frmCadProdutos.Top = 1500
19
End Sub
Private Sub CadUsuario_Click()
frmUserSistema.Show
frmUserSistema.Left = 4000
frmUserSistema.Top = 2000
End Sub
Private Sub ConClientes_Click()
frmConClientes.Show
frmConClientes.Top = 2000
frmConClientes.Left = 2000
End Sub
Private Sub ConCompras_Click()
frmConCompras.Show
frmConCompras.Top = 2000
frmConCompras.Left = 2000
End Sub
Private Sub ConFornecedores_Click()
frmConFornecedores.Show
frmConFornecedores.Top = 2000
frmConFornecedores.Left = 800
End Sub
Private Sub ConFuncionario_Click()
frmConFuncionarios.Show
frmConFuncionarios.Top = 2000
frmConFuncionarios.Left = 2000
End Sub
Private Sub ConProdutos_Click()
frmConProdutos.Show
20
frmConProdutos.Top = 2000
frmConProdutos.Left = 2000
End Sub
Private Sub ConUsuario_Click()
frmConUsuarios.Show
frmConUsuarios.Left = 4000
frmConUsuarios.Top = 2000
End Sub
Private Sub FazerLogoff_Click()
If MsgBox("Deseja realmente fazer Logoff?", vbYesNo + vbQuestion, "Logoff") =
vbYes Then
frmLogon.cnLoja.Close
Unload Me
frmLogon.Show
End If
End Sub
Private Sub Fim_Click()
If MsgBox("Deseja realmente sair?", vbYesNo + vbQuestion, "Aviso") = vbYes Then
End
End If
End Sub
Private Sub fundo_Click()
frmPlanoFundo.Show
frmPlanoFundo.Top = 2000
frmPlanoFundo.Left = 4000
End Sub
Private Sub MDIForm_Load()
CommonDialog1.HelpFile = App.HelpFile
stbMostra.Panels(5) = Time
21
cnBiblioteca.ConnectionString = "Provider=microsoft.jet.oledb.4.0"
cnBiblioteca.Open "D:\MARCELO\Projeto VB Final2\Loja.mdb"
End Sub
Private Sub MDIForm_Unload(Cancel As Integer)
cnBiblioteca.Close
End Sub
Private Sub SobreSist_Click()
frmAbout.Show
frmAbout.Top = 600
frmAbout.Left = 3000
End Sub
Private Sub Timer1_Timer()
stbMostra.Panels(5) = Time
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
If Button.Key = "Calendario" Then
frmCalendario.Show
frmCalendario.Top = 2000
frmCalendario.Left = 2000
ElseIf Button.Key = "Calculadora" Then
frmCalculadora.Show
frmCalculadora.Top = 2000
frmCalculadora.Left = 6000
ElseIf Button.Key = "Bloco" Then
frmEditor.Show
frmEditor.Top = 900
frmEditor.Left = 3000
ElseIf Button.Key = "Agenda" Then
frmSplash.Show
frmSplash.Top = 3000
22
frmSplash.Left = 5000
ElseIf Button.Key = "Sair" Then
If MsgBox("Deseja realmente sair do sistema?", vbYesNo + vbQuestion, "Aviso") =
vbYes Then
End
End If
End If
End Sub
Private Sub UtiAgenda_Click()
frmSplash.Show
frmSplash.Top = 3000
frmSplash.Left = 5000
End Sub
Private Sub UtiBloco_Click()
frmEditor.Show
frmEditor.Top = 900
frmEditor.Left = 3000
End Sub
Private Sub Uticalc_Click()
frmCalculadora.Show
frmCalculadora.Top = 2500
frmCalculadora.Left = 2500
End Sub
Private Sub UtiCalendario_Click()
frmCalendario.Show
frmCalendario.Top = 2000
frmCalendario.Left = 2000
End Sub
Private Sub Venda_Click()
frmTelaVenda.Show
23
frmTelaVenda.Left = 1500
frmTelaVenda.Top = 700
End Sub
Sub CentraImagem()
Picture1.Cls
Picture1.Visible = True
Picture1.AutoRedraw = True
Picture1.BackColor = &H8000000C
Picture1.Height = Me.Height
Image1.Stretch = False
Image1.Top = Picture1.Height / 2 - Image1.Height / 2
Image1.Left = Picture1.Width / 2 - Image1.Width / 2
Picture1.PaintPicture Image1, Image1.Left, Image1.Top, Image1.Width,
Image1.Height
mdiPrincipal.Picture = Picture1.Image
Picture1.Visible = False
End Sub
Sub EstendeImagem()
Picture1.Cls
Picture1.Visible = True
Picture1.AutoRedraw = True
Picture1.BackColor = &H8000000C
Picture1.Height = Me.Height
Image1.Stretch = True
Image1.Top = 0
Image1.Left = 0
Image1.Height = Picture1.Height
Image1.Width = Picture1.Width
Picture1.PaintPicture Image1, Image1.Left, Image1.Top, Image1.Width,
Image1.Height
mdiPrincipal.Picture = Picture1.Image
Picture1.Visible = False
24
End Sub
Sub NormalImagem()
Picture1.Visible = True
Image1.Stretch = False
mdiPrincipal.Picture = Image1.Picture
Picture1.Visible = False
End Sub
Sub LadoaLadoImagem()
Dim wid As Single
Dim hgt As Single
Dim x As Single
Dim y As Single
Picture1.Visible = True
Picture1.AutoRedraw = True
Picture1.Height = Me.Height
Image1.Stretch = False
wid = Image1.Width
hgt = Image1.Height
y = 0
Do While y < Picture1.ScaleHeight
x = 0
Do While x < Picture1.ScaleWidth
Picture1.PaintPicture Image1, x, y, wid, hgt
x = x + wid
Loop
y = y + hgt
Loop
Picture1.Visible = False
mdiPrincipal.Picture = Picture1.Image
End Sub
25
� Tela onde é inserido dados cadastrais dos clientes, podendo também alterá-los
e excluir os devidos cadastros.
Private rsCadClientes As New ADODB.Recordset
Private Const CB_FINDSTRING As Long = &H14C
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal
hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Public Function Combo_AutoCompletar(xCombo As ComboBox, ByVal xKeyAscii As
Long, Optional ByVal xUpperCase As Boolean = True) As Long
Dim lngFind As Long, intPos As Long, intLength As Long, tStr As String
26
With xCombo
If xKeyAscii = 8 Then
If .SelStart = 0 Then Exit Function
.SelStart = .SelStart - 1
.SelLength = Len(.Text)
.SelText = vbNullString
Else
intPos = .SelStart
tStr = .Text
.SelText = (Chr$(xKeyAscii))
End If
lngFind = SendMessage(.hWnd, CB_FINDSTRING, 0, ByVal .Text)
If lngFind = -1 Then
.Text = tStr
.SelStart = intPos
.SelLength = (Len(.Text) - intPos)
Combo_AutoCompletar = xKeyAscii
Else
intPos = .SelStart
intLength = Len(.List(lngFind)) - Len(.Text)
.SelText = .SelText & Right$(.List(lngFind), intLength)
.SelStart = intPos
.SelLength = intLength
End If
End With
End Function
Private Sub cmbLogradouro_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
KeyAscii = Combo_AutoCompletar(cmbLogradouro, KeyAscii)
End Sub
Private Sub cmbSexo_KeyPress(KeyAscii As Integer)
27
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
KeyAscii = Asc(UCase(Chr(KeyAscii)))
KeyAscii = Combo_AutoCompletar(cmbSexo, KeyAscii)
End Sub
Private Sub cmdAlterar_Click()
HabilitaCampos
txtNome.SetFocus
cmdIncluir.Enabled = False
cmdFechar.Enabled = False
cmdCancelar.Enabled = True
cmdAlterar.Enabled = False
cmdGravar.Enabled = True
cmdExcluir.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
End Sub
Private Sub cmdAnterior_Click()
rsCadClientes.MovePrevious
If rsCadClientes.BOF Then
rsCadClientes.MoveFirst
End If
MostraRegistro
End Sub
Private Sub cmdCancelar_Click()
rsCadClientes.CancelUpdate
If rsCadClientes.RecordCount = 0 Then
LimpaRegistro
28
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdCancelar.Enabled = False
cmdGravar.Enabled = False
Else
MostraRegistro
cmdGravar.Enabled = False
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdPrimeiro.Enabled = True
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
End If
DesabilitaCampos
End Sub
Private Sub cmdExcluir_Click()
If MsgBox("Deseja excluir o cadastro?", vbYesNo + vbQuestion, "Atenção") = vbYes
Then
rsCadClientes.Delete
If rsCadClientes.RecordCount = 0 Then
LimpaRegistro
29
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
Else
rsCadClientes.MoveNext
If rsCadClientes.EOF Then
rsCadClientes.MoveLast
End If
MostraRegistro
End If
End If
End Sub
Private Sub cmdFechar_Click()
Unload Me
End Sub
Private Sub cmdGravar_Click()
If txtNome.Text = "" Then
MsgBox "O NOME é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtNome.SetFocus
Exit Sub
End If
If txtCEP.Text = "" Then
MsgBox "O CEP é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtCEP.SetFocus
Exit Sub
End If
If txtEndereco.Text = "" Then
30
MsgBox "O ENDEREÇO é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtEndereco.SetFocus
Exit Sub
End If
If txtCidade.Text = "" Then
MsgBox "A CIDADE é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtCidade.SetFocus
Exit Sub
End If
If txtEstado.Text = "" Then
MsgBox "O ESTADO é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtEstado.SetFocus
Exit Sub
End If
rsCadClientes("Cod_Cli") = txtCodigo.Text
rsCadClientes("Nome_Cli") = txtNome.Text
rsCadClientes("Logradouro_Cli") = cmbLogradouro.Text
rsCadClientes("Endereco_Cli") = txtEndereco.Text
rsCadClientes("Bairro_Cli") = txtBairro.Text
rsCadClientes("Compl_Cli") = txtComplemento.Text
rsCadClientes("Cidade_Cli") = txtCidade.Text
rsCadClientes("Cep_Cli") = txtCEP.Text
rsCadClientes("Estado_Cli") = txtEstado.Text
rsCadClientes("DataNasc_Cli") = txtData.Text
rsCadClientes("Sexo_Cli") = cmbSexo.Text
rsCadClientes("Cpf_Cli") = txtCPF.Text
rsCadClientes("Fone1_Cli") = txtFone1.Text
rsCadClientes("Fone2_Cli") = txtFone2.Text
rsCadClientes("Ramal_Cli") = txtRamal.Text
rsCadClientes("Renda_Cli") = txtRenda.Text
rsCadClientes("Email_Cli") = txtEmail.Text
31
rsCadClientes.Update
DesabilitaCampos
MsgBox "Dados do Cliente salvos com sucesso!!!", vbOKOnly + vbInformation,
"Aviso"
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdGravar.Enabled = False
cmdPrimeiro.Enabled = True
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
End Sub
Private Sub cmdIncluir_Click()
Dim Vcodigo As Integer
If rsCadClientes.RecordCount = 0 Then
rsCadClientes.AddNew
Vcodigo = 1
txtCodigo.Text = Format(Vcodigo, "00000")
Else
rsCadClientes.MoveLast
Vcodigo = rsCadClientes("Cod_Cli")
Vcodigo = Vcodigo + 1
rsCadClientes.AddNew
LimpaRegistro
txtCodigo.Text = Format(Vcodigo, "00000")
End If
HabilitaCampos
32
txtNome.SetFocus
cmdCancelar.Enabled = True
cmdFechar.Enabled = False
cmdIncluir.Enabled = False
cmdGravar.Enabled = True
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
End Sub
Private Sub cmdPrimeiro_Click()
rsCadClientes.MoveFirst
MostraRegistro
End Sub
Private Sub cmdProximo_Click()
rsCadClientes.MoveNext
If rsCadClientes.EOF Then
rsCadClientes.MoveLast
End If
MostraRegistro
End Sub
Private Sub cmdUltimo_Click()
rsCadClientes.MoveLast
MostraRegistro
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
33
End If
End Sub
Private Sub Form_Load()
rsCadClientes.Open "Clientes", mdiPrincipal.cnBiblioteca, adOpenKeyset,
adLockOptimistic, adCmdTable
If rsCadClientes.RecordCount > 0 Then
MostraRegistro
Else
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
End If
DesabilitaCampos
lblContador.Caption = "Clientes Cadastrados: " & rsCadClientes.RecordCount
End Sub
Private Sub Form_Unload(Cancel As Integer)
rsCadClientes.Close
End Sub
Private Sub txtCPF_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
34
Private Sub txtEmail_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(LCase(Chr(KeyAscii)))
End Sub
Private Sub DesabilitaCampos()
txtNome.Enabled = False
cmbLogradouro.Enabled = False
txtCEP.Enabled = False
txtEndereco.Enabled = False
txtBairro.Enabled = False
txtCidade.Enabled = False
txtEstado.Enabled = False
txtFone1.Enabled = False
txtFone2.Enabled = False
txtRamal.Enabled = False
txtData.Enabled = False
cmbSexo.Enabled = False
txtRenda.Enabled = False
txtEmail.Enabled = False
txtCPF.Enabled = False
txtComplemento.Enabled = False
End Sub
Private Sub MostraRegistro()
If Not IsNull(rsCadClientes("Cod_Cli")) Then
txtCodigo.Text = Format(rsCadClientes("Cod_Cli"), "00000")
Else
txtCodigo.Text = Empty
End If
If Not IsNull(rsCadClientes("Nome_Cli")) Then
txtNome.Text = rsCadClientes("Nome_Cli")
Else
txtNome.Text = Empty
End If
35
If Not IsNull(rsCadClientes("Logradouro_Cli")) Then
cmbLogradouro.Text = rsCadClientes("Logradouro_Cli")
Else
cmbLogradouro.Text = Empty
End If
If Not IsNull(rsCadClientes("Endereco_Cli")) Then
txtEndereco.Text = rsCadClientes("Endereco_Cli")
Else
txtEndereco.Text = Empty
End If
If Not IsNull(rsCadClientes("Bairro_Cli")) Then
txtBairro.Text = rsCadClientes("Bairro_Cli")
Else
txtBairro.Text = Empty
End If
If Not IsNull(rsCadClientes("Compl_Cli")) Then
txtComplemento.Text = rsCadClientes("Compl_Cli")
Else
txtComplemento.Text = Empty
End If
If Not IsNull(rsCadClientes("Cidade_Cli")) Then
txtCidade.Text = rsCadClientes("Cidade_Cli")
Else
txtCidade.Text = Empty
End If
If Not IsNull(rsCadClientes("Cep_Cli")) Then
txtCEP.Text = rsCadClientes("Cep_Cli")
Else
36
txtCEP.Text = Empty
End If
If Not IsNull(rsCadClientes("Estado_Cli")) Then
txtEstado.Text = rsCadClientes("Estado_Cli")
Else
txtEstado.Text = Empty
End If
If Not IsNull(rsCadClientes("DataNasc_Cli")) Then
txtData.Text = rsCadClientes("DataNasc_Cli")
Else
txtData.Text = Empty
End If
If Not IsNull(rsCadClientes("Sexo_Cli")) Then
cmbSexo.Text = rsCadClientes("Sexo_Cli")
Else
cmbSexo.Text = Empty
End If
If Not IsNull(rsCadClientes("Cpf_Cli")) Then
txtCPF.Text = rsCadClientes("Cpf_Cli")
Else
txtCPF.Text = Empty
End If
If Not IsNull(rsCadClientes("Fone1_Cli")) Then
txtFone1.Text = rsCadClientes("Fone1_Cli")
Else
txtFone1.Text = Empty
End If
If Not IsNull(rsCadClientes("Fone2_Cli")) Then
37
txtFone2.Text = rsCadClientes("Fone2_Cli")
Else
txtFone2.Text = Empty
End If
If Not IsNull(rsCadClientes("Ramal_Cli")) Then
txtRamal.Text = rsCadClientes("Ramal_Cli")
Else
txtRamal.Text = Empty
End If
If Not IsNull(rsCadClientes("Renda_Cli")) Then
txtRenda.Text = rsCadClientes("Renda_Cli")
Else
txtRenda.Text = Empty
End If
If Not IsNull(rsCadClientes("Email_Cli")) Then
txtEmail.Text = rsCadClientes("Email_Cli")
Else
txtEmail.Text = Empty
End If
End Sub
Private Sub HabilitaCampos()
txtNome.Enabled = True
cmbLogradouro.Enabled = True
txtCEP.Enabled = True
txtEndereco.Enabled = True
txtBairro.Enabled = True
txtCidade.Enabled = True
txtEstado.Enabled = True
txtFone1.Enabled = True
txtFone2.Enabled = True
38
txtRamal.Enabled = True
txtData.Enabled = True
cmbSexo.Enabled = True
txtRenda.Enabled = True
txtEmail.Enabled = True
txtCPF.Enabled = True
txtComplemento.Enabled = True
End Sub
Private Sub LimpaRegistro()
txtCodigo.Text = ""
txtNome.Text = ""
cmbLogradouro.Text = ""
txtCEP.Text = ""
txtEndereco.Text = ""
txtBairro.Text = ""
txtCidade.Text = ""
txtEstado.Text = ""
txtFone1.Text = ""
txtFone2.Text = ""
txtRamal.Text = ""
txtData.Text = ""
cmbSexo.Text = ""
txtRenda.Text = ""
txtEmail.Text = ""
txtCPF.Text = ""
txtComplemento.Text = ""
End Sub
Private Sub txtBairro_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtCidade_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
39
End Sub
Private Sub txtComplemento_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtEndereco_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtEstado_KeyPress(KeyAscii As Integer)
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtNome_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
End Sub
Private Sub txtRamal_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
Private Sub txtRenda_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
40
End Sub
Private Sub txtRenda_LostFocus()
txtRenda.Text = Format(txtRenda.Text, "Currency")
End Sub
Private rsCadCompras As New ADODB.Recordset
Private Sub cmdAlterar_Click()
HabilitaCampos
txtNF.SetFocus
cmdIncluir.Enabled = False
cmdFechar.Enabled = False
cmdCancelar.Enabled = True
cmdAlterar.Enabled = False
cmdGravar.Enabled = True
cmdExcluir.Enabled = False
cmdPrimeiro.Enabled = False
41
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
End Sub
Private Sub cmdAnterior_Click()
rsCadCompras.MovePrevious
If rsCadCompras.BOF Then
rsCadCompras.MoveFirst
End If
MostraRegistro
End Sub
Private Sub cmdCancelar_Click()
rsCadCompras.CancelUpdate
If rsCadCompras.RecordCount = 0 Then
LimpaRegistro
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdCancelar.Enabled = False
cmdGravar.Enabled = False
Else
MostraRegistro
cmdGravar.Enabled = False
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdPrimeiro.Enabled = True
42
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
End If
DesabilitaCampos
End Sub
Private Sub cmdExcluir_Click()
If MsgBox("Deseja excluir o cadastro?", vbYesNo + vbQuestion, "Atenção") = vbYes
Then
rsCadCompras.Delete
If rsCadCompras.RecordCount = 0 Then
LimpaRegistro
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
Else
rsCadCompras.MoveNext
If rsCadCompras.EOF Then
rsCadCompras.MoveLast
End If
MostraRegistro
End If
End If
End Sub
Private Sub cmdFechar_Click()
43
Unload Me
End Sub
Private Sub cmdGravar_Click()
If txtNF.Text = "" Then
MsgBox "O Nº da Nota Fiscal é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtNF.SetFocus
Exit Sub
End If
If txtCodPro.Text = "" Then
MsgBox "O Código do Produto é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtCodPro.SetFocus
Exit Sub
End If
If txtQtd.Text = "" Then
MsgBox "A Quantidade é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtQtd.SetFocus
Exit Sub
End If
If txtCodFor.Text = "" Then
MsgBox "O Código do Fornecedor é obrigatório!", vbOKOnly + vbInformation,
"Aviso"
txtCodFor.SetFocus
Exit Sub
End If
rsCadCompras("Cod_Compra") = txtCodigo.Text
rsCadCompras("Nf_Compra") = txtNF.Text
rsCadCompras("CodPro_Compra") = txtCodPro.Text
rsCadCompras("Qtd_Compra") = txtQtd.Text
rsCadCompras("CodFor_Compra") = txtCodFor.Text
44
rsCadCompras("Data_Compra") = txtData.Text
rsCadCompras.Update
DesabilitaCampos
MsgBox "Dados da Compra salvos com sucesso!!!", vbOKOnly + vbInformation,
"Aviso"
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdGravar.Enabled = False
cmdPrimeiro.Enabled = True
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
End Sub
Private Sub cmdIncluir_Click()
Dim Vcodigo As Integer
If rsCadCompras.RecordCount = 0 Then
rsCadCompras.AddNew
Vcodigo = 1
txtCodigo.Text = Format(Vcodigo, "00000")
Else
rsCadCompras.MoveLast
Vcodigo = rsCadCompras("Cod_Compra")
Vcodigo = Vcodigo + 1
rsCadCompras.AddNew
LimpaRegistro
txtCodigo.Text = Format(Vcodigo, "00000")
End If
45
HabilitaCampos
txtNF.SetFocus
cmdCancelar.Enabled = True
cmdFechar.Enabled = False
cmdIncluir.Enabled = False
cmdGravar.Enabled = True
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
End Sub
Private Sub cmdPrimeiro_Click()
rsCadCompras.MoveFirst
MostraRegistro
End Sub
Private Sub cmdProximo_Click()
rsCadCompras.MoveNext
If rsCadCompras.EOF Then
rsCadCompras.MoveLast
End If
MostraRegistro
End Sub
Private Sub cmdUltimo_Click()
rsCadCompras.MoveLast
MostraRegistro
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
46
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub Form_Load()
rsCadCompras.Open "Compras", mdiPrincipal.cnBiblioteca, adOpenKeyset,
adLockOptimistic, adCmdTable
If rsCadCompras.RecordCount > 0 Then
MostraRegistro
Else
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
End If
DesabilitaCampos
End Sub
Private Sub Form_Unload(Cancel As Integer)
rsCadCompras.Close
End Sub
Private Sub DesabilitaCampos()
txtNF.Enabled = False
txtCodPro.Enabled = False
txtQtd.Enabled = False
txtCodFor.Enabled = False
txtData.Enabled = False
End Sub
47
Private Sub MostraRegistro()
If Not IsNull(rsCadCompras("Cod_Compra")) Then
txtCodigo.Text = Format(rsCadCompras("Cod_Compra"), "00000")
Else
txtCodigo.Text = Empty
End If
If Not IsNull(rsCadCompras("Nf_Compra")) Then
txtNF.Text = rsCadCompras("Nf_Compra")
Else
txtNF.Text = Empty
End If
If Not IsNull(rsCadCompras("CodPro_Compra")) Then
txtCodPro.Text = rsCadCompras("CodPro_Compra")
Else
txtCodPro.Text = Empty
End If
If Not IsNull(rsCadCompras("Qtd_Compra")) Then
txtQtd.Text = rsCadCompras("Qtd_Compra")
Else
txtQtd.Text = Empty
End If
If Not IsNull(rsCadCompras("CodFor_Compra")) Then
txtCodFor.Text = rsCadCompras("CodFor_Compra")
Else
txtCodFor.Text = Empty
End If
If Not IsNull(rsCadCompras("Data_Compra")) Then
txtData.Text = rsCadCompras("Data_Compra")
48
Else
txtData.Text = Empty
End If
End Sub
Private Sub HabilitaCampos()
txtNF.Enabled = True
txtCodPro.Enabled = True
txtQtd.Enabled = True
txtCodFor.Enabled = True
txtData.Enabled = True
End Sub
Private Sub LimpaRegistro()
txtCodigo.Text = ""
txtNF.Text = ""
txtCodPro.Text = ""
txtQtd.Text = ""
txtCodFor.Text = ""
txtData.Text = ""
End Sub
Private Sub txtCodFor_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
Private Sub txtCodPro_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
Private Sub txtNF_KeyPress(KeyAscii As Integer)
49
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
Private Sub txtQtd_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
50
Private rsCadFornecedores As New ADODB.Recordset
Option Explicit
Private Const CB_FINDSTRING As Long = &H14C
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal
hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Public Function Combo_AutoCompletar(xCombo As ComboBox, ByVal xKeyAscii As
Long, Optional ByVal xUpperCase As Boolean = True) As Long
51
Dim lngFind As Long, intPos As Long, intLength As Long, tStr As String
With xCombo
If xKeyAscii = 8 Then
If .SelStart = 0 Then Exit Function
.SelStart = .SelStart - 1
.SelLength = Len(.Text)
.SelText = vbNullString
Else
intPos = .SelStart
tStr = .Text
.SelText = (Chr$(xKeyAscii))
' .SelText = IIf(xUpperCase, _
' UCase$(Chr$(xKeyAscii)), _
' LCase$(Chr$(xKeyAscii)))
End If
lngFind = SendMessage(.hWnd, CB_FINDSTRING, 0, ByVal .Text)
If lngFind = -1 Then
.Text = tStr
.SelStart = intPos
.SelLength = (Len(.Text) - intPos)
Combo_AutoCompletar = xKeyAscii
Else
intPos = .SelStart
intLength = Len(.List(lngFind)) - Len(.Text)
.SelText = .SelText & Right$(.List(lngFind), intLength)
.SelStart = intPos
.SelLength = intLength
End If
End With
End Function
Private Sub cmbLogradouro_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
52
KeyAscii = Combo_AutoCompletar(cmbLogradouro, KeyAscii)
End Sub
Private Sub cmdAlterar_Click()
HabilitaCampos
txtRazao.SetFocus
cmdIncluir.Enabled = False
cmdFechar.Enabled = False
cmdCancelar.Enabled = True
cmdAlterar.Enabled = False
cmdGravar.Enabled = True
cmdExcluir.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
End Sub
Private Sub cmdAnterior_Click()
rsCadFornecedores.MovePrevious
If rsCadFornecedores.BOF Then
rsCadFornecedores.MoveFirst
End If
MostraRegistro
End Sub
Private Sub cmdCancelar_Click()
rsCadFornecedores.CancelUpdate
If rsCadFornecedores.RecordCount = 0 Then
LimpaRegistro
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
53
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdCancelar.Enabled = False
cmdGravar.Enabled = False
Else
MostraRegistro
cmdGravar.Enabled = False
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdPrimeiro.Enabled = True
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
End If
DesabilitaCampos
End Sub
Private Sub cmdExcluir_Click()
If MsgBox("Deseja excluir o cadastro?", vbYesNo + vbQuestion, "Atenção") = vbYes
Then
rsCadFornecedores.Delete
If rsCadFornecedores.RecordCount = 0 Then
LimpaRegistro
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
54
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
Else
rsCadFornecedores.MoveNext
If rsCadFornecedores.EOF Then
rsCadFornecedores.MoveLast
End If
MostraRegistro
End If
End If
End Sub
Private Sub cmdFechar_Click()
Unload Me
End Sub
Private Sub cmdGravar_Click()
If txtRazao.Text = "" Then
MsgBox "A RAZÃO SOCIAL é obrigatória!", vbOKOnly + vbInformation, "Aviso"
txtRazao.SetFocus
Exit Sub
End If
If txtNome.Text = "" Then
MsgBox "O NOME é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtNome.SetFocus
Exit Sub
End If
If txtCEP.Text = "" Then
MsgBox "O CEP é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtCEP.SetFocus
Exit Sub
End If
55
If txtEndereco.Text = "" Then
MsgBox "O ENDEREÇO é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtEndereco.SetFocus
Exit Sub
End If
If txtCidade.Text = "" Then
MsgBox "A CIDADE é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtCidade.SetFocus
Exit Sub
End If
If txtEstado.Text = "" Then
MsgBox "O ESTADO é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtEstado.SetFocus
Exit Sub
End If
rsCadFornecedores("Cod_For") = txtCodigo.Text
rsCadFornecedores("Razao_For") = txtRazao.Text
rsCadFornecedores("NomeFantasia_For") = txtNome.Text
rsCadFornecedores("Logradouro_For") = cmbLogradouro.Text
rsCadFornecedores("Endereco_For") = txtEndereco.Text
rsCadFornecedores("Bairro_For") = txtBairro.Text
rsCadFornecedores("Compl_For") = txtComplemento.Text
rsCadFornecedores("Cidade_For") = txtCidade.Text
rsCadFornecedores("Cep_For") = txtCEP.Text
rsCadFornecedores("Estado_For") = txtEstado.Text
rsCadFornecedores("Cnpj_For") = txtCNPJ.Text
rsCadFornecedores("Fone1_For") = txtFone1.Text
rsCadFornecedores("Fone2_For") = txtFone2.Text
rsCadFornecedores("Ramal_For") = txtRamal.Text
rsCadFornecedores("Fax_For") = txtFax.Text
56
rsCadFornecedores("Email_For") = txtEmail.Text
rsCadFornecedores("Repre_For") = txtRepresentante.Text
rsCadFornecedores("InscEstadual_For") = txtInsc.Text
rsCadFornecedores.Update
DesabilitaCampos
MsgBox "Informações do Fornecedor salvos com sucesso!!!", vbOKOnly +
vbInformation, "Aviso"
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdGravar.Enabled = False
cmdPrimeiro.Enabled = True
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
End Sub
Private Sub cmdIncluir_Click()
Dim Vcodigo As Integer
If rsCadFornecedores.RecordCount = 0 Then
rsCadFornecedores.AddNew
Vcodigo = 1
txtCodigo.Text = Format(Vcodigo, "00000")
Else
rsCadFornecedores.MoveLast
Vcodigo = rsCadFornecedores("Cod_For")
Vcodigo = Vcodigo + 1
rsCadFornecedores.AddNew
LimpaRegistro
txtCodigo.Text = Format(Vcodigo, "00000")
57
End If
HabilitaCampos
txtRazao.SetFocus
cmdCancelar.Enabled = True
cmdFechar.Enabled = False
cmdIncluir.Enabled = False
cmdGravar.Enabled = True
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
End Sub
Private Sub cmdPrimeiro_Click()
rsCadFornecedores.MoveFirst
MostraRegistro
End Sub
Private Sub cmdProximo_Click()
rsCadFornecedores.MoveNext
If rsCadFornecedores.EOF Then
rsCadFornecedores.MoveLast
End If
MostraRegistro
End Sub
Private Sub cmdUltimo_Click()
rsCadFornecedores.MoveLast
MostraRegistro
End Sub
58
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub Form_Load()
rsCadFornecedores.Open "Fornecedores", mdiPrincipal.cnBiblioteca, adOpenKeyset,
adLockOptimistic, adCmdTable
If rsCadFornecedores.RecordCount > 0 Then
MostraRegistro
Else
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
End If
DesabilitaCampos
End Sub
Private Sub Form_Unload(Cancel As Integer)
rsCadFornecedores.Close
End Sub
Private Sub txtCNPJ_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
59
Private Sub txtEmail_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(LCase(Chr(KeyAscii)))
End Sub
Private Sub DesabilitaCampos()
txtRazao.Enabled = False
txtNome.Enabled = False
cmbLogradouro.Enabled = False
txtCEP.Enabled = False
txtEndereco.Enabled = False
txtBairro.Enabled = False
txtCidade.Enabled = False
txtEstado.Enabled = False
txtFone1.Enabled = False
txtFone2.Enabled = False
txtRamal.Enabled = False
txtFax.Enabled = False
txtRepresentante.Enabled = False
txtInsc.Enabled = False
txtEmail.Enabled = False
txtCNPJ.Enabled = False
txtComplemento.Enabled = False
End Sub
Private Sub MostraRegistro()
If Not IsNull(rsCadFornecedores("Cod_For")) Then
txtCodigo.Text = Format(rsCadFornecedores("Cod_For"), "00000")
Else
txtCodigo.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Razao_For")) Then
txtRazao.Text = rsCadFornecedores("Razao_For")
Else
60
txtRazao.Text = Empty
End If
If Not IsNull(rsCadFornecedores("NomeFantasia_For")) Then
txtNome.Text = rsCadFornecedores("NomeFantasia_For")
Else
txtNome.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Logradouro_For")) Then
cmbLogradouro.Text = rsCadFornecedores("Logradouro_For")
Else
cmbLogradouro.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Endereco_For")) Then
txtEndereco.Text = rsCadFornecedores("Endereco_For")
Else
txtEndereco.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Bairro_For")) Then
txtBairro.Text = rsCadFornecedores("Bairro_For")
Else
txtBairro.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Compl_For")) Then
txtComplemento.Text = rsCadFornecedores("Compl_For")
Else
txtComplemento.Text = Empty
End If
61
If Not IsNull(rsCadFornecedores("Cidade_For")) Then
txtCidade.Text = rsCadFornecedores("Cidade_For")
Else
txtCidade.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Cep_For")) Then
txtCEP.Text = rsCadFornecedores("Cep_For")
Else
txtCEP.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Estado_For")) Then
txtEstado.Text = rsCadFornecedores("Estado_For")
Else
txtEstado.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Fax_For")) Then
txtFax.Text = rsCadFornecedores("Fax_For")
Else
txtFax.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Repre_For")) Then
txtRepresentante.Text = rsCadFornecedores("Repre_For")
Else
txtRepresentante.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Cnpj_For")) Then
txtCNPJ.Text = rsCadFornecedores("Cnpj_For")
Else
txtCNPJ.Text = Empty
62
End If
If Not IsNull(rsCadFornecedores("Fone1_For")) Then
txtFone1.Text = rsCadFornecedores("Fone1_For")
Else
txtFone1.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Fone2_For")) Then
txtFone2.Text = rsCadFornecedores("Fone2_For")
Else
txtFone2.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Ramal_For")) Then
txtRamal.Text = rsCadFornecedores("Ramal_For")
Else
txtRamal.Text = Empty
End If
If Not IsNull(rsCadFornecedores("InscEstadual_For")) Then
txtInsc.Text = rsCadFornecedores("InscEstadual_For")
Else
txtInsc.Text = Empty
End If
If Not IsNull(rsCadFornecedores("Email_For")) Then
txtEmail.Text = rsCadFornecedores("Email_For")
Else
txtEmail.Text = Empty
End If
End Sub
Private Sub HabilitaCampos()
txtRazao.Enabled = True
63
txtNome.Enabled = True
cmbLogradouro.Enabled = True
txtCEP.Enabled = True
txtEndereco.Enabled = True
txtBairro.Enabled = True
txtCidade.Enabled = True
txtEstado.Enabled = True
txtFone1.Enabled = True
txtFone2.Enabled = True
txtRamal.Enabled = True
txtFax.Enabled = True
txtRepresentante.Enabled = True
txtInsc.Enabled = True
txtEmail.Enabled = True
txtCNPJ.Enabled = True
txtComplemento.Enabled = True
End Sub
Private Sub LimpaRegistro()
txtCodigo.Text = ""
txtRazao.Text = ""
txtNome.Text = ""
cmbLogradouro.Text = ""
txtCEP.Text = ""
txtEndereco.Text = ""
txtBairro.Text = ""
txtCidade.Text = ""
txtEstado.Text = ""
txtFone1.Text = ""
txtFone2.Text = ""
txtRamal.Text = ""
txtFax.Text = ""
txtRepresentante.Text = ""
txtInsc.Text = ""
txtEmail.Text = ""
64
txtCNPJ.Text = ""
txtComplemento.Text = ""
End Sub
Private Sub txtBairro_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtCidade_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtComplemento_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtEndereco_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtEstado_KeyPress(KeyAscii As Integer)
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtInsc_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
65
Private Sub txtNome_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtRamal_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
Private Sub txtRazao_KeyPress(KeyAscii As Integer)
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtRepresentante_KeyPress(KeyAscii As Integer)
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
66
Private rsCadFuncionarios As New ADODB.Recordset
Public Foto As String
Private Const CB_FINDSTRING As Long = &H14C
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA"
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Public Function Combo_AutoCompletar(xCombo As ComboBox, ByVal xKeyAscii As
Long, Optional ByVal xUpperCase As Boolean = True) As Long
Dim lngFind As Long, intPos As Long, intLength As Long, tStr As String
With xCombo
67
If xKeyAscii = 8 Then
If .SelStart = 0 Then Exit Function
.SelStart = .SelStart - 1
.SelLength = Len(.Text)
.SelText = vbNullString
Else
intPos = .SelStart
tStr = .Text
.SelText = (Chr$(xKeyAscii))
' .SelText = IIf(xUpperCase, _
' UCase$(Chr$(xKeyAscii)), _
' LCase$(Chr$(xKeyAscii)))
End If
lngFind = SendMessage(.hWnd, CB_FINDSTRING, 0, ByVal .Text)
If lngFind = -1 Then
.Text = tStr
.SelStart = intPos
.SelLength = (Len(.Text) - intPos)
Combo_AutoCompletar = xKeyAscii
Else
intPos = .SelStart
intLength = Len(.List(lngFind)) - Len(.Text)
.SelText = .SelText & Right$(.List(lngFind), intLength)
.SelStart = intPos
.SelLength = intLength
End If
End With
End Function
Private Sub cmbLogradouro_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
KeyAscii = Combo_AutoCompletar(cmbLogradouro, KeyAscii)
End Sub
68
Private Sub cmbSexo_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
KeyAscii = Combo_AutoCompletar(cmbSexo, KeyAscii)
End Sub
Private Sub cmdAlterar_Click()
HabilitaCampos
txtNome.SetFocus
cmdIncluir.Enabled = False
cmdFechar.Enabled = False
cmdCancelar.Enabled = True
cmdAlterar.Enabled = False
cmdGravar.Enabled = True
cmdExcluir.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdIncluirFoto.Visible = True
End Sub
Private Sub cmdAnterior_Click()
rsCadFuncionarios.MovePrevious
If rsCadFuncionarios.BOF Then
rsCadFuncionarios.MoveFirst
End If
MostraRegistro
End Sub
Private Sub cmdCancelar_Click()
rsCadFuncionarios.CancelUpdate
If rsCadFuncionarios.RecordCount = 0 Then
LimpaRegistro
69
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdCancelar.Enabled = False
cmdGravar.Enabled = False
cmdIncluirFoto.Visible = False
Else
MostraRegistro
cmdGravar.Enabled = False
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdPrimeiro.Enabled = True
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
cmdIncluirFoto.Visible = False
End If
DesabilitaCampos
End Sub
Private Sub cmdExcluir_Click()
If MsgBox("Deseja excluir o cadastro?", vbYesNo + vbQuestion, "Atenção") = vbYes
Then
rsCadFuncionarios.Delete
70
If rsCadFuncionarios.RecordCount = 0 Then
LimpaRegistro
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
Else
rsCadFuncionarios.MoveNext
If rsCadFuncionarios.EOF Then
rsCadFuncionarios.MoveLast
End If
MostraRegistro
End If
End If
End Sub
Private Sub cmdFechar_Click()
Unload Me
End Sub
Private Sub cmdGravar_Click()
If txtNome.Text = "" Then
MsgBox "O NOME é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtNome.SetFocus
Exit Sub
End If
If txtCEP.Text = "" Then
MsgBox "O CEP é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtCEP.SetFocus
Exit Sub
End If
71
If txtEndereco.Text = "" Then
MsgBox "O ENDEREÇO é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtEndereco.SetFocus
Exit Sub
End If
If txtCidade.Text = "" Then
MsgBox "A CIDADE é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtCidade.SetFocus
Exit Sub
End If
If txtEstado.Text = "" Then
MsgBox "O ESTADO é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtEstado.SetFocus
Exit Sub
End If
rsCadFuncionarios("Cod_Fun") = txtCodigo.Text
rsCadFuncionarios("Nome_Fun") = txtNome.Text
rsCadFuncionarios("Logradouro_Fun") = cmbLogradouro.Text
rsCadFuncionarios("Endereco_Fun") = txtEndereco.Text
rsCadFuncionarios("Bairro_Fun") = txtBairro.Text
rsCadFuncionarios("Compl_Fun") = txtComplemento.Text
rsCadFuncionarios("Cidade_Fun") = txtCidade.Text
rsCadFuncionarios("Cep_Fun") = txtCEP.Text
rsCadFuncionarios("Estado_Fun") = txtEstado.Text
rsCadFuncionarios("RG_Fun") = txtRG.Text
rsCadFuncionarios("DataNasc_Fun") = txtDataNasc.Text
rsCadFuncionarios("Sexo_Fun") = cmbSexo.Text
rsCadFuncionarios("Cpf_Fun") = txtCPF.Text
rsCadFuncionarios("Fone1_Fun") = txtFone1.Text
rsCadFuncionarios("Fone2_Fun") = txtFone2.Text
72
rsCadFuncionarios("DataAdm_Fun") = txtDataAdm.Text
rsCadFuncionarios("Cargo_Fun") = txtCargo.Text
rsCadFuncionarios("Email_Fun") = txtEmail.Text
If Not (Foto = "") Then
rsCadFuncionarios("Fotografia_Fun") = Foto
End If
rsCadFuncionarios.Update
DesabilitaCampos
MsgBox "Dados do Funcionário salvos com sucesso!!!", vbOKOnly + vbInformation,
"Aviso"
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdGravar.Enabled = False
cmdPrimeiro.Enabled = True
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
cmdIncluirFoto.Visible = False
End Sub
Private Sub cmdIncluir_Click()
Dim Vcodigo As Integer
If rsCadFuncionarios.RecordCount = 0 Then
rsCadFuncionarios.AddNew
Vcodigo = 1
txtCodigo.Text = Format(Vcodigo, "00000")
Else
rsCadFuncionarios.MoveLast
73
Vcodigo = rsCadFuncionarios("Cod_Fun")
Vcodigo = Vcodigo + 1
rsCadFuncionarios.AddNew
LimpaRegistro
txtCodigo.Text = Format(Vcodigo, "00000")
End If
HabilitaCampos
txtNome.SetFocus
cmdCancelar.Enabled = True
cmdFechar.Enabled = False
cmdIncluir.Enabled = False
cmdGravar.Enabled = True
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdIncluirFoto.Visible = True
imgFoto.Picture = LoadPicture("")
End Sub
Private Sub cmdIncluirFoto_Click()
Dim Vfiltro As String
Foto = ""
Vfiltro = "Arquivos BMP (*.BMP) (*.bmp) Todos Arquivos /*.*"
CommonDialog1.Filter = Vfiltro
CommonDialog1.DefaultExt = "BMP"
CommonDialog1.ShowOpen
Foto = CommonDialog1.FileName
If Not Foto = Empty Then
74
imgFoto.Picture = LoadPicture(Foto)
Else
imgFoto.Picture = LoadPicture("")
End If
End Sub
Private Sub cmdPrimeiro_Click()
rsCadFuncionarios.MoveFirst
MostraRegistro
End Sub
Private Sub cmdProximo_Click()
rsCadFuncionarios.MoveNext
If rsCadFuncionarios.EOF Then
rsCadFuncionarios.MoveLast
End If
MostraRegistro
End Sub
Private Sub cmdUltimo_Click()
rsCadFuncionarios.MoveLast
MostraRegistro
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub Form_Load()
rsCadFuncionarios.Open "Funcionarios", mdiPrincipal.cnBiblioteca, adOpenKeyset,
adLockOptimistic, adCmdTable
75
If rsCadFuncionarios.RecordCount > 0 Then
MostraRegistro
Else
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
End If
DesabilitaCampos
End Sub
Private Sub Form_Unload(Cancel As Integer)
rsCadFuncionarios.Close
End Sub
Private Sub txtCargo_KeyPress(KeyAscii As Integer)
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtCPF_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
Private Sub txtEmail_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(LCase(Chr(KeyAscii)))
End Sub
76
Private Sub DesabilitaCampos()
txtNome.Enabled = False
cmbLogradouro.Enabled = False
txtCEP.Enabled = False
txtEndereco.Enabled = False
txtBairro.Enabled = False
txtCidade.Enabled = False
txtEstado.Enabled = False
txtFone1.Enabled = False
txtFone2.Enabled = False
txtRG.Enabled = False
txtDataNasc.Enabled = False
txtDataAdm.Enabled = False
cmbSexo.Enabled = False
txtEmail.Enabled = False
txtCPF.Enabled = False
txtComplemento.Enabled = False
txtCargo.Enabled = False
End Sub
Private Sub MostraRegistro()
Dim NomeFoto As String
If Not IsNull(rsCadFuncionarios("Cod_Fun")) Then
txtCodigo.Text = Format(rsCadFuncionarios("Cod_Fun"), "00000")
Else
txtCodigo.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Nome_Fun")) Then
txtNome.Text = rsCadFuncionarios("Nome_Fun")
Else
txtNome.Text = Empty
77
End If
If Not IsNull(rsCadFuncionarios("Logradouro_Fun")) Then
cmbLogradouro.Text = rsCadFuncionarios("Logradouro_Fun")
Else
cmbLogradouro.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Endereco_Fun")) Then
txtEndereco.Text = rsCadFuncionarios("Endereco_Fun")
Else
txtEndereco.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Bairro_Fun")) Then
txtBairro.Text = rsCadFuncionarios("Bairro_Fun")
Else
txtBairro.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Compl_Fun")) Then
txtComplemento.Text = rsCadFuncionarios("Compl_Fun")
Else
txtComplemento.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Cidade_Fun")) Then
txtCidade.Text = rsCadFuncionarios("Cidade_Fun")
Else
txtCidade.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Cep_Fun")) Then
78
txtCEP.Text = rsCadFuncionarios("Cep_Fun")
Else
txtCEP.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Estado_Fun")) Then
txtEstado.Text = rsCadFuncionarios("Estado_Fun")
Else
txtEstado.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("DataNasc_Fun")) Then
txtDataNasc.Text = rsCadFuncionarios("DataNasc_Fun")
Else
txtDataNasc.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Sexo_Fun")) Then
cmbSexo.Text = rsCadFuncionarios("Sexo_Fun")
Else
cmbSexo.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Cpf_Fun")) Then
txtCPF.Text = rsCadFuncionarios("Cpf_Fun")
Else
txtCPF.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Fone1_Fun")) Then
txtFone1.Text = rsCadFuncionarios("Fone1_Fun")
Else
txtFone1.Text = Empty
End If
79
If Not IsNull(rsCadFuncionarios("Fone2_Fun")) Then
txtFone2.Text = rsCadFuncionarios("Fone2_Fun")
Else
txtFone2.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Rg_Fun")) Then
txtRG.Text = rsCadFuncionarios("Rg_Fun")
Else
txtRG.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("DataAdm_Fun")) Then
txtDataAdm.Text = rsCadFuncionarios("DataAdm_Fun")
Else
txtDataAdm.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Email_Fun")) Then
txtEmail.Text = rsCadFuncionarios("Email_Fun")
Else
txtEmail.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Cargo_Fun")) Then
txtCargo.Text = rsCadFuncionarios("Cargo_Fun")
Else
txtCargo.Text = Empty
End If
If Not IsNull(rsCadFuncionarios("Fotografia_Fun")) Then
NomeFoto = rsCadFuncionarios("Fotografia_Fun")
imgFoto.Picture = LoadPicture(NomeFoto)
80
Else
NomeFoto = Empty
imgFoto.Picture = LoadPicture("")
End If
End Sub
Private Sub HabilitaCampos()
txtNome.Enabled = True
cmbLogradouro.Enabled = True
txtCEP.Enabled = True
txtEndereco.Enabled = True
txtBairro.Enabled = True
txtCidade.Enabled = True
txtEstado.Enabled = True
txtFone1.Enabled = True
txtFone2.Enabled = True
txtRG.Enabled = True
txtDataNasc.Enabled = True
txtDataAdm.Enabled = True
cmbSexo.Enabled = True
txtEmail.Enabled = True
txtCPF.Enabled = True
txtComplemento.Enabled = True
txtCargo.Enabled = True
End Sub
Private Sub LimpaRegistro()
txtCodigo.Text = ""
txtNome.Text = ""
cmbLogradouro.Text = ""
txtCEP.Text = ""
txtEndereco.Text = ""
txtBairro.Text = ""
txtCidade.Text = ""
txtEstado.Text = ""
txtFone1.Text = ""
81
txtFone2.Text = ""
txtRG.Text = ""
txtDataNasc.Text = ""
txtDataAdm.Text = ""
cmbSexo.Text = ""
txtEmail.Text = ""
txtCPF.Text = ""
txtComplemento.Text = ""
txtCargo.Text = ""
End Sub
Private Sub txtBairro_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtCidade_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtComplemento_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtEndereco_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtEstado_KeyPress(KeyAscii As Integer)
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
82
Private Sub txtNome_KeyPress(KeyAscii As Integer)
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private rsCadProdutos As New ADODB.Recordset
Private Sub cmdAlterar_Click()
HabilitaCampos
txtNome.SetFocus
cmdIncluir.Enabled = False
cmdFechar.Enabled = False
cmdCancelar.Enabled = True
cmdAlterar.Enabled = False
cmdGravar.Enabled = True
cmdExcluir.Enabled = False
cmdPrimeiro.Enabled = False
83
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
End Sub
Private Sub cmdAnterior_Click()
rsCadProdutos.MovePrevious
If rsCadProdutos.BOF Then
rsCadProdutos.MoveFirst
End If
MostraRegistro
End Sub
Private Sub cmdCancelar_Click()
rsCadProdutos.CancelUpdate
If rsCadProdutos.RecordCount = 0 Then
LimpaRegistro
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdCancelar.Enabled = False
cmdGravar.Enabled = False
Else
MostraRegistro
cmdGravar.Enabled = False
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdPrimeiro.Enabled = True
84
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
End If
DesabilitaCampos
End Sub
Private Sub cmdExcluir_Click()
If MsgBox("Deseja excluir o cadastro?", vbYesNo + vbQuestion, "Atenção") = vbYes
Then
rsCadProdutos.Delete
If rsCadProdutos.RecordCount = 0 Then
LimpaRegistro
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
Else
rsCadProdutos.MoveNext
If rsCadProdutos.EOF Then
rsCadProdutos.MoveLast
End If
MostraRegistro
End If
End If
End Sub
Private Sub cmdFechar_Click()
85
Unload Me
End Sub
Private Sub cmdGravar_Click()
If txtNome.Text = "" Then
MsgBox "O NOME é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtNome.SetFocus
Exit Sub
End If
If txtDescricao.Text = "" Then
MsgBox "A DESCRIÇÃO é obrigatória!", vbOKOnly + vbInformation, "Aviso"
txtDescricao.SetFocus
Exit Sub
End If
If txtValor.Text = "" Then
MsgBox "O VALOR é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtValor.SetFocus
Exit Sub
End If
If txtCodFor.Text = "" Then
MsgBox "O Código do Fornecedor é obrigatório!", vbOKOnly + vbInformation,
"Aviso"
txtCodFor.SetFocus
Exit Sub
End If
rsCadProdutos("Cod_Pro") = txtCodigo.Text
rsCadProdutos("Nome_Pro") = txtNome.Text
rsCadProdutos("Desc_Pro") = txtDescricao.Text
rsCadProdutos("Valor_Pro") = txtValor.Text
rsCadProdutos("CodFor_Pro") = txtCodFor.Text
86
rsCadProdutos.Update
DesabilitaCampos
MsgBox "Dados do Produto salvos com sucesso!!!", vbOKOnly + vbInformation,
"Aviso"
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdGravar.Enabled = False
cmdPrimeiro.Enabled = True
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
End Sub
Private Sub cmdIncluir_Click()
Dim Vcodigo As Integer
If rsCadProdutos.RecordCount = 0 Then
rsCadProdutos.AddNew
Vcodigo = 1
txtCodigo.Text = Format(Vcodigo, "00000")
Else
rsCadProdutos.MoveLast
Vcodigo = rsCadProdutos("Cod_Pro")
Vcodigo = Vcodigo + 1
rsCadProdutos.AddNew
LimpaRegistro
txtCodigo.Text = Format(Vcodigo, "00000")
End If
HabilitaCampos
87
txtNome.SetFocus
cmdCancelar.Enabled = True
cmdFechar.Enabled = False
cmdIncluir.Enabled = False
cmdGravar.Enabled = True
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
End Sub
Private Sub cmdPrimeiro_Click()
rsCadProdutos.MoveFirst
MostraRegistro
End Sub
Private Sub cmdProximo_Click()
rsCadProdutos.MoveNext
If rsCadProdutos.EOF Then
rsCadProdutos.MoveLast
End If
MostraRegistro
End Sub
Private Sub cmdUltimo_Click()
rsCadProdutos.MoveLast
MostraRegistro
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
88
SendKeys "{tab}"
End If
End Sub
Private Sub Form_Load()
rsCadProdutos.Open "Produtos", mdiPrincipal.cnBiblioteca, adOpenKeyset,
adLockOptimistic, adCmdTable
If rsCadProdutos.RecordCount > 0 Then
MostraRegistro
Else
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
End If
DesabilitaCampos
End Sub
Private Sub Form_Unload(Cancel As Integer)
rsCadProdutos.Close
End Sub
Private Sub DesabilitaCampos()
txtNome.Enabled = False
txtDescricao.Enabled = False
txtValor.Enabled = False
txtCodFor.Enabled = False
End Sub
Private Sub MostraRegistro()
If Not IsNull(rsCadProdutos("Cod_Pro")) Then
89
txtCodigo.Text = Format(rsCadProdutos("Cod_Pro"), "00000")
Else
txtCodigo.Text = Empty
End If
If Not IsNull(rsCadProdutos("Nome_Pro")) Then
txtNome.Text = rsCadProdutos("Nome_Pro")
Else
txtNome.Text = Empty
End If
If Not IsNull(rsCadProdutos("Desc_Pro")) Then
txtDescricao.Text = rsCadProdutos("Desc_Pro")
Else
txtDescricao.Text = Empty
End If
If Not IsNull(rsCadProdutos("Valor_Pro")) Then
txtValor.Text = Format(rsCadProdutos("Valor_Pro"), "currency")
Else
txtValor.Text = Empty
End If
If Not IsNull(rsCadProdutos("CodFor_Pro")) Then
txtCodFor.Text = rsCadProdutos("CodFor_Pro")
Else
txtCodFor.Text = Empty
End If
End Sub
Private Sub HabilitaCampos()
txtNome.Enabled = True
txtDescricao.Enabled = True
90
txtValor.Enabled = True
txtCodFor.Enabled = True
End Sub
Private Sub LimpaRegistro()
txtCodigo.Text = ""
txtNome.Text = ""
txtDescricao.Text = ""
txtValor.Text = ""
txtCodFor.Text = ""
End Sub
Private Sub txtCodFor_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
Private Sub txtDescricao_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtNome_KeyPress(KeyAscii As Integer)
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtValor_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
91
Private Sub txtValor_LostFocus()
txtValor.Text = Format(txtValor.Text, "currency")
End Sub
Private Vfrase As String
Private rsConClientes As New ADODB.Recordset
Private Sub cboTipo_Click()
txtParametro.Text = ""
fgConsultaCli.Clear
With fgConsultaCli
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 2000
.ColWidth(4) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
92
.TextArray(2) = "Endereço"
.TextArray(3) = "Cidade"
.TextArray(4) = "Estado"
End With
If cboTipo.Text = "Todos" Then
txtParametro.Enabled = False
Else
txtParametro.Enabled = True
End If
End Sub
Private Sub fgConsultaCli_DblClick()
If fgConsultaCli.Row = 0 Then
Exit Sub
End If
frmCadClientes.Show
frmCadClientes.Left = 3000
frmCadClientes.Top = 800
End Sub
Private Sub fgConsultaCli_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)
If fgConsultaCli.Rows > 1 Then
If fgConsultaCli.Row <> fgConsultaCli.MouseRow And
fgConsultaCli.MouseRow > 0 Then
fgConsultaCli.Col = 0
fgConsultaCli.Row = fgConsultaCli.MouseRow
fgConsultaCli.ColSel = fgConsultaCli.Cols - 1
End If
End If
End Sub
93
Private Sub Form_Load()
Toolbar1.Left = 11055
With fgConsultaCli
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 2000
.ColWidth(4) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
.TextArray(2) = "Endereço"
.TextArray(3) = "Cidade"
.TextArray(4) = "Estado"
End With
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
If Button.Key = "Sair" Then
Unload Me
ElseIf Button.Key = "Pesquisar" Then
If cboTipo.Text = "Escolha o tipo de Consulta" Then
MsgBox "Escolha o Tipo de Consulta desejada", vbOKOnly + vbInformation,
"Atenção"
cboTipo.SetFocus
Exit Sub
End If
If cboTipo.Text = "Por Código" Then
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
94
Exit Sub
End If
If Not IsNumeric(txtParametro.Text) Then
MsgBox "Entre com um número para o código!", vbOKOnly + vbInformation,
"Atenção"
txtParametro.Text = ""
txtParametro.SetFocus
Exit Sub
End If
Dim VConCodigo As Integer
VConCodigo = CInt(txtParametro.Text)
fgConsultaCli.Clear
Vfrase = "Select * from Clientes Where Cod_Cli=" & VConCodigo
Set rsConClientes = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConClientes.BOF = True And rsConClientes.EOF = True Then
'cliente não cadastrado
MsgBox "Cliente Não Cadastrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConClientes.Close
End If
ElseIf cboTipo.Text = "Por Nome" Then
Dim VConNome As String
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
Exit Sub
95
End If
VConNome = Chr(39) & CStr(txtParametro.Text) & "'"
fgConsultaCli.Clear
Vfrase = "Select * from Clientes Where Nome_Cli LIKE" & VConNome
Set rsConClientes = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConClientes.BOF = True And rsConClientes.EOF = True Then
'cliente não cadastrado
MsgBox "Cliente Não Cadastrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConClientes.Close
End If
ElseIf cboTipo.Text = "Todos" Then
Vfrase = "Select * from Clientes order by Nome_Cli"
Set rsConClientes = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
' chama a funcao que preenche o grid
EncheGrid
If rsConClientes.BOF = True And rsConClientes.EOF = True Then
'cliente não cadastrado
MsgBox "Não há Cliente Cadastrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConClientes.Close
End If
End If
ElseIf Button.Key = "Nova" Then
fgConsultaCli.Clear
cboTipo.Text = "Escolha o tipo de Consulta"
96
txtParametro.Text = ""
With fgConsultaCli
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 2000
.ColWidth(4) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
.TextArray(2) = "Endereço"
.TextArray(3) = "Cidade"
.TextArray(4) = "Estado"
End With
cboTipo.SetFocus
End If
End Sub
Private Sub EncheGrid()
' forma o cabeçalho do fexgrid
With fgConsultaCli
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 2000
.ColWidth(4) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
.TextArray(2) = "Endereço"
.TextArray(3) = "Cidade"
.TextArray(4) = "Estado"
End With
97
Do While Not rsConClientes.EOF
fgConsultaCli.AddItem rsConClientes("Cod_Cli") & Chr(9) &
rsConClientes("Nome_Cli") & Chr(9) & rsConClientes("Endereco_Cli") & Chr(9) &
rsConClientes("Cidade_Cli") & Chr(9) & rsConClientes("Estado_Cli")
rsConClientes.MoveNext
Loop
End Sub
Private Sub txtParametro_KeyPress(KeyAscii As Integer)
If cboTipo.Text = "Por Código" Then
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End If
If cboTipo.Text = "Por Nome" Then
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
End If
End Sub
98
Private Vfrase As String
Private rsConCompras As New ADODB.Recordset
Private Sub cboTipo_Click()
txtParametro.Text = ""
fgConsultaCom.Clear
With fgConsultaCom
.ColWidth(0) = 800
.ColWidth(1) = 1500
.ColWidth(2) = 1500
.ColWidth(3) = 1000
.ColWidth(4) = 1800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nº da Nota Fiscal"
.TextArray(2) = "Código do Produto"
.TextArray(3) = "Quantidade"
.TextArray(4) = "Código do Fornecedor"
99
End With
If cboTipo.Text = "Todos" Then
txtParametro.Enabled = False
Else
txtParametro.Enabled = True
End If
End Sub
Private Sub fgConsultaCom_DblClick()
If fgConsultaCom.Row = 0 Then
Exit Sub
End If
frmCadCompras.Show
frmCadCompras.Left = 3000
frmCadCompras.Top = 1500
End Sub
Private Sub fgConsultaCom_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)
If fgConsultaCom.Rows > 1 Then
If fgConsultaCom.Row <> fgConsultaCom.MouseRow And
fgConsultaCom.MouseRow > 0 Then
fgConsultaCom.Col = 0
fgConsultaCom.Row = fgConsultaCom.MouseRow
fgConsultaCom.ColSel = fgConsultaCom.Cols - 1
End If
End If
End Sub
Private Sub Form_Load()
Toolbar1.Left = 7245
With fgConsultaCom
100
.ColWidth(0) = 800
.ColWidth(1) = 1500
.ColWidth(2) = 1500
.ColWidth(3) = 1000
.ColWidth(4) = 1800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nº da Nota Fiscal"
.TextArray(2) = "Código do Produto"
.TextArray(3) = "Quantidade"
.TextArray(4) = "Código do Fornecedor"
End With
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
If Button.Key = "Sair" Then
Unload Me
ElseIf Button.Key = "Pesquisar" Then
If cboTipo.Text = "Escolha o tipo de Consulta" Then
MsgBox "Escolha o Tipo de Consulta desejada", vbOKOnly + vbInformation,
"Atenção"
cboTipo.SetFocus
Exit Sub
End If
If cboTipo.Text = "Por Código" Then
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
Exit Sub
End If
101
If Not IsNumeric(txtParametro.Text) Then
MsgBox "Entre com um número para o código!", vbOKOnly + vbInformation,
"Atenção"
txtParametro.Text = ""
txtParametro.SetFocus
Exit Sub
End If
Dim VConCodigo As Integer
VConCodigo = CInt(txtParametro.Text)
fgConsultaCom.Clear
Vfrase = "Select * from Compras Where Cod_Compra=" & VConCodigo
Set rsConCompras = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConCompras.BOF = True And rsConCompras.EOF = True Then
'cliente não cadastrado
MsgBox "Compra Não Cadastrada!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConCompras.Close
End If
ElseIf cboTipo.Text = "Por Nº da Nota Fiscal" Then
Dim VConNota As Integer
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
Exit Sub
End If
VConNota = CInt(txtParametro.Text)
102
fgConsultaCom.Clear
Vfrase = "Select * from Compras Where Nf_Compra=" & VConNota
Set rsConCompras = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConCompras.BOF = True And rsConCompras.EOF = True Then
'cliente não cadastrado
MsgBox "Compra Não Cadastrada!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConCompras.Close
End If
ElseIf cboTipo.Text = "Por Código do Fornecedor" Then
Dim VConForn As Integer
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
Exit Sub
End If
VConForn = CInt(txtParametro.Text)
fgConsultaCom.Clear
Vfrase = "Select * from Compras Where CodFor_Compra=" & VConForn
Set rsConCompras = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConCompras.BOF = True And rsConCompras.EOF = True Then
'cliente não cadastrado
MsgBox "Compra Não Cadastrada!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
103
rsConCompras.Close
End If
ElseIf cboTipo.Text = "Todos" Then
Vfrase = "Select * from Compras order by Cod_Compra"
Set rsConCompras = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
' chama a funcao que preenche o grid
EncheGrid
If rsConCompras.BOF = True And rsConCompras.EOF = True Then
'cliente não cadastrado
MsgBox "Não há Compra Cadastrada!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConCompras.Close
End If
End If
ElseIf Button.Key = "Nova" Then
fgConsultaCom.Clear
cboTipo.Text = "Escolha o tipo de Consulta"
txtParametro.Text = ""
With fgConsultaCom
.ColWidth(0) = 800
.ColWidth(1) = 1500
.ColWidth(2) = 1500
.ColWidth(3) = 1000
.ColWidth(4) = 1800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nº da Nota Fiscal"
.TextArray(2) = "Código do Produto"
.TextArray(3) = "Quantidade"
.TextArray(4) = "Código do Fornecedor"
104
End With
cboTipo.SetFocus
End If
End Sub
Private Sub EncheGrid()
' forma o cabeçalho do fexgrid
With fgConsultaCom
.ColWidth(0) = 800
.ColWidth(1) = 1500
.ColWidth(2) = 1500
.ColWidth(3) = 1000
.ColWidth(4) = 1800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nº da Nota Fiscal"
.TextArray(2) = "Código do Produto"
.TextArray(3) = "Quantidade"
.TextArray(4) = "Código do Fornecedor"
End With
Do While Not rsConCompras.EOF
fgConsultaCom.AddItem rsConCompras("Cod_Compra") & Chr(9) &
rsConCompras("Nf_Compra") & Chr(9) & rsConCompras("CodPro_Compra") & Chr(9)
& rsConCompras("Qtd_Compra") & Chr(9) & rsConCompras("CodFor_Compra")
rsConCompras.MoveNext
Loop
End Sub
Private Sub txtParametro_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
105
Private Vfrase As String
Private rsConFornecedores As New ADODB.Recordset
Private Sub cboTipo_Click()
txtParametro.Text = ""
fgConsultaFor.Clear
With fgConsultaFor
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 3000
.ColWidth(4) = 2000
.ColWidth(5) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Razão Social"
.TextArray(2) = "Nome Fantasia"
.TextArray(3) = "Endereço"
106
.TextArray(4) = "Cidade"
.TextArray(5) = "Estado"
End With
If cboTipo.Text = "Todos" Then
txtParametro.Enabled = False
Else
txtParametro.Enabled = True
End If
End Sub
Private Sub fgConsultaFor_DblClick()
If fgConsultaFor.Row = 0 Then
Exit Sub
End If
frmCadFornecedores.Show
frmCadFornecedores.Left = 2500
frmCadFornecedores.Top = 50
End Sub
Private Sub fgConsultaFor_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)
If fgConsultaFor.Rows > 1 Then
If fgConsultaFor.Row <> fgConsultaFor.MouseRow And
fgConsultaFor.MouseRow > 0 Then
fgConsultaFor.Col = 0
fgConsultaFor.Row = fgConsultaFor.MouseRow
fgConsultaFor.ColSel = fgConsultaFor.Cols - 1
End If
End If
End Sub
Private Sub Form_Load()
107
Toolbar1.Left = 12960
With fgConsultaFor
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 3000
.ColWidth(4) = 2000
.ColWidth(5) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Razão Social"
.TextArray(2) = "Nome Fantasia"
.TextArray(3) = "Endereço"
.TextArray(4) = "Cidade"
.TextArray(5) = "Estado"
End With
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
If Button.Key = "Sair" Then
Unload Me
ElseIf Button.Key = "Pesquisar" Then
If cboTipo.Text = "Escolha o tipo de Consulta" Then
MsgBox "Escolha o Tipo de Consulta desejada", vbOKOnly + vbInformation,
"Atenção"
cboTipo.SetFocus
Exit Sub
End If
If cboTipo.Text = "Por Código" Then
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
108
txtParametro.SetFocus
Exit Sub
End If
If Not IsNumeric(txtParametro.Text) Then
MsgBox "Entre com um número para o código!", vbOKOnly + vbInformation,
"Atenção"
txtParametro.Text = ""
txtParametro.SetFocus
Exit Sub
End If
Dim VConCodigo As Integer
VConCodigo = CInt(txtParametro.Text)
fgConsultaFor.Clear
Vfrase = "Select * from Fornecedores Where Cod_For=" & VConCodigo
Set rsConFornecedores = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConFornecedores.BOF = True And rsConFornecedores.EOF = True Then
'cliente não cadastrado
MsgBox "Fornecedor Não Cadastrada!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConFornecedores.Close
End If
ElseIf cboTipo.Text = "Por Nome Fantasia" Then
Dim VConNome As String
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
109
Exit Sub
End If
VConNome = Chr(39) & CStr(txtParametro.Text) & Chr(39)
fgConsultaFor.Clear
Vfrase = "Select * from Fornecedores Where NomeFantasia_For Like" &
VConNome
Set rsConFornecedores = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConFornecedores.BOF = True And rsConFornecedores.EOF = True Then
'cliente não cadastrado
MsgBox "Fornecedor Não Cadastrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConFornecedores.Close
End If
ElseIf cboTipo.Text = "Todos" Then
Vfrase = "Select * from Fornecedores order by Cod_For"
Set rsConFornecedores = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
' chama a funcao que preenche o grid
EncheGrid
If rsConFornecedores.BOF = True And rsConFornecedores.EOF = True Then
'cliente não cadastrado
MsgBox "Não há Fornecedor Cadastrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConFornecedores.Close
End If
End If
ElseIf Button.Key = "Nova" Then
110
fgConsultaFor.Clear
cboTipo.Text = "Escolha o tipo de Consulta"
txtParametro.Text = ""
With fgConsultaFor
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 3000
.ColWidth(4) = 2000
.ColWidth(5) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Razão Social"
.TextArray(2) = "Nome Fantasia"
.TextArray(3) = "Endereço"
.TextArray(4) = "Cidade"
.TextArray(5) = "Estado"
End With
cboTipo.SetFocus
End If
End Sub
Private Sub EncheGrid()
' forma o cabeçalho do fexgrid
With fgConsultaFor
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 3000
.ColWidth(4) = 2000
.ColWidth(5) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Razão Social"
111
.TextArray(2) = "Nome Fantasia"
.TextArray(3) = "Endereço"
.TextArray(4) = "Cidade"
.TextArray(5) = "Estado"
End With
Do While Not rsConFornecedores.EOF
fgConsultaFor.AddItem rsConFornecedores("Cod_For") & Chr(9) &
rsConFornecedores("Razao_For") & Chr(9) &
rsConFornecedores("NomeFantasia_For") & Chr(9) &
rsConFornecedores("Endereco_For") & Chr(9) & rsConFornecedores("Cidade_For") &
Chr(9) & rsConFornecedores("Estado_For")
rsConFornecedores.MoveNext
Loop
End Sub
Private Sub txtParametro_KeyPress(KeyAscii As Integer)
If cboTipo.Text = "Por Código" Then
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End If
If cboTipo.Text = "Por Nome Fantasia" Then
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
End If
End Sub
112
Private Vfrase As String
Private rsConFuncionarios As New ADODB.Recordset
Private Sub cboTipo_Click()
txtParametro.Text = ""
fgConsultaFun.Clear
With fgConsultaFun
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 2000
.ColWidth(4) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
.TextArray(2) = "Endereço"
.TextArray(3) = "Cidade"
.TextArray(4) = "Estado"
End With
113
If cboTipo.Text = "Todos" Then
txtParametro.Enabled = False
Else
txtParametro.Enabled = True
End If
End Sub
Private Sub fgConsultaFun_DblClick()
If fgConsultaFun.Row = 0 Then
Exit Sub
End If
frmCadFuncionarios.Show
frmCadFuncionarios.Left = 2000
frmCadFuncionarios.Top = 200
End Sub
Private Sub fgConsultaFun_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)
If fgConsultaFun.Rows > 1 Then
If fgConsultaFun.Row <> fgConsultaFun.MouseRow And
fgConsultaFun.MouseRow > 0 Then
fgConsultaFun.Col = 0
fgConsultaFun.Row = fgConsultaFun.MouseRow
fgConsultaFun.ColSel = fgConsultaFun.Cols - 1
End If
End If
End Sub
Private Sub Form_Load()
Toolbar1.Left = 11190
With fgConsultaFun
.ColWidth(0) = 800
114
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 2000
.ColWidth(4) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
.TextArray(2) = "Endereço"
.TextArray(3) = "Cidade"
.TextArray(4) = "Estado"
End With
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
If Button.Key = "Sair" Then
Unload Me
ElseIf Button.Key = "Pesquisar" Then
If cboTipo.Text = "Escolha o tipo de Consulta" Then
MsgBox "Escolha o Tipo de Consulta desejada", vbOKOnly + vbInformation,
"Atenção"
cboTipo.SetFocus
Exit Sub
End If
If cboTipo.Text = "Por Código" Then
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
Exit Sub
End If
If Not IsNumeric(txtParametro.Text) Then
115
MsgBox "Entre com um número para o código!", vbOKOnly + vbInformation,
"Atenção"
txtParametro.Text = ""
txtParametro.SetFocus
Exit Sub
End If
Dim VConCodigo As Integer
VConCodigo = CInt(txtParametro.Text)
fgConsultaFun.Clear
Vfrase = "Select * from Funcionarios Where Cod_Fun=" & VConCodigo
Set rsConFuncionarios = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConFuncionarios.BOF = True And rsConFuncionarios.EOF = True Then
'cliente não cadastrado
MsgBox "Funcionário Não Encontrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConFuncionarios.Close
End If
ElseIf cboTipo.Text = "Por Nome" Then
Dim VConNome As String
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
Exit Sub
End If
VConNome = Chr(39) & CStr(txtParametro.Text) & Chr(39)
fgConsultaFun.Clear
116
Vfrase = "Select * from Funcionarios Where Nome_Fun Like" & VConNome
Set rsConFuncionarios = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConFuncionarios.BOF = True And rsConFuncionarios.EOF = True Then
'cliente não cadastrado
MsgBox "Funcionário Não Encontrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConFuncionarios.Close
End If
ElseIf cboTipo.Text = "Todos" Then
Vfrase = "Select * from Funcionarios order by Cod_Fun"
Set rsConFuncionarios = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
' chama a funcao que preenche o grid
EncheGrid
If rsConFuncionarios.BOF = True And rsConFuncionarios.EOF = True Then
'cliente não cadastrado
MsgBox "Não há Funcionário Cadastrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConFuncionarios.Close
End If
End If
ElseIf Button.Key = "Nova" Then
fgConsultaFun.Clear
cboTipo.Text = "Escolha o tipo de Consulta"
txtParametro.Text = ""
With fgConsultaFun
.ColWidth(0) = 800
.ColWidth(1) = 3500
117
.ColWidth(2) = 3500
.ColWidth(3) = 2000
.ColWidth(4) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
.TextArray(2) = "Endereço"
.TextArray(3) = "Cidade"
.TextArray(4) = "Estado"
End With
cboTipo.SetFocus
End If
End Sub
Private Sub EncheGrid()
' forma o cabeçalho do fexgrid
With fgConsultaFun
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 2000
.ColWidth(4) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
.TextArray(2) = "Endereço"
.TextArray(3) = "Cidade"
.TextArray(4) = "Estado"
End With
Do While Not rsConFuncionarios.EOF
fgConsultaFun.AddItem rsConFuncionarios("Cod_Fun") & Chr(9) &
rsConFuncionarios("Nome_Fun") & Chr(9) & rsConFuncionarios("Endereco_Fun") &
Chr(9) & rsConFuncionarios("Cidade_Fun") & Chr(9) &
rsConFuncionarios("Estado_Fun")
118
rsConFuncionarios.MoveNext
Loop
End Sub
Private Sub txtParametro_KeyPress(KeyAscii As Integer)
If cboTipo.Text = "Por Código" Then
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End If
If cboTipo.Text = "Por Nome" Then
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
End If
End Sub
119
Private Vfrase As String
Private rsConProdutos As New ADODB.Recordset
Private Sub cboTipo_Click()
txtParametro.Text = ""
fgConsultaPro.Clear
With fgConsultaPro
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 1500
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
.TextArray(2) = "Descricão"
.TextArray(3) = "Cod Fornecedor"
End With
If cboTipo.Text = "Todos" Then
120
txtParametro.Enabled = False
Else
txtParametro.Enabled = True
End If
End Sub
Private Sub fgConsultaPro_DblClick()
If fgConsultaPro.Row = 0 Then
Exit Sub
End If
frmCadProdutos.Show
frmCadProdutos.Left = 2500
frmCadProdutos.Top = 1500
End Sub
Private Sub fgConsultaPro_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)
If fgConsultaPro.Rows > 1 Then
If fgConsultaPro.Row <> fgConsultaPro.MouseRow And
fgConsultaPro.MouseRow > 0 Then
fgConsultaPro.Col = 0
fgConsultaPro.Row = fgConsultaPro.MouseRow
fgConsultaPro.ColSel = fgConsultaPro.Cols - 1
End If
End If
End Sub
Private Sub Form_Load()
With fgConsultaPro
.ColWidth(0) = 800
.ColWidth(1) = 3500
121
.ColWidth(2) = 3500
.ColWidth(3) = 1500
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
.TextArray(2) = "Descricão"
.TextArray(3) = "Cod Fornecedor"
End With
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
If Button.Key = "Sair" Then
Unload Me
ElseIf Button.Key = "Pesquisar" Then
If cboTipo.Text = "Escolha o tipo de Consulta" Then
MsgBox "Escolha o Tipo de Consulta desejada", vbOKOnly + vbInformation,
"Atenção"
cboTipo.SetFocus
Exit Sub
End If
If cboTipo.Text = "Por Código" Then
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
Exit Sub
End If
If Not IsNumeric(txtParametro.Text) Then
MsgBox "Entre com um número para o código!", vbOKOnly + vbInformation,
"Atenção"
txtParametro.Text = ""
122
txtParametro.SetFocus
Exit Sub
End If
Dim VConCodigo As Integer
VConCodigo = CInt(txtParametro.Text)
fgConsultaPro.Clear
Vfrase = "Select * from Produtos Where Cod_Pro=" & VConCodigo
Set rsConProdutos = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConProdutos.BOF = True And rsConProdutos.EOF = True Then
'cliente não cadastrado
MsgBox "Produto Não Encontrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConProdutos.Close
End If
ElseIf cboTipo.Text = "Por Código do Fornecedor" Then
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
Exit Sub
End If
If Not IsNumeric(txtParametro.Text) Then
MsgBox "Entre com um número para o código!", vbOKOnly + vbInformation,
"Atenção"
txtParametro.Text = ""
txtParametro.SetFocus
Exit Sub
End If
123
Dim VConCodFor As Integer
VConCodFor = CInt(txtParametro.Text)
fgConsultaPro.Clear
Vfrase = "Select * from Produtos Where CodFor_Pro=" & VConCodFor
Set rsConProdutos = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConProdutos.BOF = True And rsConProdutos.EOF = True Then
'cliente não cadastrado
MsgBox "Produto Não Encontrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConProdutos.Close
End If
ElseIf cboTipo.Text = "Por Nome" Then
Dim VConNome As String
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
Exit Sub
End If
VConNome = Chr(39) & CStr(txtParametro.Text) & Chr(39)
fgConsultaPro.Clear
Vfrase = "Select * from Produtos Where Nome_Pro Like" & VConNome
Set rsConProdutos = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConProdutos.BOF = True And rsConProdutos.EOF = True Then
'cliente não cadastrado
124
MsgBox "Produto Não Encontrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConProdutos.Close
End If
ElseIf cboTipo.Text = "Todos" Then
Vfrase = "Select * from Produtos order by Cod_Pro"
Set rsConProdutos = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
' chama a funcao que preenche o grid
EncheGrid
If rsConProdutos.BOF = True And rsConProdutos.EOF = True Then
'cliente não cadastrado
MsgBox "Não há Produto Cadastrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConProdutos.Close
End If
End If
ElseIf Button.Key = "Nova" Then
fgConsultaPro.Clear
cboTipo.Text = "Escolha o tipo de Consulta"
txtParametro.Text = ""
With fgConsultaPro
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 1500
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
.TextArray(2) = "Descricão"
.TextArray(3) = "Cod Fornecedor"
125
End With
cboTipo.SetFocus
End If
End Sub
Private Sub EncheGrid()
' forma o cabeçalho do fexgrid
With fgConsultaPro
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 3500
.ColWidth(3) = 1500
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome"
.TextArray(2) = "Descricão"
.TextArray(3) = "Cod Fornecedor"
End With
Do While Not rsConProdutos.EOF
fgConsultaPro.AddItem rsConProdutos("Cod_Pro") & Chr(9) &
rsConProdutos("Nome_Pro") & Chr(9) & rsConProdutos("Desc_Pro") & Chr(9) &
rsConProdutos("CodFor_Pro")
rsConProdutos.MoveNext
Loop
End Sub
Private Sub txtParametro_KeyPress(KeyAscii As Integer)
If cboTipo.Text = "Por Código" Then
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End If
126
If cboTipo.Text = "Por Código do Fornecedor" Then
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End If
If cboTipo.Text = "Por Nome" Then
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
End If
End Sub
Private Sub cmdOK_Click()
Unload Me
End Sub
127
Dim Op1 As Double ' Primeiro operando.
Dim Op2 As Double ' Segundo operando.
Dim FlagDecimal As Integer ' Flag do Ponto Decimal.
Dim NumOps As Integer ' Numero de Operandos.
Dim UltimaEntrada As String ' Indica a ultima tecla pressionada.
Dim FlagOperacao As String ' Indica a operacao pendente
Const VERDADEIRO = -1
Const FALSO = 0
' Procedure para a tecla C (Cancela).
' Reseta o display e inicializa variaveis.
Private Sub Cancel_Click()
Number(0).SetFocus 'Volta o Controle para matriz de Numeros
Visor.Caption = "0."
Form_Load
End Sub
' Procedure para a tecla CE (Cancela Entrada).
Private Sub CancelEntry_Click()
Number(0).SetFocus 'Volta o Controle para matriz de Numeros
Visor.Caption = "0."
FlagDecimal = FALSO
128
UltimaEntrada = "CE"
End Sub
' Procedure para a tecla de ponto decimal (.) .
' Se a ultima tecla pressiona fou operador, initializa
' Visor com "0." Senao, adiciona um ponto decimal no display.
Private Sub Decimal_Click()
If UltimaEntrada <> "NUMS" Then
Visor.Caption = "0."
ElseIf FlagDecimal = FALSO Then
Visor.Caption = Visor.Caption + "."
End If
FlagDecimal = VERDADEIRO
UltimaEntrada = "NUMS"
End Sub
' Rotina de Inicializacao para o formulario
' Inicia todas as variaveis
Private Sub Form_Load()
CENTRALIZA_FORM Me
FlagDecimal = FALSO
NumOps = 0
UltimaEntrada = "NONE"
FlagOperacao = " "
' me.left = 3720
' me.top= 975
End Sub
Private Sub mnuSair_Click()
End
End Sub
129
' Procedure para as teclas de numeros (0-9).
' Adiciona o novo numero ao numero do display.
Private Sub Number_Click(Index As Integer)
If UltimaEntrada <> "NUMS" Then
Visor.Caption = ""
FlagDecimal = FALSO
End If
If Len(Visor.Caption) <= 15 Then 'Limita entrada de valores a 15 digitos(inclusive
ponto decimal)
Visor.Caption = Visor.Caption + Number(Index).Caption
End If
UltimaEntrada = "NUMS"
Operator(4).SetFocus 'Posiciona o Foco na operação de igual
End Sub
Private Sub Number_KeyPress(Index As Integer, KeyAscii As Integer)
'*** FAZ LEITURA DE TECLAS PRESSIONADAS ***
If KeyAscii = 61 Then
Operator_Click (4) 'Sinal de Igual
ElseIf KeyAscii = 67 Or KeyAscii = 99 Then
Cancel_Click 'Botao de Limpar
ElseIf KeyAscii = 37 Then
Percent_Click 'Sinal de Porcentagem
ElseIf KeyAscii = 42 Or KeyAscii = 120 Or KeyAscii = 88 Then
Operator_Click (2) 'Sinal de Multiplicação
ElseIf KeyAscii = 43 Then
Operator_Click (1) 'Sinal de Mais
ElseIf KeyAscii = 45 Then
Operator_Click (3) 'Sinal de Igual
ElseIf KeyAscii = 46 Then
Decimal_Click 'Ponto decimal
ElseIf KeyAscii = 47 Then
130
Operator_Click (0) 'Sinal de Divisao
ElseIf KeyAscii = 48 Then
Number_Click (0)
ElseIf KeyAscii = 49 Then
Number_Click (1)
ElseIf KeyAscii = 50 Then
Number_Click (2)
ElseIf KeyAscii = 51 Then
Number_Click (3)
ElseIf KeyAscii = 52 Then
Number_Click (4)
ElseIf KeyAscii = 53 Then
Number_Click (5)
ElseIf KeyAscii = 54 Then
Number_Click (6)
ElseIf KeyAscii = 55 Then
Number_Click (7)
ElseIf KeyAscii = 56 Then
Number_Click (8)
ElseIf KeyAscii = 57 Then
Number_Click (9)
End If
End Sub
' Procedure para os teclas de operadores (+, -, x, /, =).
' Se a tecla pressiona imediatamente foi parte de um
' numero, incrementa a variavel NumOps. Se um operando esta presente,
' "seta" Op1. Se dois operandos estao presentes, "seta" Op1 igual ao
' resultado da operacao em Op1 com a string entrada por ultimo e mostra
' o resultado.
Private Sub Operator_Click(Index As Integer)
Operator(4).SetFocus 'Volta o Controle para matriz de Numeros
If UltimaEntrada = "NUMS" Then
131
NumOps = NumOps + 1
End If
If NumOps = 1 Then
Op1 = Val(Visor.Caption)
ElseIf NumOps = 2 Then
Op2 = Val(Visor.Caption)
Select Case FlagOperacao
Case "+"
Op1 = Op1 + Op2
Case "-"
Op1 = Op1 - Op2
Case "X"
Op1 = Op1 * Op2
Case "/"
If Op2 = 0 Then
MsgBox "Erro, Divisão por zero impossível", 48, "Spasso Calc"
Else
Op1 = Op1 / Op2
End If
Case "="
Op1 = Op2
End Select
Visor.Caption = Format$(Op1)
NumOps = 1
End If
UltimaEntrada = "OPS"
FlagOperacao = Operator(Index).Caption
End Sub
Private Sub Operator_KeyPress(Index As Integer, KeyAscii As Integer)
'*** FAZ LEITURA DE TECLAS PRESSIONADAS ***
If KeyAscii = 61 Then
Operator_Click (4) 'Sinal de Igual
132
ElseIf KeyAscii = 67 Or KeyAscii = 99 Then
Cancel_Click 'Botao de Limpar
ElseIf KeyAscii = 37 Then
Percent_Click 'Sinal de Porcentagem
ElseIf KeyAscii = 42 Or KeyAscii = 120 Or KeyAscii = 88 Then
Operator_Click (2) 'Sinal de Multiplicação
ElseIf KeyAscii = 43 Then
Operator_Click (1) 'Sinal de Mais
ElseIf KeyAscii = 45 Then
Operator_Click (3) 'Sinal de Igual
ElseIf KeyAscii = 46 Then
Decimal_Click 'Ponto decimal
ElseIf KeyAscii = 47 Then
Operator_Click (0) 'Sinal de Divisao
ElseIf KeyAscii = 48 Then
Number_Click (0)
ElseIf KeyAscii = 49 Then
Number_Click (1)
ElseIf KeyAscii = 50 Then
Number_Click (2)
ElseIf KeyAscii = 51 Then
Number_Click (3)
ElseIf KeyAscii = 52 Then
Number_Click (4)
ElseIf KeyAscii = 53 Then
Number_Click (5)
ElseIf KeyAscii = 54 Then
Number_Click (6)
ElseIf KeyAscii = 55 Then
Number_Click (7)
ElseIf KeyAscii = 56 Then
Number_Click (8)
ElseIf KeyAscii = 57 Then
Number_Click (9)
133
End If
End Sub
' Procedure para a tecla de percentagem (%).
' Computa and mostra a percentagem do primeiro operando.
Private Sub Percent_Click()
Visor.Caption = Format$(Op1 * Val(Visor.Caption) / 100)
End Sub
Private Sub SobreSpCalc_Click()
frmCopyright.Show 1
End Sub
Public Sub CENTRALIZA_FORM(Formulario As Form)
On Error Resume Next 'Evita erro caso o usuário minimize o Form
With Formulario
.Left = (Screen.Width - .Width) / 2 'Alinha o form no horizontalmente no centro
.Top = (Screen.Height - .Height) / 2 'Alinha o form no verticalmente no centro
End With
'With Formulario
' .Left = ((mdiGerest.Width - .Width) / 2) 'Alinha o form no horizontalmente no centro
' .Top = ((mdiGerest.Height - .Height) / 2) - 1000 'Alinha o form no verticalmente no
centro
'End With
End Sub
134
Private Const AnInch As Long = 1440 '1440 twips per inch
Private Const QuarterInch As Long = 360
Private Sub Combo1_Click()
RTF.SelFontSize = Combo1.Text
End Sub
Private Sub Combo3_Click()
RTF.SelFontName = Combo3.Text
End Sub
Private Sub Form_Load()
For i = 1 To Screen.FontCount - 1
135
Combo3.AddItem Screen.Fonts(i)
Next i
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
If Button.Key = "Novo" Then
If RTF.Text = "" Then
RTF.Text = ""
Exit Sub
End If
'Pergunta se deseja salvar !!
If MsgBox("Deseja salvar o texto atual ?", vbQuestion + vbYesNo, "Salvar ?") =
vbYes Then
DIALOGO.ShowSave
RTF.SaveFile (DIALOGO.FileName), 0
RTF.Text = ""
Exit Sub
End If
RTF.Text = ""
ElseIf Button.Key = "Abrir" Then
DIALOGO.ShowOpen
RTF.LoadFile (DIALOGO.FileName), 0
Exit Sub
ElseIf Button.Key = "Salvar" Then
DIALOGO.ShowSave
RTF.SaveFile (DIALOGO.FileName), 0
RTF.Text = ""
Exit Sub
ElseIf Button.Key = "Imprimir" Then
136
If MsgBox("Gostaria de imprimir o documento na impressora " &
Printer.DeviceName & " ?", vbQuestion + vbYesNo, "Confirme !!") = vbYes Then
PrintRTF RTF, AnInch, AnInch, AnInch, AnInch
Exit Sub
Else
Exit Sub
End If
ElseIf Button.Key = "Recortar" Then
Clipboard.Clear
Clipboard.SetText (RTF.SelText)
RTF.SelText = ""
ElseIf Button.Key = "Copiar" Then
Clipboard.Clear
Clipboard.SetText (RTF.SelText)
ElseIf Button.Key = "Colar" Then
RTF.SelText = Clipboard.GetText
ElseIf Button.Key = "Retirar" Then
If RTF.SelIndent > 0 Then
RTF.SelIndent = RTF.SelIndent - 490
End If
ElseIf Button.Key = "Inserir" Then
'Limita a identação do texto
If CInt(RTF.SelIndent) < CInt(11160) Then
RTF.SelIndent = RTF.SelIndent + 490
End If
ElseIf Button.Key = "Cor" Then
DIALOGO.ShowColor
RTF.SelColor = DIALOGO.Color
137
ElseIf Button.Key = "Localizar" Then
BUSCA = InputBox("Digite o texto a ser localizado:", "Localizador")
If RTF.Find(BUSCA) = -1 Then
MsgBox ("Não encontrei nada !!"), vbCritical, "Desculpe !!"
Exit Sub
Else
Exit Sub
End If
ElseIf Button.Key = "LSubstituir" Then
BUSCA = InputBox("Digite o texto a ser localizado:", "Localiza / Substitui")
If RTF.Find(BUSCA) = -1 Then
MsgBox ("Não encontrei o texto digitado !!"), vbCritical, "Nada localizado"
End If
BUSCA2 = InputBox("Digite o texto Substituto", "Substituir")
RTF.SelText = BUSCA2
MsgBox ("Texto subtituido"), vbInformation, "Sucesso !!"
End If
End Sub
Private Sub Toolbar2_ButtonClick(ByVal Button As MSComctlLib.Button)
If Button.Key = "Negrito" Then
If RTF.SelBold = True Then
RTF.SelBold = False
Else
RTF.SelBold = True
End If
ElseIf Button.Key = "Italico" Then
If RTF.SelItalic = True Then
138
RTF.SelItalic = False
Else
RTF.SelItalic = True
End If
ElseIf Button.Key = "Sublinhado" Then
If RTF.SelUnderline = True Then
RTF.SelUnderline = False
Else
RTF.SelUnderline = True
End If
ElseIf Button.Key = "Marcador" Then
If RTF.SelBullet = False Then
RTF.SelBullet = True
Else
RTF.SelBullet = False
End If
ElseIf Button.Key = "Esquerda" Then
RTF.SelAlignment = rtfLeft
ElseIf Button.Key = "Centro" Then
RTF.SelAlignment = rtfCenter
ElseIf Button.Key = "Direita" Then
RTF.SelAlignment = rtfRight
ElseIf Button.Key = "Sair" Then
If RTF.Text = "" Then
Unload Me
Else
If MsgBox("Deseja salvar o texto atual?", vbQuestion + vbYesNo, "Salvar?") =
vbYes Then
139
DIALOGO.ShowSave
RTF.SaveFile (DIALOGO.FileName), 0
Unload Me
Exit Sub
End If
End If
Unload Me
End If
End Sub
Dim Ind As Integer, ind2 As Integer
Rem Função de pesquisa
Function Search(Name As String)
If Dir$(App.Path & Name) = "" Then
MsgBox "Arquivo não encontrado:" & vbNewLine & Name & vbNewLine & "O
aplicativo será finalizado.", vbCritical
End
End If
End Function
Rem Verifica se os arquivos existem
Private Sub Form_Load()
140
lblVersao.Caption = "Versão " & App.Major & "." & App.Minor & "." & App.Revision
For Ind = 1 To 10 Step 1
Search ("\Dat\A\" & Ind & ".dat")
Search ("\Dat\B\" & Ind & ".dat")
Search ("\Dat\C\" & Ind & ".dat")
Search ("\Dat\D\" & Ind & ".dat")
Search ("\Dat\E\" & Ind & ".dat")
Search ("\Dat\F\" & Ind & ".dat")
Search ("\Dat\G\" & Ind & ".dat")
Search ("\Dat\H\" & Ind & ".dat")
Search ("\Dat\I\" & Ind & ".dat")
Search ("\Dat\J\" & Ind & ".dat")
Search ("\Dat\L\" & Ind & ".dat")
Search ("\Dat\M\" & Ind & ".dat")
Search ("\Dat\N\" & Ind & ".dat")
Search ("\Dat\O\" & Ind & ".dat")
Search ("\Dat\P\" & Ind & ".dat")
Search ("\Dat\Q\" & Ind & ".dat")
Search ("\Dat\R\" & Ind & ".dat")
Search ("\Dat\S\" & Ind & ".dat")
Search ("\Dat\T\" & Ind & ".dat")
Search ("\Dat\U\" & Ind & ".dat")
Search ("\Dat\V\" & Ind & ".dat")
Search ("\Dat\X\" & Ind & ".dat")
Search ("\Dat\Z\" & Ind & ".dat")
Search ("\Dat\W\" & Ind & ".dat")
Search ("\Dat\Y\" & Ind & ".dat")
Next
Screen.MousePointer = vbHourglass
End Sub
Rem Tempo de apresentação
141
Private Sub tmrSplash_Timer()
Screen.MousePointer = vbDefault
Unload Me
frmAgenda.Show
frmAgenda.Top = 3000
frmAgenda.Left = 5000
End Sub
Option Explicit
Rem Função de movimentação do form sem barra de título:
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal
hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As
Long
Private Declare Function ReleaseCapture Lib "USER32" () As Long
Rem Declaração das variáveis do aplicativo
Dim Ind As Integer, ind2 As Integer, Pagina As Integer, Pag_Atual As Integer, SA As
Integer, I2 As Integer, Pag As Integer, iARQ As Integer, II As Integer
142
Dim INI_Parametre(1 To 2) As String, Nome As String, Status As String, NomeO As
String, FoneO As String, Status2 As String, Letra_Atual As String, Nome_Atual As
String, Letra_Salvar As String, Letra_Pesquisa As String
Rem Função de leitura dos arquivos .dat
Private Function Separate_Parametre(ByVal Text As String) As String
Dim I As Integer
For I = 1 To Len(Text)
If Mid$(Text, I, 1) = "=" Then
Separate_Parametre = Trim(Left$(Text, I - 1))
Exit For
End If
Next I
End Function
Rem Função de leitura dos arquivos .dat
Private Function Separate_Value(ByVal Text As String) As String
Dim I As Integer
For I = 1 To Len(Text)
If Mid$(Text, I, 1) = "=" Then
Separate_Value = Trim(Right$(Text, Len(Text) - I))
Exit For
End If
Next I
End Function
Rem Função para inibir os frames editore
Function Inibe_Frames()
fraCampos1.Visible = False
fraCampos2.Visible = False
fraCampos3.Visible = False
fraCampos4.Visible = False
fraCampos5.Visible = False
End Function
Rem Função para salvar a agenda
143
Function Salva(ByVal sFileINI As String)
ind2 = 0
iARQ = FreeFile
Select Case Pagina
Case 1
Open sFileINI For Output As iARQ
Print #iARQ, "{ Página 1 }"
For ind2 = 0 To 4 Step 1
Print #iARQ, "Nome" & ind2 & "=" & txtNome(ind2)
Print #iARQ, "Telefone" & ind2 & "=" & txtFone(ind2)
Next
Close iARQ
Inibe_Frames
Habilita_Tudo2
lblCopyright.Caption = ".:: Agenda Telefônica"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Case 2
Open sFileINI For Output As iARQ
Print #iARQ, "{ Página 2 }"
For ind2 = 5 To 9 Step 1
Print #iARQ, "Nome" & ind2 & "=" & txtNome(ind2 - 5)
Print #iARQ, "Telefone" & ind2 & "=" & txtFone(ind2 - 5)
Next
Close iARQ
Inibe_Frames
Habilita_Tudo2
lblCopyright.Caption = ".:: Agenda Telefônica"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Case 3
Open sFileINI For Output As iARQ
144
Print #iARQ, "{ Página 3 }"
For ind2 = 10 To 14 Step 1
Print #iARQ, "Nome" & ind2 & "=" & txtNome(ind2 - 10)
Print #iARQ, "Telefone" & ind2 & "=" & txtFone(ind2 - 10)
Next
Close iARQ
Inibe_Frames
Habilita_Tudo2
lblCopyright.Caption = ".:: Agenda Telefônica"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Case 4
Open sFileINI For Output As iARQ
Print #iARQ, "{ Página 4 }"
For ind2 = 15 To 19 Step 1
Print #iARQ, "Nome" & ind2 & "=" & txtNome(ind2 - 15)
Print #iARQ, "Telefone" & ind2 & "=" & txtFone(ind2 - 15)
Next
Close iARQ
Inibe_Frames
Habilita_Tudo2
lblCopyright.Caption = ".:: Agenda Telefônica"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Case 5
Open sFileINI For Output As iARQ
Print #iARQ, "{ Página 5 }"
For ind2 = 20 To 24 Step 1
Print #iARQ, "Nome" & ind2 & "=" & txtNome(ind2 - 20)
Print #iARQ, "Telefone" & ind2 & "=" & txtFone(ind2 - 20)
Next
Close iARQ
Inibe_Frames
Habilita_Tudo2
145
lblCopyright.Caption = ".:: Agenda Telefônica"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Case 6
Open sFileINI For Output As iARQ
Print #iARQ, "{ Página 6 }"
For ind2 = 25 To 29 Step 1
Print #iARQ, "Nome" & ind2 & "=" & txtNome(ind2 - 25)
Print #iARQ, "Telefone" & ind2 & "=" & txtFone(ind2 - 25)
Next
Close iARQ
Inibe_Frames
Habilita_Tudo2
lblCopyright.Caption = ".:: Agenda Telefônica"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Case 7
Open sFileINI For Output As iARQ
Print #iARQ, "{ Página 7 }"
For ind2 = 30 To 34 Step 1
Print #iARQ, "Nome" & ind2 & "=" & txtNome(ind2 - 30)
Print #iARQ, "Telefone" & ind2 & "=" & txtFone(ind2 - 30)
Next
Close iARQ
Inibe_Frames
Habilita_Tudo2
lblCopyright.Caption = ".:: Agenda Telefônica"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Case 8
Open sFileINI For Output As iARQ
Print #iARQ, "{ Página 8 }"
For ind2 = 35 To 39 Step 1
Print #iARQ, "Nome" & ind2 & "=" & txtNome(ind2 - 35)
146
Print #iARQ, "Telefone" & ind2 & "=" & txtFone(ind2 - 35)
Next
Close iARQ
Inibe_Frames
Habilita_Tudo2
lblCopyright.Caption = ".:: Agenda Telefônica"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Case 9
Open sFileINI For Output As iARQ
Print #iARQ, "{ Página 9 }"
For ind2 = 40 To 44 Step 1
Print #iARQ, "Nome" & ind2 & "=" & txtNome(ind2 - 40)
Print #iARQ, "Telefone" & ind2 & "=" & txtFone(ind2 - 40)
Next
Close iARQ
Inibe_Frames
Habilita_Tudo2
lblCopyright.Caption = ".:: Agenda Telefônica"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Case 10
Open sFileINI For Output As iARQ
Print #iARQ, "{ Página 10 }"
For ind2 = 45 To 49 Step 1
Print #iARQ, "Nome" & ind2 & "=" & txtNome(ind2 - 45)
Print #iARQ, "Telefone" & ind2 & "=" & txtFone(ind2 - 45)
Next
Close iARQ
Inibe_Frames
Habilita_Tudo2
lblCopyright.Caption = ".:: Agenda Telefônica"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
147
End Select
End Function
Rem Função para mostrar a agenda
Function Mostra_Letra(Letra As String)
Mostra
Dim sLine As String
Dim iARQ As Integer
Select Case Pagina
Case 1
Primeiro.Enabled = False
Anterior.Enabled = False
Proximo.Enabled = True
Ultimo.Enabled = True
Case 10
Primeiro.Enabled = True
Anterior.Enabled = True
Proximo.Enabled = False
Ultimo.Enabled = False
Case Else
Primeiro.Enabled = True
Anterior.Enabled = True
Proximo.Enabled = True
Ultimo.Enabled = True
End Select
SA = 0
lblTot.Visible = True
lblPag.Visible = True
lblPagina.Visible = True
lblPagina.Caption = Pagina
For SA = 0 To 4 Step 1
iARQ = FreeFile
Open (App.Path & "\Dat\" & Letra & "\" & Pagina & ".dat") For Input As iARQ
148
Do While Not EOF(iARQ)
Line Input #iARQ, sLine
Select Case Pagina
Case 1
Select Case Separate_Parametre(sLine)
Case "Nome" & SA
INI_Parametre(1) = Separate_Value(sLine)
Case "Telefone" & SA
INI_Parametre(2) = Separate_Value(sLine)
End Select
Case 2
Select Case Separate_Parametre(sLine)
Case "Nome" & (SA + 5)
INI_Parametre(1) = Separate_Value(sLine)
Case "Telefone" & (SA + 5)
INI_Parametre(2) = Separate_Value(sLine)
End Select
Case 3
Select Case Separate_Parametre(sLine)
Case "Nome" & (SA + 10)
INI_Parametre(1) = Separate_Value(sLine)
Case "Telefone" & (SA + 10)
INI_Parametre(2) = Separate_Value(sLine)
End Select
Case 4
Select Case Separate_Parametre(sLine)
Case "Nome" & (SA + 15)
INI_Parametre(1) = Separate_Value(sLine)
Case "Telefone" & (SA + 15)
INI_Parametre(2) = Separate_Value(sLine)
End Select
Case 5
Select Case Separate_Parametre(sLine)
Case "Nome" & (SA + 20)
149
INI_Parametre(1) = Separate_Value(sLine)
Case "Telefone" & (SA + 20)
INI_Parametre(2) = Separate_Value(sLine)
End Select
Case 6
Select Case Separate_Parametre(sLine)
Case "Nome" & (SA + 25)
INI_Parametre(1) = Separate_Value(sLine)
Case "Telefone" & (SA + 25)
INI_Parametre(2) = Separate_Value(sLine)
End Select
Case 7
Select Case Separate_Parametre(sLine)
Case "Nome" & (SA + 30)
INI_Parametre(1) = Separate_Value(sLine)
Case "Telefone" & (SA + 30)
INI_Parametre(2) = Separate_Value(sLine)
End Select
Case 8
Select Case Separate_Parametre(sLine)
Case "Nome" & (SA + 35)
INI_Parametre(1) = Separate_Value(sLine)
Case "Telefone" & (SA + 35)
INI_Parametre(2) = Separate_Value(sLine)
End Select
Case 9
Select Case Separate_Parametre(sLine)
Case "Nome" & (SA + 40)
INI_Parametre(1) = Separate_Value(sLine)
Case "Telefone" & (SA + 40)
INI_Parametre(2) = Separate_Value(sLine)
End Select
Case 10
Select Case Separate_Parametre(sLine)
150
Case "Nome" & (SA + 45)
INI_Parametre(1) = Separate_Value(sLine)
Case "Telefone" & (SA + 45)
INI_Parametre(2) = Separate_Value(sLine)
End Select
End Select
Loop
Close iARQ
txtNome(SA).Text = INI_Parametre(1)
txtFone(SA).Text = INI_Parametre(2)
lblMostraNome(SA).Caption = INI_Parametre(1)
lblMostraTelefone(SA).Caption = INI_Parametre(2)
Next
End Function
Function Inibe()
Ultimo.Visible = False
Anterior.Visible = False
Proximo.Visible = False
Primeiro.Visible = False
For SA = 0 To 4 Step 1
lblNome(SA).Visible = False
lblTelefone(SA).Visible = False
txtNome(SA).Visible = False
txtFone(SA).Visible = False
Next
End Function
Function Mostra()
Ultimo.Visible = True
Anterior.Visible = True
Proximo.Visible = True
Primeiro.Visible = True
For SA = 0 To 4 Step 1
151
lblNome(SA).Visible = True
lblTelefone(SA).Visible = True
txtNome(SA).Visible = True
txtFone(SA).Visible = True
Next
End Function
Private Sub Anterior_MouseDown(Button As Integer, Shift As Integer, x As Single, y
As Single)
Pagina = Pagina - 1
Mostra_Letra ((Mid(fra2.Caption, 1, 1)))
End Sub
Private Sub Anterior_MouseMove(Button As Integer, Shift As Integer, x As Single, y
As Single)
Anterior.FontUnderline = True
End Sub
Private Sub Form_Load()
Pagina = 1
Mostra_Letra (A)
fra2.Caption = "A:"
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Dim rec&
If Button And 1 Then
ReleaseCapture
rec& = SendMessage(Me.hWnd, &HA1, 2, 0&)
End If
End Sub
Function Reseta_Labels1()
lblSair.FontUnderline = False
152
lblPesquisar.FontUnderline = False
lblIncluir.FontUnderline = False
lblExcluir.FontUnderline = False
End Function
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
Reseta_Labels1
End Sub
Private Sub fra1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Dim rec&
If Button And 1 Then
ReleaseCapture
rec& = SendMessage(Me.hWnd, &HA1, 2, 0&)
End If
End Sub
Private Sub fra2_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Dim rec&
If Button And 1 Then
ReleaseCapture
rec& = SendMessage(Me.hWnd, &HA1, 2, 0&)
End If
End Sub
Function Inibe_Controles()
Anterior.FontUnderline = False
Proximo.FontUnderline = False
Ultimo.FontUnderline = False
Primeiro.FontUnderline = False
End Function
153
Private Sub fra2_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
Reseta_Labels1
Inibe_Controles
End Sub
Private Sub lblExcluir_MouseDown(Button As Integer, Shift As Integer, x As Single, y
As Single)
If fraCampos1.Visible = True Then
txtNome(0).Text = ""
txtFone(0).Text = ""
Desabilita_Tudo2
Pag_Atual = Pagina
lblCopyright.Caption = Space(15) & ".:: Excluindo"
Salva (App.Path & "\Dat\" & (Mid(fra2.Caption, 1, 1)) & "\" & Pagina & ".dat")
End If
If fraCampos2.Visible = True Then
txtNome(1).Text = ""
txtFone(1).Text = ""
Desabilita_Tudo2
Pag_Atual = Pagina
lblCopyright.Caption = Space(15) & ".:: Excluindo"
Salva (App.Path & "\Dat\" & (Mid(fra2.Caption, 1, 1)) & "\" & Pagina & ".dat")
End If
If fraCampos3.Visible = True Then
txtNome(2).Text = ""
txtFone(2).Text = ""
Desabilita_Tudo2
Pag_Atual = Pagina
lblCopyright.Caption = Space(15) & ".:: Excluindo"
Salva (App.Path & "\Dat\" & (Mid(fra2.Caption, 1, 1)) & "\" & Pagina & ".dat")
End If
If fraCampos4.Visible = True Then
154
txtNome(3).Text = ""
txtFone(3).Text = ""
Desabilita_Tudo2
Pag_Atual = Pagina
lblCopyright.Caption = Space(15) & ".:: Excluindo"
Salva (App.Path & "\Dat\" & (Mid(fra2.Caption, 1, 1)) & "\" & Pagina & ".dat")
End If
If fraCampos5.Visible = True Then
txtNome(4).Text = ""
txtFone(4).Text = ""
Desabilita_Tudo2
Pag_Atual = Pagina
lblCopyright.Caption = Space(15) & ".:: Excluindo"
Salva (App.Path & "\Dat\" & (Mid(fra2.Caption, 1, 1)) & "\" & Pagina & ".dat")
End If
End Sub
Private Sub lblExcluir_MouseMove(Button As Integer, Shift As Integer, x As Single, y
As Single)
lblExcluir.FontUnderline = True
End Sub
Private Sub lblIncluir_MouseDown(Button As Integer, Shift As Integer, x As Single, y
As Single)
If fraCampos1.Visible = True Then
Letra_Salvar = (Mid(txtNome(0).Text, 1, 1))
End If
If fraCampos2.Visible = True Then
Letra_Salvar = (Mid(txtNome(1).Text, 1, 1))
End If
If fraCampos3.Visible = True Then
Letra_Salvar = (Mid(txtNome(2).Text, 1, 1))
End If
If fraCampos4.Visible = True Then
155
Letra_Salvar = (Mid(txtNome(3).Text, 1, 1))
End If
If fraCampos5.Visible = True Then
Letra_Salvar = (Mid(txtNome(4).Text, 1, 1))
End If
If (Mid(fra2.Caption, 1, 1)) <> UCase(Letra_Salvar) Then
MsgBox "Nome diferente da letra da agenda!", vbCritical
Else
Desabilita_Tudo2
Pag_Atual = Pagina
lblCopyright.Caption = Space(15) & ".:: Salvando"
Salva (App.Path & "\Dat\" & (Mid(fra2.Caption, 1, 1)) & "\" & Pagina & ".dat")
End If
End Sub
Private Sub lblIncluir_MouseMove(Button As Integer, Shift As Integer, x As Single, y
As Single)
lblIncluir.FontUnderline = True
End Sub
Private Sub lblNome_MouseDown(Index As Integer, Button As Integer, Shift As
Integer, x As Single, y As Single)
Select Case Index
Case 0
Desabilita_Tudo
fraCampos1.Visible = True
NomeO = txtNome(0).Text
FoneO = txtFone(0).Text
Case 1
Desabilita_Tudo
fraCampos2.Visible = True
NomeO = txtNome(1).Text
FoneO = txtFone(1).Text
Case 2
156
Desabilita_Tudo
fraCampos3.Visible = True
NomeO = txtNome(2).Text
FoneO = txtFone(2).Text
Case 3
Desabilita_Tudo
fraCampos4.Visible = True
NomeO = txtNome(3).Text
FoneO = txtFone(3).Text
Case 4
Desabilita_Tudo
fraCampos5.Visible = True
NomeO = txtNome(4).Text
FoneO = txtFone(4).Text
End Select
End Sub
Function Desabilita_Tudo()
fra1.Enabled = False
A.Enabled = False
B.Enabled = False
C.Enabled = False
D.Enabled = False
E.Enabled = False
F.Enabled = False
G.Enabled = False
H.Enabled = False
I.Enabled = False
J.Enabled = False
L.Enabled = False
M.Enabled = False
N.Enabled = False
O.Enabled = False
P.Enabled = False
157
Q.Enabled = False
R.Enabled = False
S.Enabled = False
T.Enabled = False
U.Enabled = False
V.Enabled = False
XA.Enabled = False
Z.Enabled = False
W.Enabled = False
YA.Enabled = False
Anterior.Enabled = False
Proximo.Enabled = False
Ultimo.Enabled = False
Primeiro.Enabled = False
For II = 0 To 4 Step 1
lblNome(II).Enabled = False
lblTelefone(II).Enabled = False
lblMostraNome(II).Enabled = False
lblMostraTelefone(II).Enabled = False
Next
lblPag.Enabled = False
lblPagina.Enabled = False
lblPesquisar.Enabled = False
lblTot.Enabled = False
lblIncluir.Enabled = True
lblExcluir.Enabled = True
End Function
Function Habilita_Tudo()
fra1.Enabled = True
A.Enabled = True
B.Enabled = True
C.Enabled = True
D.Enabled = True
158
E.Enabled = True
F.Enabled = True
G.Enabled = True
H.Enabled = True
I.Enabled = True
J.Enabled = True
L.Enabled = True
M.Enabled = True
N.Enabled = True
O.Enabled = True
P.Enabled = True
Q.Enabled = True
R.Enabled = True
S.Enabled = True
T.Enabled = True
U.Enabled = True
V.Enabled = True
XA.Enabled = True
Z.Enabled = True
W.Enabled = True
YA.Enabled = True
Select Case Pagina
Case 1
Primeiro.Enabled = False
Anterior.Enabled = False
Proximo.Enabled = True
Ultimo.Enabled = True
Case 10
Primeiro.Enabled = True
Anterior.Enabled = True
Proximo.Enabled = False
Ultimo.Enabled = False
Case Else
Primeiro.Enabled = True
159
Anterior.Enabled = True
Proximo.Enabled = True
Ultimo.Enabled = True
End Select
For II = 0 To 4 Step 1
lblNome(II).Enabled = True
lblTelefone(II).Enabled = True
lblMostraNome(II).Enabled = True
lblMostraTelefone(II).Enabled = True
Next
lblPag.Enabled = True
lblPagina.Enabled = True
lblPesquisar.Enabled = True
lblTot.Enabled = True
lblIncluir.Enabled = False
lblExcluir.Enabled = False
End Function
Function Desabilita_Tudo2()
fra1.Enabled = False
fra2.Enabled = False
A.Enabled = False
B.Enabled = False
C.Enabled = False
D.Enabled = False
E.Enabled = False
F.Enabled = False
G.Enabled = False
H.Enabled = False
I.Enabled = False
J.Enabled = False
L.Enabled = False
M.Enabled = False
N.Enabled = False
160
O.Enabled = False
P.Enabled = False
Q.Enabled = False
R.Enabled = False
S.Enabled = False
T.Enabled = False
U.Enabled = False
V.Enabled = False
XA.Enabled = False
Z.Enabled = False
W.Enabled = False
YA.Enabled = False
Anterior.Enabled = False
Proximo.Enabled = False
Ultimo.Enabled = False
Primeiro.Enabled = False
For II = 0 To 4 Step 1
lblNome(II).Enabled = False
lblTelefone(II).Enabled = False
lblMostraNome(II).Enabled = False
lblMostraTelefone(II).Enabled = False
Next
lblPag.Enabled = False
lblPagina.Enabled = False
lblPesquisar.Enabled = False
lblTot.Enabled = False
lblIncluir.Enabled = False
lblExcluir.Enabled = False
lblSair.Enabled = False
End Function
Function Habilita_Tudo2()
fra1.Enabled = True
fra2.Enabled = True
161
A.Enabled = True
B.Enabled = True
C.Enabled = True
D.Enabled = True
E.Enabled = True
F.Enabled = True
G.Enabled = True
H.Enabled = True
I.Enabled = True
J.Enabled = True
L.Enabled = True
M.Enabled = True
N.Enabled = True
O.Enabled = True
P.Enabled = True
Q.Enabled = True
R.Enabled = True
S.Enabled = True
T.Enabled = True
U.Enabled = True
V.Enabled = True
XA.Enabled = True
Z.Enabled = True
W.Enabled = True
YA.Enabled = True
Select Case Pagina
Case 1
Primeiro.Enabled = False
Anterior.Enabled = False
Proximo.Enabled = True
Ultimo.Enabled = True
Case 10
Primeiro.Enabled = True
Anterior.Enabled = True
162
Proximo.Enabled = False
Ultimo.Enabled = False
Case Else
Primeiro.Enabled = True
Anterior.Enabled = True
Proximo.Enabled = True
Ultimo.Enabled = True
End Select
For II = 0 To 4 Step 1
lblNome(II).Enabled = True
lblTelefone(II).Enabled = True
lblMostraNome(II).Enabled = True
lblMostraTelefone(II).Enabled = True
Next
lblPag.Enabled = True
lblPagina.Enabled = True
lblPesquisar.Enabled = True
lblTot.Enabled = True
lblSair.Enabled = True
End Function
Private Sub lblPesquisar_MouseMove(Button As Integer, Shift As Integer, x As Single,
y As Single)
lblPesquisar.FontUnderline = True
End Sub
Private Sub lblSair_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Unload Me
End Sub
Private Sub lblSair_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
lblSair.FontUnderline = True
End Sub
163
Private Sub lblSobre_MouseMove(Button As Integer, Shift As Integer, x As Single, y
As Single)
lblSobre.FontUnderline = True
End Sub
Private Sub lblVoltar_MouseDown(Index As Integer, Button As Integer, Shift As
Integer, x As Single, y As Single)
Select Case Index
Case 10
If Status2 = "" Then
txtNome(0).Text = NomeO
txtFone(0).Text = FoneO
Else
End If
Habilita_Tudo
fraCampos1.Visible = False
Case 0
If Status2 = "" Then
txtNome(1).Text = NomeO
txtFone(1).Text = FoneO
Else
End If
Habilita_Tudo
fraCampos2.Visible = False
Case 1
If Status2 = "" Then
txtNome(2).Text = NomeO
txtFone(2).Text = FoneO
Else
End If
Habilita_Tudo
fraCampos3.Visible = False
Case 2
164
If Status2 = "" Then
txtNome(3).Text = NomeO
txtFone(3).Text = FoneO
Else
End If
Habilita_Tudo
fraCampos5.Visible = False
Case 3
If Status2 = "" Then
txtNome(4).Text = NomeO
txtFone(4).Text = FoneO
Else
End If
Habilita_Tudo
fraCampos4.Visible = False
End Select
End Sub
Private Sub Primeiro_MouseDown(Button As Integer, Shift As Integer, x As Single, y
As Single)
Pagina = 1
Mostra_Letra ((Mid(fra2.Caption, 1, 1)))
End Sub
Private Sub Primeiro_MouseMove(Button As Integer, Shift As Integer, x As Single, y
As Single)
Primeiro.FontUnderline = True
End Sub
Private Sub Proximo_MouseDown(Button As Integer, Shift As Integer, x As Single, y
As Single)
Pagina = Pagina + 1
Mostra_Letra ((Mid(fra2.Caption, 1, 1)))
End Sub
Private Sub Proximo_MouseMove(Button As Integer, Shift As Integer, x As Single, y
As Single)
Proximo.FontUnderline = True
165
End Sub
Private Sub Tmr_Mostra_Label_Timer()
lblNome(I2).BorderStyle = 0
End Sub
Private Sub Ultimo_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 10
Mostra_Letra ((Mid(fra2.Caption, 1, 1)))
End Sub
Private Sub Ultimo_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
Ultimo.FontUnderline = True
End Sub
Rem Ao passar o mouse sobre o fra1 todas as letras _
ficam não sublinhadas:
Private Sub fra1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
A.FontUnderline = False
B.FontUnderline = False
C.FontUnderline = False
D.FontUnderline = False
E.FontUnderline = False
F.FontUnderline = False
G.FontUnderline = False
H.FontUnderline = False
I.FontUnderline = False
J.FontUnderline = False
L.FontUnderline = False
M.FontUnderline = False
N.FontUnderline = False
O.FontUnderline = False
166
P.FontUnderline = False
Q.FontUnderline = False
R.FontUnderline = False
S.FontUnderline = False
T.FontUnderline = False
U.FontUnderline = False
V.FontUnderline = False
XA.FontUnderline = False
Z.FontUnderline = False
W.FontUnderline = False
YA.FontUnderline = False
End Sub
Rem Ao passar o mouse sobre os labels esses ficam _
sublinhados:
Private Sub A_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
A.FontUnderline = True
End Sub
Private Sub B_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
B.FontUnderline = True
End Sub
Private Sub C_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
C.FontUnderline = True
End Sub
Private Sub D_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
D.FontUnderline = True
End Sub
Private Sub E_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
E.FontUnderline = True
167
End Sub
Private Sub F_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
F.FontUnderline = True
End Sub
Private Sub G_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
G.FontUnderline = True
End Sub
Private Sub H_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
H.FontUnderline = True
End Sub
Private Sub I_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
I.FontUnderline = True
End Sub
Private Sub J_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
J.FontUnderline = True
End Sub
Private Sub L_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
L.FontUnderline = True
End Sub
Private Sub M_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
M.FontUnderline = True
End Sub
Private Sub N_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
N.FontUnderline = True
End Sub
168
Private Sub O_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
O.FontUnderline = True
End Sub
Private Sub P_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
P.FontUnderline = True
End Sub
Private Sub Q_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
Q.FontUnderline = True
End Sub
Private Sub R_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
R.FontUnderline = True
End Sub
Private Sub S_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
S.FontUnderline = True
End Sub
Private Sub T_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
T.FontUnderline = True
End Sub
Private Sub U_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
U.FontUnderline = True
End Sub
Private Sub V_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
V.FontUnderline = True
End Sub
Private Sub XA_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
169
XA.FontUnderline = True
End Sub
Private Sub Z_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
Z.FontUnderline = True
End Sub
Private Sub W_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
W.FontUnderline = True
End Sub
Private Sub YA_MouseMove(Button As Integer, Shift As Integer, x As Single, y As
Single)
YA.FontUnderline = True
End Sub
Rem Quando clicar em uma das letras o caption do fra2 _
assume o nome da letra, e carrega a agenda:
Private Sub A_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("A")
fra2.Caption = "A:"
End Sub
Private Sub B_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("B")
fra2.Caption = "B:"
End Sub
Private Sub C_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("C")
fra2.Caption = "C:"
170
End Sub
Private Sub D_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("D")
fra2.Caption = "D:"
End Sub
Private Sub E_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("E")
fra2.Caption = "E:"
End Sub
Private Sub F_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("F")
fra2.Caption = "F:"
End Sub
Private Sub G_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("G")
fra2.Caption = "G:"
End Sub
Private Sub H_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("H")
fra2.Caption = "H:"
End Sub
Private Sub I_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
171
Mostra_Letra ("I")
fra2.Caption = "I:"
End Sub
Private Sub J_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("J")
fra2.Caption = "J:"
End Sub
Private Sub L_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("L")
fra2.Caption = "L:"
End Sub
Private Sub M_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("M")
fra2.Caption = "M:"
End Sub
Private Sub N_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("N")
fra2.Caption = "N:"
End Sub
Private Sub O_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("O")
fra2.Caption = "O:"
End Sub
172
Private Sub P_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("P")
fra2.Caption = "P:"
End Sub
Private Sub Q_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("Q")
fra2.Caption = "Q:"
End Sub
Private Sub R_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("R")
fra2.Caption = "R:"
End Sub
Private Sub S_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("S")
fra2.Caption = "S:"
End Sub
Private Sub T_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("T")
fra2.Caption = "T:"
End Sub
Private Sub U_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("U")
173
fra2.Caption = "U:"
End Sub
Private Sub V_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("V")
fra2.Caption = "V:"
End Sub
Private Sub XA_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("X")
fra2.Caption = "X:"
End Sub
Private Sub Z_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("Z")
fra2.Caption = "Z:"
End Sub
Private Sub YA_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("Y")
fra2.Caption = "Y:"
End Sub
Private Sub W_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)
Pagina = 1
Mostra_Letra ("W")
fra2.Caption = "W:"
End Sub
174
Private Sub lblPesquisar_MouseDown(Button As Integer, Shift As Integer, x As
Single, y As Single)
Desabilita_Tudo2
lblCopyright.Caption = Space(15) & ".:: Pesquisar"
I2 = 0
Status = 0
Pag_Atual = Pagina
Letra_Atual = (Mid(fra2.Caption, 1, 1))
Rem O usuário entra com o nome
Nome = InputBox("Digite o nome a ser pesquisado:")
Nome_Atual = Nome
Nome = UCase(Nome)
Letra_Pesquisa = UCase((Mid(Nome, 1, 1)))
If Nome = "" Then
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Habilita_Tudo2
Else
Mostra_Letra (Letra_Pesquisa)
fra2.Caption = Letra_Pesquisa & ":"
For Pag = 1 To 10 Step 1
Pagina = Pag
Mostra_Letra (Mid(fra2.Caption, 1, 1))
For I2 = 0 To 4 Step 1
If UCase(lblMostraNome(I2).Caption) = Nome Then
Habilita_Tudo2
Status = "1"
Tmr_Mostra_Label.Enabled = True
lblNome(I2).BorderStyle = 1
lblCopyright.Caption = ".:: Agenda Telefônica"
Exit Sub
End If
Next
Next
175
If Status = 0 Then
MsgBox "O nome " & Nome_Atual & " não foi encontrado!", vbInformation
Mostra_Letra (Letra_Atual)
fra2.Caption = Letra_Atual & ":"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Habilita_Tudo2
lblCopyright.Caption = ".:: Agenda Telefônica"
End If
End If
Mostra_Letra (Letra_Atual)
fra2.Caption = Letra_Atual & ":"
Pagina = Pag_Atual
Mostra_Letra (Mid(fra2.Caption, 1, 1))
Habilita_Tudo2
lblCopyright.Caption = ".:: Agenda Telefônica"
End Sub
176
Public rsVenda As New ADODB.Recordset
Public rsVendaDet As New ADODB.Recordset
Private Vfrase As String
Private rsProduto As New ADODB.Recordset
Private VProduto As String
Private rsCliente As New ADODB.Recordset
Private VCliente As String
Private Bruto As Currency
Private ContadorVenda As Integer
Private Const CB_FINDSTRING As Long = &H14C
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal
hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
177
lParam As Any) As Long
Public Function Combo_AutoCompletar(xCombo As ComboBox, ByVal xKeyAscii As
Long, Optional ByVal xUpperCase As Boolean = True) As Long
Dim lngFind As Long, intPos As Long, intLength As Long, tStr As String
With xCombo
If xKeyAscii = 8 Then
If .SelStart = 0 Then Exit Function
.SelStart = .SelStart - 1
.SelLength = Len(.Text)
.SelText = vbNullString
Else
intPos = .SelStart
tStr = .Text
.SelText = (Chr$(xKeyAscii))
' .SelText = IIf(xUpperCase, _
' UCase$(Chr$(xKeyAscii)), _
' LCase$(Chr$(xKeyAscii)))
End If
lngFind = SendMessage(.hWnd, CB_FINDSTRING, 0, ByVal .Text)
If lngFind = -1 Then
.Text = tStr
.SelStart = intPos
.SelLength = (Len(.Text) - intPos)
Combo_AutoCompletar = xKeyAscii
Else
intPos = .SelStart
intLength = Len(.List(lngFind)) - Len(.Text)
.SelText = .SelText & Right$(.List(lngFind), intLength)
.SelStart = intPos
.SelLength = intLength
End If
End With
End Function
178
Private Sub cboCliente_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
KeyAscii = Combo_AutoCompletar(cboCliente, KeyAscii)
End Sub
Private Sub cboCliente_LostFocus()
If cboCliente.Text = Empty Then
Exit Sub
Else
Dim VConNome As String
VConNome = Chr(39) & CStr(cboCliente.Text) & Chr(39)
Vfrase = "Select * from Clientes Where Nome_Cli=" & VConNome
Set rsConClientes = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
If rsConClientes.BOF = True And rsConClientes.EOF = True Then
'cliente não cadastrado
MsgBox "Cliente Não Encontrado, caso seja Cliente novo Cadastrar!",
vbInformation, "Atenção"
cboCliente.Text = ""
cboCliente.SetFocus
'fecha a conexão
rsConClientes.Close
Exit Sub
End If
txtCodCli.Text = rsConClientes("Cod_Cli")
End If
End Sub
179
Private Sub cboDescricao_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
KeyAscii = Combo_AutoCompletar(cboDescricao, KeyAscii)
End Sub
Private Sub HabilitaCampos()
txtCodPro.Enabled = True
cboDescricao.Enabled = True
txtQtd.Enabled = True
Command1.Enabled = True
Command2.Enabled = True
cboFormPagamento.Enabled = True
txtDesc.Enabled = True
txtJuros.Enabled = True
txtCodCli.Enabled = True
cboCliente.Enabled = True
End Sub
Private Sub cmdAltera_Click()
HabilitaCampos
cmdFinalizar.Enabled = False
cmdFechar.Enabled = False
cmdCalcular.Enabled = True
cmdAltera.Enabled = False
txtTotal.Text = Format(Bruto, "currency")
lblTotal.Caption = Format(Bruto, "currency")
lbltotal2.Caption = Bruto
End Sub
Private Sub cmdCalcular_Click()
Dim Vtotal As Currency
If fgItem.Rows = 1 Then
180
MsgBox "Não há produtos para finalizar Venda", vbOKOnly + vbExclamation,
"Aviso"
txtCodPro.SetFocus
Exit Sub
End If
If cboFormPagamento.Text = "Escolha a forma de Pagar" Then
MsgBox "Escolha a forma que o Cliente Pagará", vbOKOnly + vbExclamation,
"Aviso"
cboFormPagamento.SetFocus
Exit Sub
End If
If txtCodCli.Text = Empty Then
MsgBox "Entre com o código do Cliente para realizar a Venda!", vbOKOnly +
vbExclamation, "Aviso"
Exit Sub
End If
If cboCliente.Text = Empty Then
MsgBox "Entre com o Nome do Cliente para realizar a Venda!", vbOKOnly +
vbExclamation, "Aviso"
Exit Sub
End If
Bruto = CCur(txtTotal.Text)
If txtDesc.Text = 0 And txtJuros.Text = 0 Then
Vtotal = txtTotal.Text
ElseIf txtDesc.Text <> 0 Then
Vtotal = txtTotal.Text - txtTotal.Text * txtDesc.Text / 100
Else
Vtotal = txtTotal.Text + txtTotal.Text * txtJuros.Text / 100
End If
181
txtTotal.Text = Format(Vtotal, "currency")
lblTotal.Caption = Format(Vtotal, "currency")
lbltotal2.Caption = Vtotal
Desabilita
cmdFinalizar.Enabled = True
cmdCalcular.Enabled = False
cmdAltera.Enabled = True
cmdFechar.Enabled = False
End Sub
Private Sub Desabilita()
txtCodPro.Enabled = False
cboDescricao.Enabled = False
txtQtd.Enabled = False
Command1.Enabled = False
Command2.Enabled = False
cboFormPagamento.Enabled = False
txtDesc.Enabled = False
txtJuros.Enabled = False
txtCodCli.Enabled = False
cboCliente.Enabled = False
End Sub
Private Sub cmdCancelar_Click()
txtItem.Text = 1
txtCodPro.Text = ""
cboDescricao.Text = ""
txtQtd.Text = ""
txtPrecoUni.Text = ""
txtTotal.Text = "R$ 0,00"
With fgItem
.ColWidth(0) = 800
182
.ColWidth(1) = 2000
.ColWidth(2) = 3500
.ColWidth(3) = 1000
.ColWidth(4) = 2000
.ColWidth(5) = 1500
.Rows = 1
.TextMatrix(0, 0) = "Item"
.TextMatrix(0, 1) = "Código do Produto"
.TextMatrix(0, 2) = "Descrição"
.TextMatrix(0, 3) = "Quantidade"
.TextMatrix(0, 4) = "Preço Unitário"
.TextMatrix(0, 5) = "Subtotal"
End With
cboFormPagamento.Text = "Escolha a forma de Pagar"
txtDesc.Text = 0
txtCodCli.Text = ""
cboCliente.Text = ""
lblTotal.Caption = "R$ 0,00"
txtJuros.Text = 0
lstreferente.Clear
lbltotal2.Caption = "0,00"
HabilitaCampos
txtCodPro.SetFocus
cmdCalcular.Enabled = False
cmdFinalizar.Enabled = False
cmdAltera.Enabled = False
cmdFechar.Enabled = True
cmdCancelar.Enabled = False
End Sub
Private Sub cmdFechar_Click()
Unload Me
End Sub
183
Private Sub cmdFinalizar_Click()
Dim Vcontdor As Boolean
'Vcontadorvenda = lblVenda.Caption + 1
fgItem.RowSel = 1
Vcontador = False
rsVenda("Cod_Vend") = lblVenda.Caption
rsVenda("CodCli_Vend") = txtCodCli.Text
rsVenda("NomeCli_Vend") = cboCliente.Text
rsVenda("Funcionario_Vend") = lblVendedor.Caption
rsVenda("Data_Vend") = lblData.Caption
rsVenda.Update
Do Until Vcontador = True
rsVendaDet.AddNew
rsVendaDet("Item_VendDet") = fgItem.TextMatrix(fgItem.RowSel, Col)
rsVendaDet("CodPro_VendDet") = fgItem.TextMatrix(fgItem.RowSel, Col + 1)
rsVendaDet("DescPro_VendDet") = fgItem.TextMatrix(fgItem.RowSel, Col + 2)
rsVendaDet("Qtd_VendDet") = fgItem.TextMatrix(fgItem.RowSel, Col + 3)
rsVendaDet("Preco_VendDet") = fgItem.TextMatrix(fgItem.RowSel, Col + 4)
rsVendaDet("SubTotal_VendDet") = fgItem.TextMatrix(fgItem.RowSel, Col + 5)
rsVendaDet("CodVend_VendDet") = lblVenda.Caption
rsVendaDet("Cod_VendDet") = lblVenda.Caption
rsVendaDet("FormaPag_Vend") = cboFormPagamento.Text
rsVendaDet("Total_VendDet") = txtTotal.Text
rsVendaDet.Update
If fgItem.RowSel = fgItem.Rows - 1 Then
Vcontador = True
Else
fgItem.RowSel = fgItem.RowSel + 1
184
End If
Loop
cmdFinalizar.Enabled = False
cmdCancelar.Enabled = False
cmdAltera.Enabled = False
frmRecibo.Show
frmRecibo.Left = 4000
frmRecibo.Top = 1000
End Sub
Private Sub cmdNova_Click()
lblVenda.Caption = ContadorVenda
txtItem.Text = 1
txtCodPro.Text = ""
cboDescricao.Text = ""
txtQtd.Text = ""
txtPrecoUni.Text = ""
txtTotal.Text = "R$ 0,00"
With fgItem
.ColWidth(0) = 800
.ColWidth(1) = 2000
.ColWidth(2) = 3500
.ColWidth(3) = 1000
.ColWidth(4) = 2000
.ColWidth(5) = 1500
.Rows = 1
.TextMatrix(0, 0) = "Item"
.TextMatrix(0, 1) = "Código do Produto"
.TextMatrix(0, 2) = "Descrição"
.TextMatrix(0, 3) = "Quantidade"
.TextMatrix(0, 4) = "Preço Unitário"
.TextMatrix(0, 5) = "Subtotal"
End With
cboFormPagamento.Text = "Escolha a forma de Pagar"
185
txtDesc.Text = 0
txtCodCli.Text = ""
cboCliente.Text = ""
lblTotal.Caption = "R$ 0,00"
txtJuros.Text = 0
lstreferente.Clear
lbltotal2.Caption = "0,00"
HabilitaCampos
txtCodPro.SetFocus
cmdCalcular.Enabled = False
cmdFinalizar.Enabled = False
cmdAltera.Enabled = False
cmdFechar.Enabled = True
cmdCancelar.Enabled = False
cmdNova.Enabled = False
End Sub
Private Sub Command1_Click()
Dim Vtotal As Currency
If txtCodPro.Text = Empty Then
MsgBox "Entre com o Código do Produto", vbOKOnly + vbInformation, "Atenção"
txtCodPro.SetFocus
Exit Sub
End If
If cboDescricao.Text = Empty Then
MsgBox "Entre com a Descrição do Produto", vbOKOnly + vbInformation, "Atenção"
cboDescricao.SetFocus
Exit Sub
End If
If txtQtd.Text = Empty Then
186
MsgBox "Entre com a Quantidade de Produto", vbOKOnly + vbInformation,
"Atenção"
txtQtd.SetFocus
Exit Sub
End If
Vtotal = CCur(txtQtd.Text * txtPrecoUni.Text)
fgItem.AddItem txtItem.Text & Chr(9) & txtCodPro.Text & Chr(9) &
cboDescricao.Text & Chr(9) & txtQtd.Text & Chr(9) & txtPrecoUni.Text & Chr(9) &
Format(Vtotal, "Currency")
lblTotal.Caption = Format(lblTotal.Caption + Vtotal, "currency")
lbltotal2.Caption = lbltotal2.Caption + Vtotal
txtTotal.Text = Format(txtTotal.Text + Vtotal, "Currency")
txtItem.Text = txtItem.Text + 1
txtCodPro.Text = Empty
cboDescricao.Text = Empty
txtQtd.Text = Empty
txtPrecoUni.Text = Empty
txtCodPro.SetFocus
End Sub
Private Sub Command2_Click()
If fgItem.Row = 0 Then
MsgBox "Não há item selecionado para excluir!", vbOKOnly + vbExclamation,
"Aviso"
Exit Sub
End If
Dim Vsubtotal As Currency
If MsgBox("Deseja realmente excluir o produto?", vbYesNo + vbQuestion, "Aviso") =
vbYes Then
187
Vsubtotal = CCur(fgItem.TextMatrix(fgItem.RowSel, Col + 5))
lblTotal.Caption = Format(lblTotal.Caption - Vsubtotal, "currency")
lbltotal2.Caption = lbltotal2.Caption - Vsubtotal
txtTotal.Text = Format(txtTotal.Text - Vsubtotal, "Currency")
fgItem.RemoveItem (fgItem.RowSel)
txtCodPro.SetFocus
End If
End Sub
Private Sub Command3_Click()
frmConProdutos.Show
frmConProdutos.Top = 2000
frmConProdutos.Left = 2000
End Sub
Private Sub Command4_Click()
frmConClientes.Show
frmConClientes.Top = 2000
frmConClientes.Left = 2000
End Sub
Private Sub Form_Load()
lblVendedor.Caption = frmLogon.Vnome
lblData.Caption = Date
Dim Vcontador As Integer
fgItem.ColAlignment = center
rsVenda.Open "Vendas", mdiPrincipal.cnBiblioteca, adOpenKeyset, adLockOptimistic,
adCmdTable
rsVendaDet.Open "Vendas_Detalhes", mdiPrincipal.cnBiblioteca, adOpenKeyset,
adLockOptimistic, adCmdTable
If rsVenda.RecordCount = 0 Then
rsVenda.AddNew
188
Vcodigo = 1
lblVenda.Caption = Format(Vcodigo, "00000")
Else
rsVenda.MoveLast
Vcodigo = rsVenda("Cod_Vend")
Vcodigo = Vcodigo + 1
rsVenda.AddNew
lblVenda.Caption = Format(Vcodigo, "00000")
End If
With fgItem
.ColWidth(0) = 800
.ColWidth(1) = 2000
.ColWidth(2) = 3500
.ColWidth(3) = 1000
.ColWidth(4) = 2000
.ColWidth(5) = 1500
.Rows = 1
.TextMatrix(0, 0) = "Item"
.TextMatrix(0, 1) = "Código do Produto"
.TextMatrix(0, 2) = "Descrição"
.TextMatrix(0, 3) = "Quantidade"
.TextMatrix(0, 4) = "Preço Unitário"
.TextMatrix(0, 5) = "Subtotal"
End With
VProduto = "Select * from Produtos"
Set rsProduto = mdiPrincipal.cnBiblioteca.Execute(VProduto)
Do While Not rsProduto.EOF
cboDescricao.AddItem rsProduto("Nome_Pro")
rsProduto.MoveNext
Loop
189
VCliente = "Select * from Clientes"
Set rsCliente = mdiPrincipal.cnBiblioteca.Execute(VCliente)
Do While Not rsCliente.EOF
cboCliente.AddItem rsCliente("Nome_Cli")
rsCliente.MoveNext
Loop
End Sub
Private Sub Form_Unload(Cancel As Integer)
If rsVenda.EditMode Then
rsVenda.CancelUpdate
End If
rsVenda.Close
rsVendaDet.Close
End Sub
Private Sub txtCodCli_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
Private Sub txtCodCli_LostFocus()
If txtCodCli.Text = Empty Then
Exit Sub
Else
Dim VConCodigo As Integer
VConCodigo = CInt(txtCodCli.Text)
Vfrase = "Select * from Clientes Where Cod_Cli=" & VConCodigo
Set rsConClientes = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
If rsConClientes.BOF = True And rsConClientes.EOF = True Then
'cliente não cadastrado
190
MsgBox "Cliente Não Encontrado!", vbInformation, "Atenção"
txtCodCli.Text = ""
txtCodCli.SetFocus
'fecha a conexão
rsConClientes.Close
Exit Sub
End If
cboCliente.Text = rsConClientes("Nome_Cli")
End If
End Sub
Private Sub txtCodPro_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
Private Sub txtCodPro_LostFocus()
If txtCodPro.Text = Empty Then
Exit Sub
Else
Dim VConCodigo As Integer
VConCodigo = CInt(txtCodPro.Text)
Vfrase = "Select * from Produtos Where Cod_Pro=" & VConCodigo
Set rsConProdutos = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
If rsConProdutos.BOF = True And rsConProdutos.EOF = True Then
'cliente não cadastrado
MsgBox "Produto Não Encontrado!", vbInformation, "Atenção"
txtCodPro.Text = ""
txtCodPro.SetFocus
'fecha a conexão
rsConProdutos.Close
191
If cmdCalcular.Enabled = False Then
cmdCalcular.Enabled = False
cmdCancelar.Enabled = False
cmdFechar.Enabled = False
End If
Exit Sub
End If
cboDescricao.Text = rsConProdutos("Nome_Pro")
txtPrecoUni.Text = Format(rsConProdutos("Valor_Pro"), "currency")
cmdCalcular.Enabled = True
cmdCancelar.Enabled = True
cmdFechar.Enabled = False
End If
End Sub
Private Sub cboDescricao_LostFocus()
If cboDescricao.Text = Empty Then
Exit Sub
Else
Dim VConNome As String
VConNome = Chr(39) & CStr(cboDescricao.Text) & Chr(39)
Vfrase = "Select * from Produtos Where Nome_Pro=" & VConNome
Set rsConProdutos = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
If rsConProdutos.BOF = True And rsConProdutos.EOF = True Then
'cliente não cadastrado
MsgBox "Produto Não Encontrado!", vbInformation, "Atenção"
cboDescricao.Text = ""
cboDescricao.SetFocus
'fecha a conexão
rsConProdutos.Close
If cmdCalcular.Enabled = False Then
cmdCalcular.Enabled = False
192
cmdCancelar.Enabled = False
cmdFechar.Enabled = False
End If
Exit Sub
End If
txtCodPro.Text = rsConProdutos("Cod_Pro")
txtPrecoUni.Text = Format(rsConProdutos("Valor_Pro"), "Currency")
cmdCalcular.Enabled = True
cmdCancelar.Enabled = True
cmdFechar.Enabled = False
End If
End Sub
Private Sub txtDesc_Click()
txtJuros.Text = 0
txtJuros.Enabled = False
End Sub
Private Sub txtDesc_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
Private Sub txtDesc_LostFocus()
If txtDesc.Text = Empty Then
txtDesc.Text = 0
ElseIf txtDesc.Text > 0 Then
txtJuros.Enabled = False
End If
If txtDesc.Text = 0 Then
txtJuros.Enabled = True
193
End If
End Sub
Private Sub txtJuros_Click()
txtDesc.Text = 0
txtDesc.Enabled = False
End Sub
Private Sub txtJuros_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
Private Sub txtJuros_LostFocus()
If txtJuros.Text = Empty Then
txtJuros.Text = 0
ElseIf txtJuros.Text > 0 Then
txtDesc.Enabled = False
End If
If txtJuros.Text = 0 Then
txtDesc.Enabled = True
End If
End Sub
194
Dim S As Object
Private Sub Command2_Click()
'Dim S As Object
Dim str As String
If Not IsNumeric(Valor.Text) Then
MsgBox "Valor não aceito"
Valor.SetFocus
Exit Sub
End If
If Not IsDate(Data.Text) Then
MsgBox "Data não aceita"
Data.SetFocus
195
Exit Sub
End If
For M = 1 To Len(Valor.Text)
If Mid$(Valor.Text, M, 1) = "," Then
str = str + "."
Else
str = str & Mid$(Valor.Text, M, 1)
End If
Next M
'Set S = CreateObject("Word.Document")
S.Application.Visible = True
With S.Application.Selection
.EndKey Unit:=6
.Tables.Add range:=.range, NumRows:=1, NumColumns:=2,
DefaultTableBehavior:=1, AutoFitBehavior:=0
.Tables(1).Style = "Tabela com grade"
.Tables(1).ApplyStyleHeadingRows = True
.Tables(1).ApplyStyleLastRow = True
.Tables(1).ApplyStyleFirstColumn = True
.Tables(1).ApplyStyleLastColumn = True
.Style = S.Styles("Título 1")
.Borders(-1).LineStyle = 0
.Borders(-2).LineStyle = 0
.Borders(-3).LineStyle = 0
.Borders(-4).LineStyle = 0
.Borders(-4).LineStyle = 0
.Borders(-8).LineStyle = 0
.TypeText Text:="Recibo Nº: " & IEMOS.Text
.MoveRight Unit:=12
.Borders(-1).LineStyle = 0
.Borders(-2).LineStyle = 0
.Borders(-3).LineStyle = 0
.Borders(-4).LineStyle = 0
196
.Borders(-4).LineStyle = 0
.Borders(-8).LineStyle = 0
.Style = S.Styles("Normal")
.TypeText Text:="Valor: " & Format$(Val(str), "currency")
.MoveRight Unit:=12
.Style = S.Styles("Normal")
'.TypeText Text:=IEMOS.Text
.MoveRight Unit:=1, Count:=2, Extend:=1
.Cells.merge
.MoveRight Unit:=12
.TypeText Text:="Cliente: " & Endereco.Text
.MoveRight Unit:=12
.TypeText Text:="A importância de " & Extenso(str, "Reais", "Real")
.MoveRight Unit:=12
.TypeText Text:="Referente: " & referente.Text
.MoveRight Unit:=12
.MoveRight Unit:=12
.TypeText Text:=Lugar.Text & ", " & Day(Data.Text) & " de " &
MonthName(Month(Data.Text)) & " de " & Year(Data.Text)
.MoveRight Unit:=12
.MoveRight Unit:=12
.Cells.Split NumRows:=1, NumColumns:=2, MergeBeforeSplit:=False
.MoveLeft Unit:=1, Count:=1
.TypeText Text:="Emitente: " & Emitente.Text
.MoveRight Unit:=12
.TypeText Text:="CNPJ: " & Cpf.Text
.MoveRight Unit:=12
.MoveRight Unit:=1, Count:=2, Extend:=1
.Cells.merge
.TypeText Text:="Assinatura _______________________________"
.MoveDown Unit:=5, Count:=1
.TypeParagraph
End With
Unload Me
197
frmTelaVenda.cmdNova.Enabled = True
End Sub
Private Sub Form_Load()
' Valor.Text = 0
Data.Text = Date
Set S = CreateObject("Word.Document")
IEMOS.Text = frmTelaVenda.lblVenda.Caption
Valor.Text = frmTelaVenda.lbltotal2.Caption
Valor2.Text = frmTelaVenda.lblTotal.Caption
Endereco.Text = frmTelaVenda.cboCliente.Text
End Sub
Private Sub valor_Change()
Dim vlr
For M = 1 To Len(Valor.Text)
If Mid$(Valor.Text, M, 1) = "," Then
vlr = vlr + "."
Else
vlr = vlr & Mid$(Valor.Text, M, 1)
End If
Next M
If Not IsNumeric(vlr) Then Exit Sub
Ext.Text = Extenso(Val(vlr), "Reais", "Real")
End Sub
198
Private rsAlteraSenha As New ADODB.Recordset
Private Vatual As New ADODB.Recordset
Private Sub cmdCancelar_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
Dim vcriterio, VSenhaAtual As String
If txtAtual.Text = Empty Then
MsgBox "Digite a Senha Atual!", vbOKOnly + vbInformation, "Atenção"
txtAtual.SetFocus
Exit Sub
End If
If txtNova.Text = Empty Then
MsgBox "Digite a Nova Senha!", vbOKOnly + vbInformation, "Atenção"
txtNova.SetFocus
Exit Sub
End If
If txtConfirmar.Text = Empty Then
MsgBox "Digite a Confirmação da Senha!", vbOKOnly + vbInformation, "Atenção"
txtConfirmar.SetFocus
Exit Sub
End If
If Len(txtNova.Text) < 7 Then
MsgBox "Digite uma Nova Senha com no mínimo 7 caracteres!", vbOKOnly +
vbCritical, "Atenção"
txtNova.Text = Empty
txtConfirmar.Text = Empty
199
txtNova.SetFocus
Exit Sub
End If
If Not (txtNova.Text = txtConfirmar.Text) Then
MsgBox "Senha de Confirmação incorreta!", vbOKOnly + vbCritical, "Atenção"
txtConfirmar.Text = Empty
txtConfirmar.SetFocus
Exit Sub
End If
VSenhaAtual = Chr(39) & txtAtual.Text & Chr(39)
Vatual.Open "Select * from User_Sistema where Senha_Sist=" & VSenhaAtual,
mdiPrincipal.cnBiblioteca, adOpenKeyset, adLockPessimistic, adCmdText
If Vatual.RecordCount = 0 Then
MsgBox "Senha Atual incorreta!", vbOKOnly + vbCritical, "Atenção"
txtAtual.Text = Empty
txtAtual.SetFocus
Vatual.Close
Exit Sub
End If
vcriterio = Chr(39) & frmLogon.Vnome & Chr(39)
rsAlteraSenha.Open "Select * from User_Sistema where Usuario_Sist=" & vcriterio,
mdiPrincipal.cnBiblioteca, adOpenKeyset, adLockPessimistic, adCmdText
rsAlteraSenha("Senha_Sist") = txtNova.Text
rsAlteraSenha.Update
MsgBox "Senha Alterada com Sucesso!", vbOKOnly + vbInformation, "OK"
Unload Me
End Sub
200
� Altera o plano de fundo do programa, porém não salva definitivamente, pois ao
efetuar o logoff do sistema a tela a ser carregada novamente será a padrão, assim,
não descaracterizando o programa.
Option Explicit
Private Sub btnAplica_Click()
'ArquivoEscolhido é o caminho completo do arquivo selecionado
mdiPrincipal.Image1.Picture = LoadPicture(ArquivoEscolhido)
If opt(0).Value = True Then mdiPrincipal.CentraImagem
If opt(1).Value = True Then mdiPrincipal.EstendeImagem
If opt(2).Value = True Then mdiPrincipal.LadoaLadoImagem
If opt(3).Value = True Then mdiPrincipal.NormalImagem
End Sub
Private Sub btnCancela_Click()
Unload Me
End Sub
Private Sub btnOk_Click()
'ArquivoEscolhido é o caminho completo do arquivo selecionado
mdiPrincipal.Image1.Picture = LoadPicture(ArquivoEscolhido)
201
If opt(0).Value = True Then mdiPrincipal.CentraImagem
If opt(1).Value = True Then mdiPrincipal.EstendeImagem
If opt(2).Value = True Then mdiPrincipal.LadoaLadoImagem
If opt(3).Value = True Then mdiPrincipal.NormalImagem
Unload Me
End Sub
Private Sub Combo1_Click()
Select Case Combo1.Text
Case "Arquivos do Bitmap"
File1.Pattern = "*.bmp"
Case "Arquivos JPEG"
File1.Pattern = "*.Jpg;*.Jpg;"
Case "Arquivos GIF"
File1.Pattern = "*.gif"
Case "Arquivos de Imagem"
File1.Pattern = "*.bmp;*.Jpg;*.Jpeg;*.gif"
End Select
End Sub
Private Sub Dir1_Change()
Dim I As Integer
File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub File1_Click()
Image1.Picture = LoadPicture(Dir1 & "\" & File1.List(File1.ListIndex))
Call Redimencion(Image1, Picture1.Width, Picture1.Height)
ArquivoEscolhido = Dir1 & "\" & File1.List(File1.ListIndex)
End Sub
202
Private Sub Form_Load()
Combo1.AddItem "Arquivos de Imagem"
Combo1.AddItem "Arquivos do Bitmap"
Combo1.AddItem "Arquivos JPG e JPEG"
Combo1.AddItem "Arquivos GIF"
Combo1.ListIndex = 0
Dir1.Path = "C:\"
Image1.Picture = LoadPicture(ArquivoEscolhido)
Call Redimencion(Image1, Picture1.Width, Picture1.Height)
opt(OptionFundo).Value = True
End Sub
Sub Redimencion(img As Image, Optional largura As Double, Optional altura As
Double)
Dim vFator As Double
img.Stretch = False
vFator = largura / img.Width
img.Stretch = True
If img.Height * vFator > altura Then
img.Stretch = False
vFator = altura / img.Height
img.Stretch = True
ElseIf img.Width * vFator > largura Then
img.Stretch = False
vFator = largura / img.Width
img.Stretch = True
End If
img.Height = img.Height * vFator
img.Width = img.Width * vFator
img.Left = (largura / 2) - (img.Width / 2)
img.Top = (altura / 2) - (img.Height / 2)
End Sub
203
Private Sub opt_Click(Index As Integer)
Select Case Index
Case 0
OptionFundo = 0
Case 1
OptionFundo = 1
Case 2
OptionFundo = 2
Case 3
OptionFundo = 3
End Select
Image1.Picture = LoadPicture(ArquivoEscolhido)
Call Redimencion(Image1, Picture1.Width, Picture1.Height)
End Sub
204
Private Sub cmdOK_Click()
Unload Me
End Sub
205
Private rsUsuarios As New ADODB.Recordset
Private Sub cmdIncluir_Click()
Dim Vcodigo As Integer
If rsUsuarios.RecordCount = 0 Then
rsUsuarios.AddNew
Vcodigo = 1
txtCodUsuario.Text = Format(Vcodigo, "0000")
Else
rsUsuarios.MoveLast
Vcodigo = rsUsuarios("CodUser_Sist")
Vcodigo = Vcodigo + 1
rsUsuarios.AddNew
LimpaRegistro
txtCodUsuario.Text = Format(Vcodigo, "0000")
End If
HabilitaCampos
txtUsuario.SetFocus
206
cmdCancelar.Enabled = True
cmdFechar.Enabled = False
cmdIncluir.Enabled = False
cmdGravar.Enabled = True
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
End Sub
Private Sub cmdAlterar_Click()
HabilitaCampos
txtUsuario.SetFocus
cmdIncluir.Enabled = False
cmdFechar.Enabled = False
cmdCancelar.Enabled = True
cmdAlterar.Enabled = False
cmdGravar.Enabled = True
cmdExcluir.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
End Sub
Private Sub cmdAnterior_Click()
rsUsuarios.MovePrevious
If rsUsuarios.BOF Then
rsUsuarios.MoveFirst
End If
MostraRegistro
End Sub
207
Private Sub cmdCancelar_Click()
rsUsuarios.CancelUpdate
If rsUsuarios.RecordCount = 0 Then
LimpaRegistro
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdCancelar.Enabled = False
cmdGravar.Enabled = False
Else
MostraRegistro
cmdGravar.Enabled = False
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdPrimeiro.Enabled = True
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
End If
DesabilitaCampos
End Sub
Private Sub cmdExcluir_Click()
If MsgBox("Deseja excluir o Usuário?", vbYesNo + vbQuestion, "Atenção") = vbYes
Then
208
rsUsuarios.Delete
If rsUsuarios.RecordCount = 0 Then
LimpaRegistro
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
Else
rsUsuarios.MoveNext
If rsUsuarios.EOF Then
rsUsuarios.MoveLast
End If
MostraRegistro
End If
End If
End Sub
Private Sub cmdFechar_Click()
Unload Me
End Sub
Private Sub cmdGravar_Click()
If txtUsuario.Text = "" Then
MsgBox "O USUÁRIO é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtUsuario.SetFocus
Exit Sub
End If
If txtSenha.Text = "" Then
MsgBox "A SENHA é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtSenha.SetFocus
209
Exit Sub
End If
If txtNivel.Text = "" Then
MsgBox "O NIVEL é obrigatório!", vbOKOnly + vbInformation, "Aviso"
txtNivel.SetFocus
Exit Sub
End If
rsUsuarios("CodUser_Sist") = txtCodUsuario.Text
rsUsuarios("Usuario_Sist") = txtUsuario.Text
rsUsuarios("Senha_Sist") = txtSenha.Text
rsUsuarios("Nivel_Sist") = txtNivel.Text
rsUsuarios.Update
DesabilitaCampos
MsgBox "Dados do Usuário salvos com sucesso!!!", vbOKOnly + vbInformation,
"Aviso"
cmdCancelar.Enabled = False
cmdIncluir.Enabled = True
cmdFechar.Enabled = True
cmdGravar.Enabled = False
cmdPrimeiro.Enabled = True
cmdAnterior.Enabled = True
cmdProximo.Enabled = True
cmdUltimo.Enabled = True
cmdAlterar.Enabled = True
cmdExcluir.Enabled = True
End Sub
Private Sub cmdPrimeiro_Click()
rsUsuarios.MoveFirst
MostraRegistro
End Sub
210
Private Sub cmdProximo_Click()
rsUsuarios.MoveNext
If rsUsuarios.EOF Then
rsUsuarios.MoveLast
End If
MostraRegistro
End Sub
Private Sub cmdUltimo_Click()
rsUsuarios.MoveLast
MostraRegistro
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub Form_Load()
rsUsuarios.Open "User_Sistema", mdiPrincipal.cnBiblioteca, adOpenKeyset,
adLockOptimistic, adCmdTable
If rsUsuarios.RecordCount > 0 Then
MostraRegistro
Else
cmdExcluir.Enabled = False
cmdAlterar.Enabled = False
cmdPrimeiro.Enabled = False
cmdAnterior.Enabled = False
cmdProximo.Enabled = False
cmdUltimo.Enabled = False
End If
211
DesabilitaCampos
End Sub
Private Sub Form_Unload(Cancel As Integer)
rsUsuarios.Close
End Sub
Private Sub DesabilitaCampos()
txtUsuario.Enabled = False
txtSenha.Enabled = False
txtNivel.Enabled = False
End Sub
Private Sub MostraRegistro()
If Not IsNull(rsUsuarios("CodUser_Sist")) Then
txtCodUsuario.Text = Format(rsUsuarios("CodUser_Sist"), "0000")
Else
txtCodUsuario.Text = Empty
End If
If Not IsNull(rsUsuarios("Usuario_Sist")) Then
txtUsuario.Text = rsUsuarios("Usuario_Sist")
Else
txtUsuario.Text = Empty
End If
If Not IsNull(rsUsuarios("Senha_Sist")) Then
txtSenha.Text = rsUsuarios("Senha_Sist")
Else
txtSenha.Text = Empty
End If
If Not IsNull(rsUsuarios("Nivel_Sist")) Then
txtNivel.Text = rsUsuarios("Nivel_Sist")
Else
212
txtNivel.Text = Empty
End If
End Sub
Private Sub HabilitaCampos()
txtUsuario.Enabled = True
txtSenha.Enabled = True
txtNivel.Enabled = True
End Sub
Private Sub LimpaRegistro()
txtCodUsuario.Text = ""
txtUsuario.Text = ""
txtSenha.Text = ""
txtNivel.Text = ""
End Sub
Private Sub txtNivel_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
End Sub
Private Sub txtUsuario_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If
End Sub
213
Private Vfrase As String
Private rsConUsuarios As New ADODB.Recordset
Private Sub cboTipo_Click()
txtParametro.Text = ""
fgConsultaUser.Clear
With fgConsultaUser
.ColWidth(0) = 800
.ColWidth(1) = 3000
.ColWidth(2) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome do Usuário"
.TextArray(2) = "Nivel"
End With
If cboTipo.Text = "Todos" Then
txtParametro.Enabled = False
214
Else
txtParametro.Enabled = True
End If
End Sub
Private Sub fgConsultaUser_DblClick()
If fgConsultaUser.Row = 0 Then
Exit Sub
End If
frmUserSistema.Show
frmUserSistema.Left = 4000
frmUserSistema.Top = 2000
End Sub
Private Sub fgConsultaUser_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)
If fgConsultaUser.Rows > 1 Then
If fgConsultaUser.Row <> fgConsultaUser.MouseRow And
fgConsultaUser.MouseRow > 0 Then
fgConsultaUser.Col = 0
fgConsultaUser.Row = fgConsultaUser.MouseRow
fgConsultaUser.ColSel = fgConsultaUser.Cols - 1
End If
End If
End Sub
Private Sub Form_Load()
Toolbar1.Left = 11055
With fgConsultaUser
.ColWidth(0) = 800
.ColWidth(1) = 3000
.ColWidth(2) = 800
215
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome do Usuário"
.TextArray(2) = "Nivel"
End With
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
If Button.Key = "Sair" Then
Unload Me
ElseIf Button.Key = "Pesquisar" Then
If cboTipo.Text = "Escolha o tipo de Consulta" Then
MsgBox "Escolha o Tipo de Consulta desejada", vbOKOnly + vbInformation,
"Atenção"
cboTipo.SetFocus
Exit Sub
End If
If cboTipo.Text = "Por Código" Then
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
Exit Sub
End If
If Not IsNumeric(txtParametro.Text) Then
MsgBox "Entre com um número para o código!", vbOKOnly + vbInformation,
"Atenção"
txtParametro.Text = ""
txtParametro.SetFocus
Exit Sub
End If
216
Dim VConCodigo As Integer
VConCodigo = CInt(txtParametro.Text)
fgConsultaUser.Clear
Vfrase = "Select * from User_Sistema Where CodUser_Sist=" & VConCodigo
Set rsConUsuarios = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConUsuarios.BOF = True And rsConUsuarios.EOF = True Then
'cliente não cadastrado
MsgBox "Usuário Não Encontrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConUsuarios.Close
End If
ElseIf cboTipo.Text = "Por Nome" Then
Dim VConNome As String
If txtParametro.Text = "" Then
MsgBox "Entre com o parametro para realizar a consulta", vbOKOnly +
vbInformation, "Atenção"
txtParametro.SetFocus
Exit Sub
End If
VConNome = Chr(39) & CStr(txtParametro.Text) & "'"
fgConsultaUser.Clear
Vfrase = "Select * from User_Sistema Where Usuario_Sist LIKE" & VConNome
Set rsConUsuarios = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
EncheGrid
If rsConUsuarios.BOF = True And rsConUsuarios.EOF = True Then
'cliente não cadastrado
217
MsgBox "Usuário Não Encontrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConUsuarios.Close
End If
ElseIf cboTipo.Text = "Todos" Then
Vfrase = "Select * from User_Sistema order by Usuario_Sist"
Set rsConUsuarios = mdiPrincipal.cnBiblioteca.Execute(Vfrase)
' chama a funcao que preenche o grid
EncheGrid
If rsConUsuarios.BOF = True And rsConUsuarios.EOF = True Then
'cliente não cadastrado
MsgBox "Não há Usuário Cadastrado!", vbInformation, "Atenção"
txtParametro.Text = ""
'fecha a conexão
rsConUsuarios.Close
End If
End If
ElseIf Button.Key = "Nova" Then
fgConsultaUser.Clear
cboTipo.Text = "Escolha o tipo de Consulta"
txtParametro.Text = ""
With fgConsultaUser
.ColWidth(0) = 800
.ColWidth(1) = 3000
.ColWidth(2) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome do Usuário"
.TextArray(2) = "Nivel"
End With
218
cboTipo.SetFocus
End If
End Sub
Private Sub EncheGrid()
' forma o cabeçalho do fexgrid
With fgConsultaUser
.ColWidth(0) = 800
.ColWidth(1) = 3000
.ColWidth(2) = 800
.Rows = 1
.TextArray(0) = "Código"
.TextArray(1) = "Nome do Usuário"
.TextArray(2) = "Nivel"
End With
Do While Not rsConUsuarios.EOF
fgConsultaUser.AddItem rsConUsuarios("CodUser_Sist") & Chr(9) &
rsConUsuarios("Usuario_Sist") & Chr(9) & rsConUsuarios("Nivel_Sist")
rsConUsuarios.MoveNext
Loop
End Sub
Private Sub txtParametro_KeyPress(KeyAscii As Integer)
If cboTipo.Text = "Por Código" Then
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9") And KeyAscii <> 8) Then
KeyAscii = 0
End If
End If
If cboTipo.Text = "Por Nome" Then
If InStr("0123456789<>|\;,.?/[{}]+=§-_)(*&%$#@!*", Chr(KeyAscii)) <> 0 Then
219
KeyAscii = 0
End If
End If
End Sub
� Help File
Arquivo de ajuda aos usuários, onde contém todas as informações
necessárias para um bom desempenho perante o sistema.
220
Melhorias no Sistema.
Diante de tudo o que foi apresentado, todo e qualquer sistema deve ser
modelado aos poucos, após sua implantação passa ser um momento, de
diariamente levantar “falhas”, que de imediato deve ser corrigidas, porem o mais
importante, maneiras de se melhorar o programa, onde suprirá a necessidade da
instituição pela qual utiliza o sotfware desenvolvido.
Conforme se passa o tempo de sua utilização novas ferramentas serão
solicitadas em prol da agilidade e praticidade, segui a baixo melhorias já detectadas
pelo programador e que já estão em andamento medidas para prováveis soluções.
• Backup:
De acordo com o fluxo de informações, deve ser programado para se
fazer o backup dos dados.
A informação é o bem mais valioso de uma empresa, nelas estão o
“sangue que permite a empresa estar viva”.
• Relatórios:
Documento de grande importância, pois neles estarão implessos os
dados e informações para se dar continuidade no bom funcionamento da empresa,
“vivemos em um País capitalista e movido por números.”
• Contole de estoque:
Mantém o controle das mercadorias a serem vendidas de acordo com a
necessidade da demanda da loja, assim não deichando faltar as devidas
mercadorias, pois sua fonte de lucros vem das vendas.
• Consulta das Vendas:
Necessário para que possa ser emitido a 2º via do recibo, e possíveis
reclamações futuras, comprovante.
221
Conclusão
Dentre todas as fases que se tem até chegarmos no melhor, para que o
programa desenvolvido seja satisfatório e atenda toda necessidade, temos que
atentar e seguir da melhor maneira todas elas, tais como:
• Estudo;
• Análise;
• Projetos;
• Implementação;
• Simulação;
• Implantação;
• Operação e
• Manutenção.
Assim trabalhando em equipe, com Analista, Programador e Projetista.
Todo Sistema há falhas, isso consiste em detecta-los e corrigi-los tão
breve possível.
É de grande importância passar por todos esses métodos, assim
podemos adquirir experiências, pois conforme o tempo se passa pode-se ir
modelando as técnicas e métodos.
“O Diamante como outras pedras preciosas, são encontradas na sua forma
Bruta, mas basta apenas Lapidar, que veremos o brilho que encanta.”
222
Referência Bibliográfica
Significado de algumas palavras retiradas do dicionário:
DIC Michaelis Escolar – Versão 2.0 – Agosto de 2002
Editora Melhoramentos Ltda
Pesquisas realizadas e complementadas no site:
Wikipédia, a enciclopédia livre.
www.pt.wikipedia.org