
29/12/2005, 14:04
|
 | | | Fecha de Ingreso: septiembre-2004 Ubicación: Barranquilla
Mensajes: 568
Antigüedad: 20 años, 7 meses Puntos: 0 | |
Esta bien!!!!!!!! tu ejemplo esta bien y no lo habia visto de verdad yo logre hacer algo parecido, voy a exponer el codigo:
'Hecho por Ing. Jhan Carlos Herrera Perez
'Colaboradores: Bebecita,GeoAvila,aldo1982
'Hecho en Barranquilla-Colombia
Dim conn As New ADODB.Connection ' declaramos la conexion
Dim Rs As New ADODB.Recordset 'declaramos el recordset
Private Sub DataCombo1_Change()
' porque el evento change? te preguntaras y es sencillo, cada vez que eligas o cambies a un nombre se reflejara los cambios en el segundo datacombo que presentara los cuartos donde esta dicha persona, como sabemos el cuarto?, R/relacionando dos tablas mediante un id, observese la base de datos en access
Dim conn As New ADODB.Connection ' declaramos la conexion
Dim Rs As New ADODB.Recordset 'declaramos el recordset
conn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & App.Path & "\cuartos1.mdb" & ";Uid=Admin;Pwd=;" ' Declaramos el driver de access y la ubicacion de la base de datos
' la opcion app.path nos da el direccionamiento del nuestro proyecto o programa y solo agregamos el nombre de base de datos en este caso "\cuartos1.mdb" le antepones una diagonal pra hacer la division de directorio o archivo
conn.CursorLocation = adUseClient
conn.Open 'abrimos la conexion
Rs.Open "Select c.cuarto,p.id,c.id from persona p,cuarto c where p.id=c.id And p.id = " & DataCombo1.BoundText, conn, adOpenStatic, adLockOptimistic ' abrimos el recordset"
' te presento dos alternativas, la primera es escribir en el segundo datacombo y la segunda es escribir en un text
DataCombo2.Text = Rs.Fields("cuarto") 'Escribimos en la propiedad text del segundo datacombo
Text1.Text = Rs!cuarto 'Escribimos en el text esta es la segunda opcion
End Sub
Private Sub Form_Load()
Dim conn As New ADODB.Connection ' declaramos la conexion
Dim Rs As New ADODB.Recordset 'declaramos el recordset
conn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & App.Path & "\cuartos1.mdb" & ";Uid=Admin;Pwd=;" ' Declaramos el driver de access y la ubicacion de la base de datos
' la opcion app.path nos da el direccionamiento del nuestro proyecto o programa y solo agregamos el nombre de base de datos en este caso "\cuartos1.mdb" le antepones una diagonal pra hacer la division de directorio o archivo
conn.CursorLocation = adUseClient
conn.Open 'abrimos la conexion
Rs.Open "Select id,nombre From persona order by nombre asc", conn, adOpenStatic, adLockOptimistic ' abrimos el recordset
While (Rs.EOF = False) ' hay registros mientras que final de archivo(EOF) sea falso
Set DataCombo1.DataSource = Rs
Set DataCombo1.RowSource = Rs
DataCombo1.BoundColumn = "id" 'guardamos internamente el valor del campo id que corresponde al nombre que escojamos
DataCombo1.ListField = "nombre" 'permite llenar la lista
Rs.MoveNext ' que mueva uno hacia adelande
Wend 'Asi se cierra en mientras que en visual Basic
End Sub
gracias.
__________________ Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria |