En esta sección crearemos la ventana de Buscar Proveedor para mas adelante usarla en la ventana de Compras.
Colabora y Suscribete a mi canal de 
El formulario es una copia casi exacta de Buscar Clientes, solo con algunas variaciones, este formulario quedaría de la siguiente manera:

Código:
Lo primero es una variable a Nivel de formulario, en lo mas arriba:
Dim CodigoProveedor 'variable que controla la edición del proveedor
Lo segundo es hacer la consulta a la tabla proveedores y llenar el MSGrid con ese resultado:
Sub BuscarProveedor()
Dim Sql As String
Dim Filtro As String
Dim Columnas As Integer
'IdUsuario,usuario,password_us,identificacion,nombres_apellidos,IdNivelUsuario
Tipo = cmdTipoBusqueda.ListIndex
Filtro = ""
Select Case Tipo
Case 0:
Filtro = " NombreEmpresaPro like '%" & txtFiltro.Text & "%' "
Case 1:
Filtro = " NitEmpresaPro like '%" & txtFiltro.Text & "%' "
Case 2:
Filtro = " IdProveedor like '%" & txtFiltro.Text & "%' "
End Select
Sql = "Select IdProveedor, NombreEmpresaPro, NitEmpresaPro, TelefonoPro, DireccionPro, NombrePro From tblProveedores Where " & Filtro
Columnas = 6
Call LlenarGrid(msGrid, Sql, Columnas)
msGrid.ColWidth(0) = 0
msGrid.ColWidth(1) = 1100
msGrid.ColWidth(2) = 3500
msGrid.ColWidth(3) = 1800
msGrid.ColWidth(4) = 1800
msGrid.ColWidth(5) = 1800
msGrid.ColWidth(6) = 2000
msGrid.TextMatrix(0, 1) = "ID"
msGrid.TextMatrix(0, 2) = "Razon Social / Nombre"
msGrid.TextMatrix(0, 3) = "Identificación"
msGrid.TextMatrix(0, 4) = "Teléfonos"
msGrid.TextMatrix(0, 5) = "Dirección"
msGrid.TextMatrix(0, 6) = "Nombre Proveedor"
End Sub
En el código vemos que dependiendo de lo que seleccionemos en el Select cmbTipoBusqueda se hace el filtro (Nombre, Nit, ID)
El Botón datos, que su funcione es poder ver los datos del proveedor seleccionado:
Private Sub cmdDatosCliente_Click()
IdCliente = msGrid.TextMatrix(msGrid.Row, 1)
If IdCliente <> "" Then
glob_ModificarProveedor = True
frmProveedor.Show
End If
End Sub
La variable glob_ModificarProveedor debe ser declarada en el Modulo Conexión de tipo global:
Global glob_ModificarProveedor As Boolean
El Botón Facturas se deja pendiente para un futuro cuando se cree la parte de saldos de proveedor.
Botón de seleccionar, este se utiliza para cuando se abra el formulario de Buscar Proveedor desde el formulario de Compras:
Private Sub cmdSeleccionar_Click()
Dim Codigo As Long
Dim Identificacion As String
Dim Identificacion As String
Codigo = msGrid.TextMatrix(msGrid.Row, 1)
If Codigo <> 0 Then
If glob_FormularioSolicBuscarPro = "frmCompras" Then
Identificacion = msGrid.TextMatrix(msGrid.Row, 2)
NombreProveedor = msGrid.TextMatrix(msGrid.Row, 3)
Call frmCompras.SeleccionarProveedor(Codigo, Identificacion, NombreProveedor)
Unload Me
End If
End If
End Sub
La variable glob_FormularioSolicBuscarPro debe crearse en el Modulo Conexión de tipo Global:
Global glob_FormularioSolicBuscarPro As String
El Evento Load del formulario:
Private Sub Form_Load()
cmdTipoBusqueda.ListIndex = 0
If glob_FormularioSolicBuscarCli <> "" Then
cmdSeleccionar.Enabled = True
End If
End Sub
Si el formulario de búsqueda se abre desde desde el Menú del formulario principal se inhabilita el botón Seleccionar, para eso se utiliza la variable glob_FormularioSolicBuscarCli .
Y en el textbox TxtFiltro en el evento KeyCode:
Private Sub txtFiltro_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Call BuscarProveedor
End If
End Sub
En el código anterior al presionar Enter se hace la búsqueda de los proveedores
Para ir adelantando la ventana de compras se vera de la siguiente manera:

El vídeo explicativo:

