rutina de llena de combox
Publicado por jose (128 intervenciones) el 18/10/2002 01:35:54
Alguien me dio la rutina de abajo que le puse llenarcombo, y funciona bien, unico problema, es que yo deseo que el combo aparezca ordenado por el campo mes (este es el codigo del mes, 01,02,03,04 hasta 12) y aparecen las descripciones sin ningun orden
yo le mando ambos campos a la rutina. leer mas abajo de la rutina.
Sub llenarcombo(Combo As Control, Tabla As String, Item As String, Codigo As String, MyConnection As ADODB.Connection)
Dim SQL As String
Dim rstTemp As New ADODB.Recordset
SQL = "SELECT * FROM" & " " & Tabla & " "
SQL = SQL$ & "ORDER BY" & " " & Item
rstTemp.Open SQL, MyConnection
Combo.AddItem "otros" 'si quito esta instruccion la de abajo marca error, no sigue.
Combo.ItemData(Combo.NewIndex) = 0
Do While Not rstTemp.EOF
DoEvents
Combo.AddItem rstTemp.Fields(Item)
Combo.ItemData(Combo.NewIndex) = rstTemp.Fields(Codigo)
rstTemp.MoveNext
Loop
rstTemp.Close
Set rstTemp = Nothing
End Sub
con las instrucciones de abajo llamo a la rutina llenarcombo.
Set rs0 = New ADODB.Recordset
rs0.Open "Select * from meses_pda", Cnn, adOpenDynamic, adLockPessimistic
CB_NoPartida.Clear
llenarcombo CB_NoPartida, "meses_Pda", "nommes", "mes", Cnn
si hago esto:
rs0.Open "Select mes,nommes from meses_pda order by mes asc", Cnn, adOpenDynamic, adLockPessimistic
yo le mando ambos campos a la rutina. leer mas abajo de la rutina.
Sub llenarcombo(Combo As Control, Tabla As String, Item As String, Codigo As String, MyConnection As ADODB.Connection)
Dim SQL As String
Dim rstTemp As New ADODB.Recordset
SQL = "SELECT * FROM" & " " & Tabla & " "
SQL = SQL$ & "ORDER BY" & " " & Item
rstTemp.Open SQL, MyConnection
Combo.AddItem "otros" 'si quito esta instruccion la de abajo marca error, no sigue.
Combo.ItemData(Combo.NewIndex) = 0
Do While Not rstTemp.EOF
DoEvents
Combo.AddItem rstTemp.Fields(Item)
Combo.ItemData(Combo.NewIndex) = rstTemp.Fields(Codigo)
rstTemp.MoveNext
Loop
rstTemp.Close
Set rstTemp = Nothing
End Sub
con las instrucciones de abajo llamo a la rutina llenarcombo.
Set rs0 = New ADODB.Recordset
rs0.Open "Select * from meses_pda", Cnn, adOpenDynamic, adLockPessimistic
CB_NoPartida.Clear
llenarcombo CB_NoPartida, "meses_Pda", "nommes", "mes", Cnn
si hago esto:
rs0.Open "Select mes,nommes from meses_pda order by mes asc", Cnn, adOpenDynamic, adLockPessimistic
Valora esta pregunta


0