VERSION 5.00
Object = "{CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0"; "MSDATGRD.OCX"
Object = "{69F9D01E-F1DE-11D4-9536-002018603DA2}#7.0#0"; "ControlNumber.ocx"
Begin VB.Form FBusquedasInv 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Fbusquedas"
   ClientHeight    =   5670
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   7680
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   5670
   ScaleWidth      =   7680
   StartUpPosition =   3  'Windows Default
   Begin VB.ComboBox CmbCriterioBusqueda 
      Height          =   315
      Left            =   4920
      Style           =   2  'Dropdown List
      TabIndex        =   1
      Top             =   210
      Width           =   1815
   End
   Begin VB.TextBox TxtDatoBuscado 
      Height          =   285
      Left            =   840
      TabIndex        =   0
      Top             =   210
      Width           =   3015
   End
   Begin MSDataGridLib.DataGrid DBListar 
      Height          =   4695
      Left            =   0
      TabIndex        =   2
      Top             =   840
      Width           =   7095
      _ExtentX        =   12515
      _ExtentY        =   8281
      _Version        =   393216
      BackColor       =   16777152
      HeadLines       =   1
      RowHeight       =   15
      BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ColumnCount     =   2
      BeginProperty Column00 
         DataField       =   ""
         Caption         =   ""
         BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
            Type            =   0
            Format          =   ""
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   10250
            SubFormatType   =   0
         EndProperty
      EndProperty
      BeginProperty Column01 
         DataField       =   ""
         Caption         =   ""
         BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
            Type            =   0
            Format          =   ""
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   10250
            SubFormatType   =   0
         EndProperty
      EndProperty
      SplitCount      =   1
      BeginProperty Split0 
         BeginProperty Column00 
         EndProperty
         BeginProperty Column01 
         EndProperty
      EndProperty
   End
   Begin MiControl.CtrlNumber CtrlNumber1 
      Height          =   135
      Left            =   3960
      TabIndex        =   5
      Top             =   6360
      Visible         =   0   'False
      Width           =   855
      _ExtentX        =   1508
      _ExtentY        =   238
      BackColor       =   -2147483643
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
   End
   Begin VB.Label Label1 
      Caption         =   "Criterio"
      Height          =   255
      Left            =   4200
      TabIndex        =   4
      Top             =   240
      Width           =   615
   End
   Begin VB.Label LblDato 
      Caption         =   "Dato"
      Height          =   255
      Left            =   240
      TabIndex        =   3
      Top             =   240
      Width           =   1215
   End
End
Attribute VB_Name = "FBusquedasInv"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'Autor : Enrique Franco
'Fecha : 09/09/2002
'GObtenerRegistros : Permite Recibir un Recordset desde un formulario
'                    para realizar búsquedas
'RetornarValores   : Almacena en el Formulario Activo un Marcador del Registro Buscado y
'                    el valor del campo Principal
'Observaciones     : Se tiene que declarar las siguientes variables en la
'                    sección Publica del formulario :
'                    Public GrecibeUbicacion As BookmarkEnum
'                    Public GrecibeColumnaID As String
 
Private MrsobtieneRegistros As ADODB.Recordset
Private MstrCodigo As String
Private Mstrdescripcion As String
Private MArrayDeBusqueda As Variant
Private MintNumerodeFilas As Integer
Private MintItemInicio As Integer
Private MstrOrden As String
Private Sub ActualizarGrid()
   For i = 1 To MintNumerodeFilas
       DBListar.Columns(i - 1).Width = MArrayDeBusqueda(i, 3)
       DBListar.Columns(i - 1).Caption = MArrayDeBusqueda(i, 2)
   Next
End Sub

'Funcionalidad : Almacena en el Formulario Activo un Marcador del Registro Buscado y
'                el valor del campo Principal

Private Sub RetornarValores()
    With MDIFconfiguracion.ActiveForm
          .GrecibeUbicacion = MrsobtieneRegistros.Bookmark
          .GrecibeColumnaID = MrsobtieneRegistros(MArrayDeBusqueda(1, 1))
    End With
End Sub

Private Sub DBListar_DblClick()
   RetornarValores
   Unload Me
End Sub

Private Sub DBListar_HeadClick(ByVal ColIndex As Integer)
  MrsobtieneRegistros.Sort = (MArrayDeBusqueda(ColIndex + 1, 1)) & " " & MstrOrden
  If MstrOrden = "ASC" Then
     MstrOrden = "DESC"
  Else
     MstrOrden = "ASC"
  End If
End Sub

Private Sub DBListar_KeyUp(KeyCode As Integer, Shift As Integer)
   Select Case KeyCode
     Case 13
            TxtDatoBuscado.SetFocus
            RetornarValores
            Unload Me
     Case 27
            Unload Me
    End Select
End Sub

Private Sub Form_Load()
  MstrOrden = "ASC"
  For i = 1 To MintNumerodeFilas
      CmbCriterioBusqueda.AddItem MArrayDeBusqueda(i, 2)
  Next
  CmbCriterioBusqueda.ListIndex = MintItemInicio - 1
End Sub

'Funcionalidad : Permite Recibir un Recordset desde un formulario
'para realizar búsquedas
'Argumentos de Entrada : 1)IRS (Recorset con conjuntos de Registros donde
'                          Se va efectuar la Búsqueda)
'                        2)IArrayBusqueda (Arreglo que tiene como columnas :
'                          Columna 1 : Nombre del campo en la Tabla o Vista, debe ser el pk
'                          Columna 2 : Nombre que se quiere Mostrar en el Grid
'                          Columna 3 : Ancho de la Columna
'                        3)IintFila : Número de Filas del Arreglo
'                        4)IintColumnaInicio : Columna por la que se inicia la Búsqueda

Public Sub GObtenerRegistros(ByVal IRS As ADODB.Recordset, _
                             IArrayBusqueda As Variant, IintFila As Integer, IintColumnaInicio As Integer)
                            
  Set MrsobtieneRegistros = IRS.Clone
  MArrayDeBusqueda = IArrayBusqueda
  MintNumerodeFilas = IintFila
  MintItemInicio = IintColumnaInicio
  
  Set DBListar.DataSource = MrsobtieneRegistros
  ActualizarGrid
  DBListar.Refresh
   
End Sub
Private Sub Form_Unload(Cancel As Integer)
  Set MrsobtieneRegistros = Nothing
End Sub
Private Sub TxtDatoBuscado_Change()
  
  If Not MrsobtieneRegistros.EOF And Trim(TxtDatoBuscado.Text) <> Empty Then
   MrsobtieneRegistros.MoveFirst
   MrsobtieneRegistros.Find MArrayDeBusqueda(CmbCriterioBusqueda.ListIndex + 1, 1) & " LIKE '" & Trim(TxtDatoBuscado.Text) & "%'"
   Set DBListar.DataSource = MrsobtieneRegistros
   ActualizarGrid
   DBListar.Refresh
  End If
  
End Sub

Private Sub TxtDatoBuscado_KeyPress(KeyAscii As Integer)
  KeyAscii = GBloqueaCaracter(KeyAscii)
  Select Case KeyAscii
     Case 13
            RetornarValores
            Unload Me
     Case 27
            Unload Me
  End Select
End Sub
