Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

ayuda Datacombo Acces

Estas en el tema de ayuda Datacombo Acces en el foro de Visual Basic clásico en Foros del Web. hola que tal a todos ojala me puedan ayudar tengo estas tablas: :::::TABLA::::: CIUDAD :::CAMPOS:::|:::tipo dato::: codCiudad| autonumerico |clave principal nombCiudad | texto| 30 longitud ...
  #1 (permalink)  
Antiguo 17/02/2008, 13:13
Avatar de Drknow  
Fecha de Ingreso: febrero-2008
Mensajes: 121
Antigüedad: 16 años, 2 meses
Puntos: 1
ayuda Datacombo Acces

hola que tal a todos ojala me puedan ayudar
tengo estas tablas:
:::::TABLA:::::
CIUDAD
:::CAMPOS:::|:::tipo dato:::
codCiudad| autonumerico |clave principal
nombCiudad | texto| 30 longitud
----------------------------------------------------------------
:::::TABLA:::::
Distritos
:::CAMPOS:::|:::TiPoDato:::
CodDistrito | autonumerico|clave principal
nombredistrito |texto|30 longitud
CodCiudad | numero| entero largo
------------------------------------------------------------------
obviamente tengo mantenimiento de ciudad y distritos en vb para ir agregando,
cuando agrego un distrito agrego el código de la ciudad al que va pertenecer

estoy trabajando con Dataenviroment,Vb 6.0, Accces 2003
tengo un formulario de mantenimiento de xxxx

donde tengo un datacombo ciudad donde enlazo ala tabla ciudad para elegir la ciudad y ese dato guardarlo en el mantenimiento xxxx

lo que quiero es que cuando elijo la ciudad en el datacombo distrito
solo me muestre los distritos que yo aya registrado con el campo codigo de la ciudad

por ejemplo el codigo de la ciudad lima es 14 cuando registro el distrito pongo el nombre del registro y el numero de codigo de la ciudad que va pertenecer osea 14
si tengo 10 distritos en la ciudad de lima aparecen el el datacombo distrito, si no tengo nada que no aparesca nada.

gracias
  #2 (permalink)  
Antiguo 17/02/2008, 15:19
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: ayuda Datacombo Acces

¿Provaste a hacer una cosulta SELECT que aplicada a un recordset recupere los registros de lo señalizado en el datacombo?

consejo: te olvidas del " Dataenviroment,Vb 6.0, Accces 2003" y te haces tu propia conexión, tendrás menos problemas si lo quieres empaquetar para instalar en otra pc.
  #3 (permalink)  
Antiguo 17/02/2008, 15:52
Avatar de Drknow  
Fecha de Ingreso: febrero-2008
Mensajes: 121
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda Datacombo Acces

Si se que se hace una consulta cuando hago clic en DataCiudad
mira:
Dataciudad

Rowsource : DataSistema
RowMenber :CmdCiudad
ListFields : NombCiudad

DataSource : DataSistema
DataMembre :CmdUsuario
BoundColumn : NombCiudad
--------------------------------------------------------------
DataDistrito

Rowsource : DataSistema
RowMenber :CmdDistrito
ListFields : NombDistrito

DataSource : DataSistema
DataMembre :CmdUsuario
BoundColumn : NombCiudad

lo que quiero es que si me puedes dar un ejemplo de como hago la consulta es que estoy un poco nokeado
aparte que soy nobato

para que muestre los Distritos en el datadistrito que son de la ciudad selecionada

gracias
  #4 (permalink)  
Antiguo 18/02/2008, 03:51
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: ayuda Datacombo Acces

Te pongo un ejemplo comentado.
En este caso son dos ComboBox que son mas manejables que el DataCombo y hacemos la conexión a la BD por código (sin ningún control Data)
En el Combo1 se muestran las ciudades y al seleccionar una de ellas, el Combo2 se carga con los nombres de los distritos de esa ciudad.

Código:
Option Explicit
' declaramos la conexión a nivel de módulo
' para que esté activa hasta salir
Dim cn As ADODB.Connection
' igualmente para el recordset
Dim rs As ADODB.Recordset

Private Sub Combo1_Click()
Dim iCod As Integer
' varible que hemos guardado en la propiedad ItemData del Combo1
iCod = Combo1.ItemData(Combo1.ListIndex)
' creamos un nuevo recordset con los distritos de la ciudad seleccionada
Set rs = New ADODB.Recordset
rs.Open "SELECT * FROM Distritos WHERE codCiudad = " & iCod, cn, adOpenStatic, adLockOptimistic
'limpiamos el Combo2 y cargamos los datos del recordset
Combo2.Clear
Do Until rs.EOF
    Combo2.AddItem rs!nombredistrito
    rs.MoveNext
Loop
rs.Close
End Sub

Private Sub Form_Load()
Dim sBase As String
    
sBase = App.Path & "\MiBaseDatos.mdb" ' suponemos que la BD está en el mismo directorio de la aplicación
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sBase
rs.Open "SELECT * FROM Ciudad", cn, adOpenStatic, adLockOptimistic
Do Until rs.EOF
    ' cargamos en el combo el nombre de la ciudad y en la propiedad
    ' ItemData, el código de la misma
    Combo1.AddItem rs!nombCiudad
    Combo1.ItemData(Combo1.NewIndex) = rs!codCiudad
    rs.MoveNext
Loop
rs.Close
End Sub

Private Sub Form_Unload(Cancel As Integer)
' cerramos la BD y liberamos las variables
Set rs = Nothing
Set cn = Nothing
End Sub
Espero que lo puedas aplicar a tu proyecto.
  #5 (permalink)  
Antiguo 18/02/2008, 06:28
Avatar de Drknow  
Fecha de Ingreso: febrero-2008
Mensajes: 121
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda Datacombo Acces

gracias buen aporte ya lo estoy acabando
  #6 (permalink)  
Antiguo 18/02/2008, 15:42
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: ayuda Datacombo Acces

Bien, cuando lo acabes nos indicas si te funcionó (no es obligatorio, pero podría servir para otros con la misma duda)

Suerte!
  #7 (permalink)  
Antiguo 22/02/2008, 09:40
Avatar de Drknow  
Fecha de Ingreso: febrero-2008
Mensajes: 121
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda Datacombo Acces

bueno la verdad es que tengo que trabajar con dataenviroment aun no estoy en objetos ado lo que necesito es generar un filtro como en el hotmail elijes un pais y en el otro datacombo te sale las ciudades, pero en mi caso elijo la ciudad y el datacombo(distrito) me tiene que generar los distritos registrados con el nombre o codigo de la ciudad al que pertenecen, bueno esto es lo que hice y no me resulto :
.GRACIAS


Private Sub DataCiudad_Click(Area As Integer)
If DataCiudad <> Empty Then
DataSistema.rsCmdDistritos.Filter = "Codciudad=" + DataCiudad.BoundText
DataSistema.rsCmdDistritos.Requery
DataDistrito.ListField = "Codciudad=" + DataCiudad.BoundText
DataDistrito.Refresh
End If
End Sub
  #8 (permalink)  
Antiguo 22/02/2008, 14:04
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: ayuda Datacombo Acces

Bueno si es obligatorio trabajar con el "dataenviroment" no tengo nada que decir, ya que nunca trabajé con él, pero podrías, al menos probar el código que te puse, no es tan dificil y quizá te ayudara a dejar el dichoso dataenviroment.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:08.