
25/11/2009, 12:54
|
| | Fecha de Ingreso: julio-2009
Mensajes: 26
Antigüedad: 15 años, 9 meses Puntos: 0 | |
Respuesta: Hola, aqui tengo el sig. codigo. Aqui ya lo tengo corregido todo, lo que hace el codigo este es lo siguiente:
si seleccionas determinada seccion te devolvera solo el num_localidad y el nombre_localidad que corresponde con esta seccion ( que estan en el mismo renglon en la tabla de la b.d. access 2007), antes queria hacer esta relacion con datacombo pero no se deja ordenar ni siquiera con ordenacion burbuja, a lo mejor si se puede pero no me salio, y aqui esta el codigo:
Option Explicit
'Declarar las variables
Dim lIndex As Long
Dim MiConexion As ADODB.Connection
Dim MiRecordset As ADODB.Recordset
Dim arreglocombo1() As String
Dim arreglocombo2() As String
Dim i As Integer
Dim ruta As String
Private Sub Form_Load()
Combo1.Clear
Set MiConexion = New ADODB.Connection
Set MiRecordset = New ADODB.Recordset
ruta = App.Path & "\bd1.mdb"
MiConexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & ruta & ";Persist Security Info=False"
MiConexion.CursorLocation = adUseClient
MiConexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ruta
MiRecordset.Open "SELECT SECCION FROM LIMLOC_DTTO_SECC Where DISTRITO = 1 Order by SECCION", MiConexion, adOpenDynamic, adLockOptimistic
i = 0
While Not MiRecordset.EOF
ReDim Preserve arreglocombo1(i)
Combo1.List(Combo1.ListIndex) = MiRecordset.Fields("SECCION")
arreglocombo1(i) = MiRecordset.Fields("SECCION")
MiRecordset.MoveNext
i = i + 1
Wend
MiRecordset.Close
MiConexion.Close
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''
MiConexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & ruta & ";Persist Security Info=False"
MiConexion.CursorLocation = adUseClient
MiConexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ruta
MiRecordset.Open "SELECT LOCALIDAD, NOMBRE FROM LIMLOC_DTTO_SECC Where DISTRITO = 1 Order by SECCION", MiConexion, adOpenDynamic, adLockOptimistic
'While Not MiRecordset.EOF
'With Combo1
'.AddItem MiRecordset.Collect("LOCALIDAD")
'.ItemData(.NewIndex) = MiRecordset.Collect("NOMBRE")
'End With
'MiRecordset.MoveNext
'Wend
'y para recuperar el numero:
'Dim numero As Long
'numero = Combo1.ItemData(Combo1.ListIndex)
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''
i = 0
While Not MiRecordset.EOF
ReDim Preserve arreglocombo2(i)
'Combo2.List(Combo1.ListIndex) = MiRecordset.Fields("LOCALIDAD") & MiRecordset.Fields("NOMBRE")
arreglocombo2(i) = MiRecordset.Fields("LOCALIDAD") & MiRecordset.Fields("NOMBRE")
MiRecordset.MoveNext
i = i + 1
Wend
End Sub
Private Sub Combo1_Click()
Combo2.Clear
lIndex = Combo1.ListIndex
Combo2.List(Combo2.ListIndex) = Combo2.List(Combo1.ListIndex) & arreglocombo2(lIndex)
'ListCount: sirve para indicar el número de elementos en la lista correspondiente
'ListIndex: proporciona el número de orden del elemento que se ha seleccionado; AddItem y RemoveItem permite agregar o eliminar elementos.
'List (n): obtiene el elemento cuyo número de orden está indicado con “n”.
'Text: consiste en una propiedad que muestra el texto de la parte Textbox del Combobox, la cual puede introducirse a través del teclado o ser una opción seleccionada, como vimos anteriormente.
'MsgBox "Seleccionado " & Combo2.List(Combo1.ListIndex) & " con indice " & lIndex
End Sub
''''GRACIAS por responder. |