** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Pierdo el foco en la aplicación con el uso de Reco
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Pierdo el foco en la aplicación con el uso de Reco

 Responder Responder
Autor
Mensaje
gginarte Ver desplegable
Nuevo
Nuevo


Unido: 18/Mayo/2021
Localización: Cuba
Estado: Sin conexión
Puntos: 7
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita gginarte Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Pierdo el foco en la aplicación con el uso de Reco
    Enviado: 31/Mayo/2021 a las 15:50
Ante todo un saludo para todo el grupo. Soy nuevo en la programación y me estoy introduciendo en el uso del ADO y los recordset.
En el siguiente ejemplo, hago una actualización de consulta en el evento al cambiar de un cuadro de texto y entonces asigno el recordset al formulario cada vez que cambio el texto y por consiguiente hay una actualización del sql.
Resulta que cuando asigno el recordset al formularios (Set Me.Recordset = rs) pues se me pierde el foco en la aplicación y no logro ubicarlo en el control que deseo. Ya he descartado que es cuando hago esta asignación, pues cuando la omito me trabaja perfecto. Le pongo el código a continuación y de antemano agradezco sus consideraciones sobre el tema.

Private Sub CT_BuscarSiglas_Change()
On Error Resume Next


Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String
Dim Texto As String

Texto = Nz(CT_BuscarSiglas.Text, "%")
'
cnn.Open DB

sql = SelecciónSQL(Texto, "Proveedores", "SiglasEntidad")

'rs.Open sql, cnn, adOpenKeyset, adLockReadOnly

'Si se usa la barra espaciadora se cancela el procedimiento
If Asc(Right(Texto, 1)) = 32 Then Exit Sub


rs.CursorLocation = adUseServer
rs.Open sql, cnn, adOpenKeyset, adLockReadOnly


'Si no hay registros en la consulta cancelar el procedimiento
If rs.EOF And rs.BOF Then
    MsgBox "Ese texto no existe"
    Exit Sub
End If
'
Set Me.Recordset = rs

rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing


Forms!F_Proveedores!CT_BuscarSiglas.SetFocus (Caso omiso a esta instrucción, sin embargo cuando se revisa paso a paso si funciona)
Forms!F_Proveedores!CT_BuscarSiglas.SelStart = Len(Texto)

End Sub
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable