sistema de loja em vb

222
Visual Basic Autor: Marcelo de Oliveira Rodrigues

Upload: raimundo-oliveira-nascimento

Post on 12-Apr-2015

25 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Sistema de Loja Em Vb

Visual Basic

Autor: Marcelo de Oliveira Rodrigues

Page 2: Sistema de Loja Em Vb

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

Page 3: Sistema de Loja Em Vb

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

Page 4: Sistema de Loja Em Vb

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.

Page 5: Sistema de Loja Em Vb

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.

Page 6: Sistema de Loja Em Vb

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.

Page 7: Sistema de Loja Em Vb

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.

Page 8: Sistema de Loja Em Vb

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

Page 9: Sistema de Loja Em Vb

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

Page 10: Sistema de Loja Em Vb

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

Page 11: Sistema de Loja Em Vb

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.

Page 12: Sistema de Loja Em Vb

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.

Page 13: Sistema de Loja Em Vb

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

Page 14: Sistema de Loja Em Vb

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

Page 15: Sistema de Loja Em Vb

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

Page 16: Sistema de Loja Em Vb

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

Page 17: Sistema de Loja Em Vb

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

Page 18: Sistema de Loja Em Vb

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

Page 19: Sistema de Loja Em Vb

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

Page 20: Sistema de Loja Em Vb

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

Page 21: Sistema de Loja Em Vb

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

Page 22: Sistema de Loja Em Vb

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

Page 23: Sistema de Loja Em Vb

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

Page 24: Sistema de Loja Em Vb

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

Page 25: Sistema de Loja Em Vb

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

Page 26: Sistema de Loja Em Vb

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)

Page 27: Sistema de Loja Em Vb

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

Page 28: Sistema de Loja Em Vb

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

Page 29: Sistema de Loja Em Vb

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

Page 30: Sistema de Loja Em Vb

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

Page 31: Sistema de Loja Em Vb

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

Page 32: Sistema de Loja Em Vb

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}"

Page 33: Sistema de Loja Em Vb

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

Page 34: Sistema de Loja Em Vb

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

Page 35: Sistema de Loja Em Vb

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

Page 36: Sistema de Loja Em Vb

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

Page 37: Sistema de Loja Em Vb

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

Page 38: Sistema de Loja Em Vb

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)))

Page 39: Sistema de Loja Em Vb

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

Page 40: Sistema de Loja Em Vb

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

Page 41: Sistema de Loja Em Vb

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

Page 42: Sistema de Loja Em Vb

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()

Page 43: Sistema de Loja Em Vb

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

Page 44: Sistema de Loja Em Vb

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

Page 45: Sistema de Loja Em Vb

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)

Page 46: Sistema de Loja Em Vb

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

Page 47: Sistema de Loja Em Vb

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")

Page 48: Sistema de Loja Em Vb

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)

Page 49: Sistema de Loja Em Vb

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

Page 50: Sistema de Loja Em Vb

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

Page 51: Sistema de Loja Em Vb

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)))

Page 52: Sistema de Loja Em Vb

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

Page 53: Sistema de Loja Em Vb

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

Page 54: Sistema de Loja Em Vb

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

Page 55: Sistema de Loja Em Vb

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

Page 56: Sistema de Loja Em Vb

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")

Page 57: Sistema de Loja Em Vb

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

Page 58: Sistema de Loja Em Vb

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

Page 59: Sistema de Loja Em Vb

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

Page 60: Sistema de Loja Em Vb

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

Page 61: Sistema de Loja Em Vb

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

Page 62: Sistema de Loja Em Vb

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

Page 63: Sistema de Loja Em Vb

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 = ""

Page 64: Sistema de Loja Em Vb

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

Page 65: Sistema de Loja Em Vb

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

Page 66: Sistema de Loja Em Vb

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

Page 67: Sistema de Loja Em Vb

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

Page 68: Sistema de Loja Em Vb

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

Page 69: Sistema de Loja Em Vb

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

Page 70: Sistema de Loja Em Vb

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

Page 71: Sistema de Loja Em Vb

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

