Visual Basic - Llenar combo con otro combo

Life is soft - evento anual de software empresarial
   
Vista:

Llenar combo con otro combo

Publicado por Christian (4 intervenciones) el 19/01/2012 16:29:14
Hola a todos quisiera saber si me pueden ayudar en este inconveniente que tengo

Tengo 3 combos Departamentos, Provincias y Distritos y quiero actualizar el de provincias eligiendo el departamento correspondiente y luego de elegir la provincia que se actualice tambien el de distritos pero no puedo lograrlo hasta el momento les envio el codigo que tengo hasta el momento

Este primer codigo si me funciona para llenar cualquier combo con la tabla que yo quiera
dicho sea de paso con este codigo llene el combo de departamentos ya que tengo a los departamentos en una tabla independiente....

Public Sub llenarcombo(c As ComboBox, t As String, col As Integer)
If Rstemp.State = 1 Then Rstemp.Close
Dim sql$
sql = "select * from " + t
Rstemp.Open sql, cn, adOpenStatic, adLockOptimistic
Do While Not Rstemp.EOF
c.AddItem Rstemp(col)
Rstemp.MoveNext
Loop
Rstemp.Close
End Sub

Pero ahora quiero actualizar el combo Provincia y sacar las respectivas provincias por departamento que tengo desde una tabla llamada ubigeo el cual almacena a los departamentos, provincias y distritos mas o menos con esta estructura

codidpto codiprov codidist nombre
01 00 00 Amazonas nombre del primer departamento
01 01 00 Bagua nombre de la primer provincia
01 01 01 Aramango nombre del primer distrito
01 01 02 Copallin nombre del primer distrito

Pensaba en algo como esto pero no me funciona me sale un mensaje indicando que no coinciden los tipos de datos en la expresion de criterios....
claro que la condicion para que recorra solo los registros que quiero faltaria pero aun asi no funciona...........

Public Sub llenarcomboProvincia(c As ComboBox, t As String, campo1 As String, campo2 As String, cond1 As String, cond2 As String, col As Integer)
If Rstemp.State = 1 Then Rstemp.Close
Dim sql$

sql = "select * from " + t + " where " + campo1 + " = " & " " + cond1 + " and " & campo2 + " = " + cond2 + " "
Rstemp.Open sql, cn, adOpenStatic, adLockOptimistic
Do While Not Rstemp.EOF
c.AddItem Rstemp(col)
Rstemp.MoveNext
Loop
Rstemp.Close
End Sub

alguien quien me pueda orientar o ayudar se lo agradeceria mucho.............
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Llenar combo con otro combo

Publicado por Iñaki (502 intervenciones) el 19/01/2012 21:35:28
El mensaje de error que te da es porque intentas enlazar un campo numerico con otro diferente.
Posiblemente los campos de "Provincia" sean tipo caracter, por lo que para hacer una busqueda o comparacion necesitas encerrar los valores con comilla simple " ' ".

Ejemplo:

sql = " select nombre from lugares where provincia = " & " ' " & clave_provincia & " ' "
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llenar combo con otro combo

Publicado por Christian (4 intervenciones) el 20/01/2012 19:33:28
Gracias por el dato Iñaki pero ahora con tu ayuda solo puedo ver una sola provincia del departamento seleccionado como haria para ver el resto de provincias basado en las condiciones codidpto y codiprov

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar