Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2018, 19:13
mikehove
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años
Puntos: 2
Conflicto de código con el selector activo del Cuadro de Lista - ACCES

Hola amigos! Les cuento que tengo un problema con la fila activa de un cuadro de lista. Tengo un formulario llamado CLIENTES, dividido por un lado con el cuadro de lista (cmd_listaClientes) mostrando todas los registros de la tabla CLIENTES y por otro lado algunos datos provenientes de la misma tabla incluidos en campos de texto. Al pasar de un registro a otro, todo funciona bárbaro, porque dinámicamente hay relación del registro del cuadro de lista con los datos en los cuadros de texto. El problema surge que al querer activar un registro específico desde VBA lo hace bien pero al intentar irme a otros registros no puede salir el selector activo o el foco que se marcó desde VBA (hay un desfase en la relación del cuadro de lista con los datos de los cuadros de texto).

Al cargar la página del Formulario:
CÓDIGO: SELECCIONAR TODO

'PARA MOSTRAR AL CARGAR EL FORMULARIO
Private Sub Form_Current() 'Al cargar el formulario por registro
Código:
Dim verIdCliente As Integer
Dim registroSeleccionado As Integer

verIdCliente = 2 'Ejemplo: ver id_Cliente "2"
cmd_listaClientes.SetFocus
For registroSeleccionado = 0 To cmd_listaClientes.ListCount
If cmd_listaClientes.Column(0, registroSeleccionado) = verIdCliente Then
cmd_listaClientes.Selected(registroSeleccionado) = True
Exit For
End If
Next registroSeleccionado

End Sub

'PARA MOSTRAR LISTA DE CLIENTES EN EL CUADRO DE LISTA
Private Sub cmd_listaClientes_Click() 'Cuando se haga click en cada cliente (registro)

  Dim stDocName As String             'Declaración de variable "stDocName" propia por defecto.
  Dim stLinkCriteria As String        'Declararión de variable "stLinkCriteria" propia por defecto.
  stDocName = "CLIENTES"              'Iniciación del la variable "stName" guardando allí el nombre del formulario
  stLinkCriteria = "[Id_Cliente]=" & Me.cmd_listaClientes.Column(0) 'Inicialización de la variable "stLinkCriteria" guardando allí "Id_Cliente" del formulario

  DoCmd.OpenForm stDocName, , , stLinkCriteria  'Abrir registros del formulario

End Sub

Creo que especialmente hay un conflicto con estas 2 lineas de código:


Código:
If cmd_listaClientes.Column(0, registroSeleccionado) = verIdCliente Then


stLinkCriteria = "[Id_Cliente]=" & Me.cmd_listaClientes.Column(0) 'Inicialización de [la variable "stLinkCriteria" guardando allí "Id_Cliente" del formulario

Habrá alguna forma de solucionarlo por favor?

Archivo en funcionamiento:
http://ge.tt/5QgjPKp2