Foros del Web » Soporte técnico » Ofimática »

como añadir items a un cuadro de lista por codigo

Estas en el tema de como añadir items a un cuadro de lista por codigo en el foro de Ofimática en Foros del Web. Hola de nuevo! Cómo puedo añadir ítems por código a un cuadro de lista? Gracias!!!...
  #1 (permalink)  
Antiguo 04/02/2009, 05:16
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
como añadir items a un cuadro de lista por codigo

Hola de nuevo!
Cómo puedo añadir ítems por código a un cuadro de lista?

Gracias!!!
  #2 (permalink)  
Antiguo 04/02/2009, 06:45
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: como añadir items a un cuadro de lista por codigo

Depende de varios factores.

1. Que version de access usas??
En versiones superiores a access 2000, se incorporaron los metodos addItem y removeItem (te sonaran de VB). Hasta este momento, la opcion es ir añadiendo o quitando Item directamente al origen de la fila de la lista, cada item esta sepradao por un ;
Aqui tienes un ejemplo de funcionalidad con listas en access 2000

Ejemplo

2. Depende (tambien lo anterior) del tipo de origen de la fila que tenga la lista. "tipo de origen de la fila" es una propiedad de las listas, esta puede ser: Lista de valores (el caso anterior), o tabla/consulta.
Si es tabla/consulta, la lista estara compuesta por los registros que devuelve esta tabal o consulta (que estara en la propiedad origen de la fila) , y la unica forma de que no salgan en la lista es dejando de formar parte de su origen, es decir, borrandolos de la tabla o plicando filtros a la consulta.

Un saludo
  #3 (permalink)  
Antiguo 04/02/2009, 07:45
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: como añadir items a un cuadro de lista por codigo

La lista inicialmente está vacía.
Se va rellenando con los usernames segun se van conectando.

Si me aconsejas otra cosa, no dudaré en acerte caso, jejejeje (pelotaaaaa)


Gracias!
  #4 (permalink)  
Antiguo 04/02/2009, 09:29
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: como añadir items a un cuadro de lista por codigo

Pues me pillas, por que ni tengo access 2007 ni lo he visto nunca. Pero estar disponible el metodo additem y removeitem. Lo provaria, pero aqui solo tengo access 2000.

Un saludo
  #5 (permalink)  
Antiguo 04/02/2009, 15:29
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: como añadir items a un cuadro de lista por codigo

Dentro del mismo formulario me sale,pero como tngo este codigo, no m o acaba de aceptar
Código:
Private Sub cmdLogin_Click()
On Error GoTo Err_cmdLogin_Click

    Dim stDocName As String
    Dim stLinkCriteria As String
    Call configuracionInicial(Me.username.Value, Me.password.Value)
    
    If Nz(Me.username.Value, "") <> "" And Nz(Me.password.Value, "") <> "" Then
        Set rsUsuarios = CurrentDb.OpenRecordset("Select username,password,conectado,horaConexion,ultimoAcceso from USUARIOS where username='" & Me.username & "' AND password='" & Me.password & "'")
        If rsUsuarios.RecordCount = 0 Then
            MsgBox "Los datos introducidos son incorrectos, por favor, revísalos", vbInformation, titleMsgbox
        Else
            'Usuario y contraseña correcto
            'Cerramos el formulario login
                'If Me.Dirty Then Me.Dirty = False
                DoCmd.Close

            'Abrimos el formulario Main
                stDocName = "Frm_Main"
                DoCmd.OpenForm stDocName, , , stLinkCriteria

            'Añadimos a la base de datos la fecha completa de conexion y conectado
                Call Conectar
            'Poner como conectado en el formulario principal
                'Call conectado
                Frm_Main.lstConectados.AddItem (rsUsuarios!username)
        End If
        rsUsuarios.Close
        Set rsUsuarios = Nothing
    End If

Exit_cmdLogin_Click:
    Exit Sub

Err_cmdLogin_Click:
    MsgBox Err.Description
    Resume Exit_cmdLogin_Click
End Sub

La linea marcada en rojo no me dice que requiere un objeto..

Después para quitar un item de la lista, me pide el index. Cómo puedo saber el index para cada usuario?

otra cosa:
En el evento key_Press en mi textbox password quisiera que cuando se presione enter me vaya a la funcion on click del boton Login, es posible?

otra cosa 2:
Como es que los formularios que contienen id's de otras tablas no me pone su respectivo valor?

Última edición por Laufwerk; 04/02/2009 a las 16:50
  #6 (permalink)  
Antiguo 05/02/2009, 02:38
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: como añadir items a un cuadro de lista por codigo

1:)
Para refererirte a un formulario desde otro prueba asi:

forms!Frm_Main!lstConectados.AddItem (rsUsuarios!username)

Te vendra bien echarle un hojo a esto:


Sintaxis form y subform

2:)
Realmente no hay un index para cada usuario, porque este depende del orden en que lo cargues. Que quieres hacer exactamente, borrar el que tengas seleccionado???

En tal caso, tambien te vendra bien, si vas a trabajar con listas, estos articulos de Juan Afan de Rivera (mvP access), donde tienes todo lo neecsario para recorrelas (y con ejemplos):

Listas
Mas listas

3:)
Puedes referirte a cualquier funcion o procedimento (como el click del boton) desde cualquier parte del form, si es privado, o desde cualquier parte de tu aplicacion, si fuera publica, en tu caso:
Call Login_Click

4:)
La otra cosa 2 no acabo de entenderla

Un saludo
  #7 (permalink)  
Antiguo 05/02/2009, 03:36
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: como añadir items a un cuadro de lista por codigo

1) probaré a ver si funciona
2) Lo que quiero hacer exactamente es que me elimine el usuario conectado. Me explico
Hay un formulario de login, cuando accede en ese listbox deberia poner su nombre. Asi se sabrá quien esta conectado, cuando accedan varios usuarios.
Al cerrar el formulario se debe quitar el username del listbox.

3) Y cual es el chr del ENTER el 13? Es que cuando le doy al enter me cambia al siguiente control y lo que quiero es que me llame al call, como bien dices Call Login_click
Pero me falta lo anterior a la redirección de función.

Otra cosa 2: Me explico
tengo esta tabla, USUARIOS y estos son sus campos
id_usuario
nomre
username
password
id_categoria

donde id_categoria es una clave externa a la tabla CATEGORIAS y sus campos son
id_categoria
descripcion


Cuando creo un formulario, en este campo lo hago mediante un combobox, hasta aqui bien. Cierro y guardo el formulario

si los datos del usuario x son
id_usuario = 1
nomre = Javier
username =javier
password =***
id_categoria = 1

donde el id de la categoria 1 corresponde a Administrador

Al abrir de nuevo el formulario el campo de categoria se me queda en blanco



Gracias!!!!
  #8 (permalink)  
Antiguo 05/02/2009, 04:04
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: como añadir items a un cuadro de lista por codigo

1:) estupendo

2:) No lo tengo claro, pero se me ocurre que, sabiendo el nombre o el id del usuario, recoras la lista (con los enlaces que te puse) y borres el item de la lista

3:)Usa mejor el evento keydown

Private Sub password_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Call Login_Click
End If
End Sub

4:)No se lo entiendo. El control donde introduces el id_categoria con un combo, tiene origen de control?

un saludo
  #9 (permalink)  
Antiguo 05/02/2009, 04:57
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: como añadir items a un cuadro de lista por codigo

3)
La primera vez me dice uso no valido de null y la segunda me entra.
4)
ok
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:01.