Page 72: Sistema de Loja Em Vb

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

Page 73: Sistema de Loja Em Vb

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

Page 74: Sistema de Loja Em Vb

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

Page 75: Sistema de Loja Em Vb

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

Page 76: Sistema de Loja Em Vb

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

Page 77: Sistema de Loja Em Vb

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

Page 78: Sistema de Loja Em Vb

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

Page 79: Sistema de Loja Em Vb

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)

Page 80: Sistema de Loja Em Vb

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 = ""

Page 81: Sistema de Loja Em Vb

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

Page 82: Sistema de Loja Em Vb

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

Page 83: Sistema de Loja Em Vb

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

Page 84: Sistema de Loja Em Vb

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()

Page 85: Sistema de Loja Em Vb

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

Page 86: Sistema de Loja Em Vb

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

Page 87: Sistema de Loja Em Vb

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

Page 88: Sistema de Loja Em Vb

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

Page 89: Sistema de Loja Em Vb

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

Page 90: Sistema de Loja Em Vb

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

Page 91: Sistema de Loja Em Vb

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"

Page 92: Sistema de Loja Em Vb

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

Page 93: Sistema de Loja Em Vb

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

Page 94: Sistema de Loja Em Vb

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

Page 95: Sistema de Loja Em Vb

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"

Page 96: Sistema de Loja Em Vb

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

Page 97: Sistema de Loja Em Vb

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

Page 98: Sistema de Loja Em Vb

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"

Page 99: Sistema de Loja Em Vb

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

Page 100: Sistema de Loja Em Vb

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

Page 101: Sistema de Loja Em Vb

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)

Page 102: Sistema de Loja Em Vb

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

Page 103: Sistema de Loja Em Vb

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"

Page 104: Sistema de Loja Em Vb

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

Page 105: Sistema de Loja Em Vb

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"

Page 106: Sistema de Loja Em Vb

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()

Page 107: Sistema de Loja Em Vb

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"

Page 108: Sistema de Loja Em Vb

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

Page 109: Sistema de Loja Em Vb

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

Page 110: Sistema de Loja Em Vb

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"

Page 111: Sistema de Loja Em Vb

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

Page 112: Sistema de Loja Em Vb

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

Page 113: Sistema de Loja Em Vb

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

Page 114: Sistema de Loja Em Vb

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

Page 115: Sistema de Loja Em Vb

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

Page 116: Sistema de Loja Em Vb

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

Page 117: Sistema de Loja Em Vb

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")

Page 118: Sistema de Loja Em Vb

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

Page 119: Sistema de Loja Em Vb

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

Page 120: Sistema de Loja Em Vb

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

Page 121: Sistema de Loja Em Vb

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 = ""

Page 122: Sistema de Loja Em Vb

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

Page 123: Sistema de Loja Em Vb

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

Page 124: Sistema de Loja Em Vb

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"

Page 125: Sistema de Loja Em Vb

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

Page 126: Sistema de Loja Em Vb

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

Page 127: Sistema de Loja Em Vb

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

Page 128: Sistema de Loja Em Vb

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

Page 129: Sistema de Loja Em Vb

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

Page 130: Sistema de Loja Em Vb

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

Page 131: Sistema de Loja Em Vb

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

Page 132: Sistema de Loja Em Vb

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)

Page 133: Sistema de Loja Em Vb

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

Page 134: Sistema de Loja Em Vb

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

Page 135: Sistema de Loja Em Vb

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

Page 136: Sistema de Loja Em Vb

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

Page 137: Sistema de Loja Em Vb

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

Page 138: Sistema de Loja Em Vb

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

Page 139: Sistema de Loja Em Vb

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()

Page 140: Sistema de Loja Em Vb

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

Page 141: Sistema de Loja Em Vb

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

Page 142: Sistema de Loja Em Vb

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

Page 143: Sistema de Loja Em Vb

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

Page 144: Sistema de Loja Em Vb

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

Page 145: Sistema de Loja Em Vb

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)

Page 146: Sistema de Loja Em Vb

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))

Page 147: Sistema de Loja Em Vb

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

