Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

llenar combobox de formulario word con datos de access

239 views
Skip to first unread message

SAM S.L

unread,
Oct 3, 2007, 11:21:27 AM10/3/07
to
> Hola
>
> Quiero llenar un combobox de un formulario de word con los datos de una
> tabla access, el codigo que he puesto es:
>
> Private Sub ComboBox1_Click()
> Dim dbs As Database
> Set dbs = OpenDatabase("c:\projectes\test1.mdb")
> Dim rst As Recordset
> Set rst = dbs.OpenRecordset("SELECT * FROM operadors")
> ComboBox1.ColumnCount = 1
> rst.MoveFirst
> Dim i As Single
> Set i = 0
> Do While Not rst.EOF
> ComboBox1.List(i) = rst.Fields("nom").Value & " ," &
> rst.Fields("cognoms").Value
> rst.MoveNext
> i = i + 1
> Loop
>
> End Sub
>
> la tabla de access se llama operadors y la base de datos test1 y tiene 3
> campos; num, nom i cognoms
> hay 5 entradas en la base de datos
> esperaba ver un combo que al desplegarse enseñara las 5 entradas, pero no
> pone nada
>
> Me imagino que es una tonteria pero, para variar, no se que hago mal
>
> Muchas gracias por vuestra ayuda
>

Urpiano Cedazo

unread,
Oct 3, 2007, 11:41:29 AM10/3/07
to
Para añadir elementos a la lista debes usar el método AddItem
 
    Dim dbs As Database

    Dim rst As Recordset
    Set dbs = OpenDatabase("c:\projectes\test1.mdb")
    Set rst = dbs.OpenRecordset("SELECT * FROM operadors")
    ComboBox1.ColumnCount = 1
    rst.MoveFirst
    Set i = 0
    Do While Not rst.EOF
        ComboBox1.AddItem rst.Fields("nom").Value & ", " & _
                          rst.Fields("cognoms").Value
        rst.MoveNext
    Loop


--
Un saludo
Urpiano Cedazo
"SAM S.L" <SAM...@terra.ES> escribió en el mensaje de noticias news:F1E6BBF9-5F05-4481...@microsoft.com...

SAM S.L

unread,
Oct 3, 2007, 12:42:41 PM10/3/07
to
Hola.
 
Lo he probado de ambas maneras y no aparece nada en el combo
"Urpiano Cedazo" <el....@melonares.org> escribió en el mensaje de noticias news:e869cPd...@TK2MSFTNGP06.phx.gbl...

Tux

unread,
Oct 3, 2007, 1:35:25 PM10/3/07
to
Hola Urpiano y hola ? :)

> Hola.
>
> Lo he probado de ambas maneras y no aparece nada en el combo

> ..


Prueba a ver con esto:

'[]

Sub prueba_Combobox_word_Access()


Dim dbDatabase As DAO.Database
Dim x As DAO.Recordset
Dim i As Integer

Set dbDatabase = OpenDatabase _
("G:\Documents and Settings\Monica\Escritorio\test1.mdb")


Set x = dbDatabase.OpenRecordset("SELECT * FROM operadors")

With x

Do While Not x.EOF
ComboBox1.AddItem x("nom") & " " & x("cognoms")
x.MoveNext
Loop


End With

x.Close
dbDatabase.Close
Set x = Nothing
Set dbDatabase = Nothing

End Sub

'[]

intenta no colocar el codigo en el evento del combobox ya que tendras
problemas de repeticion de datos a la hora de seleccionar Items, puedes
ponerlo en el evento [ open ] del documento pero tendras que poner otro
evento en [ Closed ] para limpiar el combobox :)

Y no pregutes la misma pregunta en varios foros a la vez puesto que
estas quitando tiempo de ayuda a otros usuarios :-((

Y si cualquier duda adicional , nos comentas ok? :-)

Saludos
Monica


--

Estado: A la Espera By Fermu

Tic-Tac-Tic-Tac...

» Now We are free [Enya]
» United states of love [ Westbam and the love commitee ]

www.fermu.com

------------------------

SAM S.L

unread,
Oct 3, 2007, 4:18:30 PM10/3/07
to
Hola.
En microsoft he encontrado un ejemplo muy completo que si me funciona. es el
kb253542
dejo un link aqui por si le puede servir a alguien mas:
http://support.microsoft.com/kb/253542

"Tux" <l...@sitio.com> escribió en el mensaje de noticias
news:u7c5oOe...@TK2MSFTNGP06.phx.gbl...

Tux

unread,
Oct 3, 2007, 4:45:09 PM10/3/07
to
Hola :-)

> Hola.
> En microsoft he encontrado un ejemplo muy completo que si me funciona.
> es el kb253542
> dejo un link aqui por si le puede servir a alguien mas:
> http://support.microsoft.com/kb/253542
>

Si ya lo se ya pero ese codigo te dara error :-(( a la larga, ya lo he
probado y requeteprobado :-) con el tiempo te cargara mas datos de los
necesitados :-(

Bueno igual dependiendo de las versiones de office ??? no se no obstante
si te funciona pues perfecto :)

Gracias y saludos :-)

SAM S.L

unread,
Oct 4, 2007, 12:02:54 PM10/4/07
to
bueno, no se .... quizas soy todavia muy torpe en esto, pero lo que hago al
inicializar el formulario es limpiar los combos pare evitar que aparezcan
datos fantasmas .... de momento funciona bastante bien (o eso me parece a
mi!)

If ComboBox_plantilla.ListCount > 0 Then
ComboBox_plantilla.Clear
End If

utilizo office 2003 con sp3

De todos modos tambien aprovecho y voy probando con todo lo que veo por aqui

Creo que el primer problema que tenia eran las referencias mal puestas,
despues todo ha ido funcionando mas o menos bien. Muchas gracias por vuestra
ayuda y consejo

Jordi

"Tux" <l...@sitio.com> escribió en el mensaje de noticias

news:e%232ro4fB...@TK2MSFTNGP04.phx.gbl...

0 new messages