VERSION 5.00
Object = "{C932BA88-4374-101B-A56C-00AA003668DC}#1.1#0"; "MSMASK32.OCX"
Begin VB.Form frmHistoricoFornecedor 
   Caption         =   "Histricos de Fornecedores"
   ClientHeight    =   4455
   ClientLeft      =   1140
   ClientTop       =   1515
   ClientWidth     =   6315
   LinkTopic       =   "Form4"
   PaletteMode     =   1  'UseZOrder
   ScaleHeight     =   4455
   ScaleWidth      =   6315
   Begin VB.ComboBox cmbCodinome 
      Height          =   315
      Left            =   180
      Style           =   2  'Dropdown List
      TabIndex        =   1
      Top             =   315
      Width           =   2490
   End
   Begin VB.ComboBox cmbOrdem 
      Height          =   315
      Left            =   180
      Style           =   2  'Dropdown List
      TabIndex        =   5
      Top             =   960
      Width           =   915
   End
   Begin VB.TextBox txtAssunto 
      Height          =   285
      Left            =   180
      MaxLength       =   20
      TabIndex        =   9
      Top             =   1575
      Width           =   3255
   End
   Begin VB.TextBox txtDescricao 
      Height          =   2130
      Left            =   180
      MultiLine       =   -1  'True
      ScrollBars      =   2  'Vertical
      TabIndex        =   11
      Top             =   2205
      Width           =   4380
   End
   Begin VB.CommandButton cmdSaida 
      Caption         =   "&Retornar"
      Height          =   420
      Left            =   4860
      TabIndex        =   15
      Top             =   3510
      Width           =   1230
   End
   Begin VB.CommandButton cmdExclusao 
      Caption         =   "&Excluir"
      Height          =   420
      Left            =   4860
      TabIndex        =   14
      Top             =   1665
      Width           =   1230
   End
   Begin VB.CommandButton cmdAlteracao 
      Caption         =   "&Alterar"
      Height          =   420
      Left            =   4860
      TabIndex        =   13
      Top             =   945
      Width           =   1230
   End
   Begin VB.CommandButton cmdInclusao 
      Caption         =   "&Incluir"
      Height          =   420
      Left            =   4860
      TabIndex        =   12
      Top             =   315
      Width           =   1230
   End
   Begin MSMask.MaskEdBox mskCPF_CGC 
      Height          =   330
      Left            =   2880
      TabIndex        =   3
      Top             =   315
      Width           =   1860
      _ExtentX        =   3281
      _ExtentY        =   582
      _Version        =   327680
      PromptInclude   =   0   'False
      MaxLength       =   18
      Mask            =   "##.###.###/####-##"
      PromptChar      =   " "
   End
   Begin MSMask.MaskEdBox mskData 
      Height          =   330
      Left            =   1200
      TabIndex        =   7
      Top             =   960
      Width           =   1005
      _ExtentX        =   1773
      _ExtentY        =   582
      _Version        =   327680
      MaxLength       =   8
      Format          =   "ddddd"
      Mask            =   "##/##/##"
      PromptChar      =   " "
   End
   Begin VB.Label Label6 
      AutoSize        =   -1  'True
      Caption         =   "Data"
      Height          =   195
      Left            =   1200
      TabIndex        =   6
      Top             =   720
      Width           =   345
   End
   Begin VB.Label Label2 
      Caption         =   "CPF/CGC"
      Height          =   195
      Left            =   2880
      TabIndex        =   2
      Top             =   90
      Width           =   1230
   End
   Begin VB.Label Label1 
      AutoSize        =   -1  'True
      Caption         =   "Fornecedores Cadastrados"
      Height          =   195
      Left            =   180
      TabIndex        =   0
      Top             =   90
      Width           =   1905
   End
   Begin VB.Label Label3 
      AutoSize        =   -1  'True
      Caption         =   "Ordem"
      Height          =   195
      Left            =   180
      TabIndex        =   4
      Top             =   720
      Width           =   465
   End
   Begin VB.Label Label4 
      AutoSize        =   -1  'True
      Caption         =   "Assunto"
      Height          =   195
      Left            =   180
      TabIndex        =   8
      Top             =   1350
      Width           =   570
   End
   Begin VB.Label Label5 
      AutoSize        =   -1  'True
      Caption         =   "Descrio"
      Height          =   195
      Left            =   180
      TabIndex        =   10
      Top             =   1980
      Width           =   720
   End
