Retroceder   Foros del Web > Temas generales de computación > Programación > Visual Basic

Respuesta
 
Herramientas Desplegado
Antiguo 17-feb-2008, 12:13   #1 (permalink)
Drknow ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2008
Mensajes: 14
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
Drknow está desconectado   Responder Citando
Antiguo 17-feb-2008, 14:19   #2 (permalink)
Avellaneda tiene algunos puntos positivos de karma
 
Avatar de Avellaneda
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 792
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.
Avellaneda está desconectado   Responder Citando
Antiguo 17-feb-2008, 14:52   #3 (permalink)
Drknow ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2008
Mensajes: 14
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
Drknow está desconectado   Responder Citando
Antiguo 18-feb-2008, 02:51   #4 (permalink)
Avellaneda tiene algunos puntos positivos de karma
 
Avatar de Avellaneda
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 792
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.
Avellaneda está desconectado   Responder Citando
Antiguo 18-feb-2008, 05:28   #5 (permalink)
Drknow ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2008
Mensajes: 14
Re: ayuda Datacombo Acces

gracias buen aporte ya lo estoy acabando
Drknow está desconectado   Responder Citando
Antiguo 18-feb-2008, 14:42   #6 (permalink)
Avellaneda tiene algunos puntos positivos de karma
 
Avatar de Avellaneda
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 792
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!
Avellaneda está desconectado   Responder Citando
Antiguo 22-feb-2008, 08:40   #7 (permalink)
Drknow ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2008
Mensajes: 14
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
Drknow está desconectado   Responder Citando
Antiguo 22-feb-2008, 13:04   #8 (permalink)
Avellaneda tiene algunos puntos positivos de karma
 
Avatar de Avellaneda
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 792
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.
Avellaneda está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 17:36.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93