listindex en combobox
Publicado por jm (5 intervenciones) el 19/12/2006 00:00:48
hola, he creado un combobox que coje los registros de una tabla de acces y permite introducir el registro en un campo de una tabla,Con la propiedad itemdata consiguo que el combobox adjudique un valor numerico a cada registro ya que la tabla a la que adcedo tiene dos campos un numero(o Id) y una descripcion en texto.Hata aqui bien pero tambien quiero que el valor del Registro de los campos ya almacenados este "ligado "al combobox para que ( es lo que he intentato) mediante la propiedad listindex el combo box muestre la descripcion correspondiente
Private Sub txtFields_Change(Index As Integer)
Combo1.ListIndex = txtFields(4).Text
End Sub
txtFields(4).Text es un campo de un formulario que contiene registros ( controlados por un Data)
pero me da un error de "NO COINCIDEN los Tipos"
Si por ejemplo pongo Combo1.ListIndex = 2 funciona perfectamente asi que sera un problema de conversion de tipos digo Yo.
Lo he intentado almacenando el text1.text en una variable y de 40 maneras mas pero no hay manera.
Haber si me echais una manita, necesito que al pasar a cualquier registro el combobox se situe en la descripcion equivalente automaticamente,
Este es el codigo que recoje los registros (Como si tuviesemos 2 columnas en un combobo x ya que por descracia este objeto no admite mas de una coluimna)
Private Sub Form_Load()
' lee la ruta donde esta la base de datos
Open "ruta.txt" For Input As #1
Input #1, dato
RutaBasedatos = dato
datPrimaryRS.DatabaseName = RutaBasedatos
' asigna los valores al combobox de grupos
Set DB = OpenDatabase(RutaBasedatos)
Set nregistros = DB.OpenRecordset("select DISTINCT numero,descripcion from Grupos order by numero; ")
Do While Not nregistros.EOF
Combo1.AddItem nregistros!descripcion
Combo1.ItemData(Combo1.NewIndex) = nregistros!numero
nregistros.MoveNext
Loop
nregistros.Close
DB.Close
Private Sub txtFields_Change(Index As Integer)
Combo1.ListIndex = txtFields(4).Text
End Sub
txtFields(4).Text es un campo de un formulario que contiene registros ( controlados por un Data)
pero me da un error de "NO COINCIDEN los Tipos"
Si por ejemplo pongo Combo1.ListIndex = 2 funciona perfectamente asi que sera un problema de conversion de tipos digo Yo.
Lo he intentado almacenando el text1.text en una variable y de 40 maneras mas pero no hay manera.
Haber si me echais una manita, necesito que al pasar a cualquier registro el combobox se situe en la descripcion equivalente automaticamente,
Este es el codigo que recoje los registros (Como si tuviesemos 2 columnas en un combobo x ya que por descracia este objeto no admite mas de una coluimna)
Private Sub Form_Load()
' lee la ruta donde esta la base de datos
Open "ruta.txt" For Input As #1
Input #1, dato
RutaBasedatos = dato
datPrimaryRS.DatabaseName = RutaBasedatos
' asigna los valores al combobox de grupos
Set DB = OpenDatabase(RutaBasedatos)
Set nregistros = DB.OpenRecordset("select DISTINCT numero,descripcion from Grupos order by numero; ")
Do While Not nregistros.EOF
Combo1.AddItem nregistros!descripcion
Combo1.ItemData(Combo1.NewIndex) = nregistros!numero
nregistros.MoveNext
Loop
nregistros.Close
DB.Close
Valora esta pregunta


0