End
Attribute VB_Name = "frmHistoricoFornecedor"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'+--------------------------------------------------------+
'| Projeto:    CPR - Contas a Pagar e a Receber           |
'| Autor:      Adilson da Silva Lima                      |
'| Data:       17/07/1997                                 |
'+--------------------------------------------------------+
'| Descrio:  Formulrio para cadastro de histricos  de |
'|             fornecedores                               |
'+--------------------------------------------------------+

Private Sub cmbCodinome_Click()
   Dim Selecao As String
   Selecao = "select * from Fornecedor where Codinome=" & """"
   Selecao = Selecao & cmbCodinome.Text & """"
   Set Tabela = Banco.OpenRecordset(Selecao, dbOpenSnapshot)
   ' Configurao da mscara a partir da coluna "Tabela("CPF_CGC")"
   Select Case Len(Tabela("CPF_CGC"))
      Case Is = 11
         mskCPF_CGC.Mask = "###.###.###-##"
      Case Is = 14
         mskCPF_CGC.Mask = "##.###.###/####-##"
   End Select
   mskCPF_CGC.Text = Tabela("CPF_CGC")
   Tabela.Close
  
   'Executa seleo na tabela de histricos a partir do CPF/CGC do _
    Fornecedor selecionado (utilizando o mesmo objeto recordset)
   Selecao = "select * from HistoricoFornecedor where CPF_CGC="
   Selecao = Selecao & mskCPF_CGC
   
   Set Tabela = Banco.OpenRecordset(Selecao, dbOpenSnapshot)
   ' Limpa o combo CMBORDEM  e alimenta-o com todos os nmeros de ordem _
     dos histricos do Fornecedor selecionados
   cmbOrdem.Clear
   Do Until Tabela.EOF
      cmbOrdem.AddItem Tabela("Ordem")
      Tabela.MoveNext
   Loop
   ' O mtodo CLOSE fecha o recordset, evitando que ele fique aberto aps _
     sua utilizao
   Tabela.Close


End Sub

Private Sub cmbOrdem_Click()
   Selecao = "SELECT * From HistoricoFornecedor WHERE CPF_CGC = "
   Selecao = Selecao & mskCPF_CGC
   Selecao = Selecao & " and Ordem = " & cmbOrdem
   
   Set Tabela = Banco.OpenRecordset(Selecao, dbOpenSnapshot)
   If Tabela.RecordCount = 0 Then
      Tabela.Close
      Exit Sub
   End If
   mskData.Text = Tabela("data")
   txtAssunto = Tabela("Assunto")
   txtDescricao = Tabela("Descricao")
   Tabela.Close
End Sub

Private Sub cmdAlteracao_Click()
   GravaHistoricoFornecedor 2
   cmbOrdem.SetFocus
End Sub

Private Sub cmdExclusao_Click()
   If Trim$(mskCPF_CGC) = "" Then
      MsgBox "Informe o nmero de CPF/CGC", 16, "Excluso"
      mskCPF_CGC.SetFocus
      Exit Sub
   End If
   If cmbOrdem.ListIndex = -1 Then
      MsgBox "Informe o nmero de ordem", 16, Titulo
      cmbOrdem.SetFocus
      Exit Sub
   End If
   If MsgBox("Confirme a excluso do histrico", 36, "Excluso") <> 6 Then
      Exit Sub
   End If
   On Error GoTo ErrExcluiHistoricoFornecedor
   Set Consulta = Banco.QueryDefs("DelHistoricoFornecedor")
   Consulta("parCPF_CGC") = mskCPF_CGC.Text
   Consulta("parOrdem") = cmbOrdem.Text
   Consulta.Execute
   mskCPF_CGC.Text = ""
   mskData = ""
   txtAssunto = ""
   txtDescricao = ""
   cmbCodinome_Click
   Exit Sub
   
