Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/10/2003, 23:30
AMTelemarket
 
Fecha de Ingreso: agosto-2003
Mensajes: 7
Antigüedad: 21 años, 3 meses
Puntos: 0
Una forma poco elegante, pero efectiva, sería por ejemplo:

En Access:
Tabla Tb_Regiones
Region_Nombre --> Nombre de la región (Cadena)
Region_Id --> Identificador de la región (Entero Largo)

Tabla Tb_Ciudades
Ciudad_Nombre --> Nombre de la Ciudad (Cadena)
Region_Id --> Identificador de la región (Entero Largo) (de Tabla Tb_regiones)

en el código de VB:

Private Sub LlenaComboRegiones()
'llena el Combo regiones
sSQL = "SELECT * FROM Tb_Regiones
Set RS = New ADODB.Recordset
Set RS = cn.Execute(sSQL)
comboRegiones.Clear
While Not RS.EOF
sRegion=RS.Fields("Region_Nombre") & Space(55) & RS.Fields("Id")
cmbEstacion.AddItem sRegion
RS.MoveNext
Wend
RS.Close
Set RS = Nothing
End Sub


Private sub comboRegiones_Click
Dim inCounter As Integer
Dim inFoundPos As Integer
Dim x As Integer
Const PARSECHAR = " "

sRegion = comboregiones.Text
If Len(sRegion) = 0 Then Exit Sub

'Empezar en el último caracter
inCounter = Len(sRegion)

'Buscar un espacio
inFoundPos = InStrRev(sRegion, PARSECHAR, inCounter)

'Asignar la última parte de la cadena a sRegion
sEstacion = Mid(sRegion, inFoundPos + 1, (Len(sEstacion) - inFoundPos + 1))

LlenaComboCiudades sRegion
End Sub

Private Sub LlenaComboCiudades(sRegion as string)
'llena el Combo ciudades
sSQL = "SELECT * FROM Tb_Ciudades as WHERE Region_Id = '"& sRegion &"'"
Set RS = New ADODB.Recordset
Set RS = cn.Execute(sSQL)
comboCiudades.Clear
While Not RS.EOF
sCiudad=RS.Fields("Ciudad_Nombre")
comboCiudad.AddItem sCiudad
RS.MoveNext
Wend
RS.Close
Set RS = Nothing
End Sub

Espero que les sirva
Saludos