Page 148: Sistema de Loja Em Vb

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)

Page 149: Sistema de Loja Em Vb

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)

Page 150: Sistema de Loja Em Vb

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

Page 151: Sistema de Loja Em Vb

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

Page 152: Sistema de Loja Em Vb

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

Page 153: Sistema de Loja Em Vb

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

Page 154: Sistema de Loja Em Vb

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

Page 155: Sistema de Loja Em Vb

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

Page 156: Sistema de Loja Em Vb

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

Page 157: Sistema de Loja Em Vb

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

Page 158: Sistema de Loja Em Vb

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

Page 159: Sistema de Loja Em Vb

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

Page 160: Sistema de Loja Em Vb

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

Page 161: Sistema de Loja Em Vb

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

Page 162: Sistema de Loja Em Vb

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

Page 163: Sistema de Loja Em Vb

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

Page 164: Sistema de Loja Em Vb

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

Page 165: Sistema de Loja Em Vb

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

Page 166: Sistema de Loja Em Vb

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

Page 167: Sistema de Loja Em Vb

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

Page 168: Sistema de Loja Em Vb

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)

Page 169: Sistema de Loja Em Vb

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:"

Page 170: Sistema de Loja Em Vb

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

Page 171: Sistema de Loja Em Vb

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

Page 172: Sistema de Loja Em Vb

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")

Page 173: Sistema de Loja Em Vb

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

Page 174: Sistema de Loja Em Vb

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

Page 175: Sistema de Loja Em Vb

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

Page 176: Sistema de Loja Em Vb

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, _

Page 177: Sistema de Loja Em Vb

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

Page 178: Sistema de Loja Em Vb

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

Page 179: Sistema de Loja Em Vb

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

Page 180: Sistema de Loja Em Vb

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

Page 181: Sistema de Loja Em Vb

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

Page 182: Sistema de Loja Em Vb

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

Page 183: Sistema de Loja Em Vb

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

Page 184: Sistema de Loja Em Vb

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"

Page 185: Sistema de Loja Em Vb

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

Page 186: Sistema de Loja Em Vb

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

Page 187: Sistema de Loja Em Vb

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

Page 188: Sistema de Loja Em Vb

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

Page 189: Sistema de Loja Em Vb

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

Page 190: Sistema de Loja Em Vb

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

Page 191: Sistema de Loja Em Vb

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

Page 192: Sistema de Loja Em Vb

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

Page 193: Sistema de Loja Em Vb

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

Page 194: Sistema de Loja Em Vb

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

Page 195: Sistema de Loja Em Vb

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

Page 196: Sistema de Loja Em Vb

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

Page 197: Sistema de Loja Em Vb

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

Page 198: Sistema de Loja Em Vb

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

Page 199: Sistema de Loja Em Vb

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

Page 200: Sistema de Loja Em Vb

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)

Page 201: Sistema de Loja Em Vb

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

Page 202: Sistema de Loja Em Vb

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

Page 203: Sistema de Loja Em Vb

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

Page 204: Sistema de Loja Em Vb

204

Private Sub cmdOK_Click()

Unload Me

End Sub

Page 205: Sistema de Loja Em Vb

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

Page 206: Sistema de Loja Em Vb

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

Page 207: Sistema de Loja Em Vb

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

Page 208: Sistema de Loja Em Vb

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

Page 209: Sistema de Loja Em Vb

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

Page 210: Sistema de Loja Em Vb

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

Page 211: Sistema de Loja Em Vb

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

Page 212: Sistema de Loja Em Vb

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

Page 213: Sistema de Loja Em Vb

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

Page 214: Sistema de Loja Em Vb

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

Page 215: Sistema de Loja Em Vb

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

Page 216: Sistema de Loja Em Vb

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

Page 217: Sistema de Loja Em Vb

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

Page 218: Sistema de Loja Em Vb

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

Page 219: Sistema de Loja Em Vb

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.

Page 220: Sistema de Loja Em Vb

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.

Page 221: Sistema de Loja Em Vb

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.”

Page 222: Sistema de Loja Em Vb

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