ErrExcluiHistoricoFornecedor:
   MsgBox MensErro, 16, "Falha na excluso do histrico"
   Exit Sub
End Sub

Private Sub cmdInclusao_Click()
   GravaHistoricoFornecedor 1
   cmbOrdem.SetFocus
End Sub

Private Sub cmdSaida_Click()
   Unload Me
End Sub

Private Sub Form_Load()
   ' A rotina ComboFornecedor foi invocada na leitura do formulrio-chamador _
     (frmFornecedor) e, aqui, uma segunda vez...
   ' Note que em FRMFornecedor tambm possumos um combobox denominado CMBCODINOME: _
     esses dois controles possuem comportamento independente!
   ComboFornecedor cmbCodinome
End Sub

Private Sub mskCPF_CGC_GotFocus()
   mskCPF_CGC.Mask = "##############"
End Sub

Private Sub mskCPF_CGC_LostFocus()
   Dim temp As String
   temp = mskCPF_CGC
   Select Case Len(mskCPF_CGC)
      Case Is = 11
         mskCPF_CGC.Mask = "###.###.###-##"
      Case Is = 14
         mskCPF_CGC.Mask = "##.###.###/####-##"
   End Select
   mskCPF_CGC = temp
End Sub
Private Sub mskData_LostFocus()
   If Not ConsisteData(mskData) Then mskData.SetFocus
End Sub
Private Sub GravaHistoricoFornecedor(Operacao As Integer)
   Dim Titulo As String
   If Operacao = 1 Then
      Titulo = "Incluso"
   Else
      Titulo = "Alterao"
   End If
   If Trim$(mskCPF_CGC) = "" Then
      MsgBox "Informe o nmero de CPF/CGC", 16, Titulo
      mskCPF_CGC.SetFocus
      Exit Sub
   End If
   If Len(Trim$(mskCPF_CGC)) <> 11 And Len(Trim$(mskCPF_CGC)) <> 14 Then
      MsgBox "Corrija o nmero de CPF/CGC", 16, Titulo
      mskCPF_CGC.SetFocus
      Exit Sub
   End If
   If Trim$(mskData) = "" Then
      MsgBox "Informe a data do histrico", 16, Titulo
      mskData.SetFocus
      Exit Sub
   End If
   If Operacao <> 1 And cmbOrdem.ListIndex = -1 Then
      MsgBox "Informe o nmero de ordem", 16, Titulo
      cmbOrdem.SetFocus
      Exit Sub
   End If
   Dim MensErro As String, ErroPar As Integer
   On Error GoTo ErrGravaHistoricoFornecedor
   ErroPar = False
   MensErro = "Falha na abertura da consulta"
   If Operacao = 1 Then
      Set Consulta = Banco.QueryDefs("InsHistoricoFornecedor")
   Else
      Set Consulta = Banco.QueryDefs("UpdHistoricoFornecedor")
   End If
   ErroPar = True

   Area.BeginTrans
   MensErro = "Falha na alimentao dos parmetros"
   If Operacao <> 1 Then
      Consulta("parOrdem") = cmbOrdem.Text
   End If
   Consulta("parCPF_CGC") = mskCPF_CGC.Text
   Consulta("parData") = mskData
   Consulta("parAssunto") = txtAssunto
   Consulta("parDescricao") = txtDescricao
   
   MensErro = "Falha na gravao dos dados"

   Consulta.Execute

   Area.CommitTrans
   cmbCodinome_Click
   cmbCodinome.SetFocus
   Exit Sub

ErrGravaHistoricoFornecedor:
   MsgBox MensErro, 16, "Atualizao de Histrico de Fornecedor"
   If ErroPar Then Area.Rollback
   Exit Sub
End Sub



