Rellenar datacombos

Hola experto, tengo un formulario de entrada de datos en los cuales tengo que seleccionar en el primer datacombo y automáticamente llenar ls otros dos relacionándolos con una clave seleccionada en el primero
el primero datacombo lo lleno en una función y elsegundo y el tercero los trato de llenar en el evento clic del primero, una vez que tengo la clave para realizar el filtro, este es el código que tengo en en el evento clic del primero, pero solo me pone un texto u no me llena los datos como debe ser
Private Sub CboUResp_Click(Area As Integer)
Dim Consu As String
If Area = 0 Then
Consu = "Select *from cat_pres_prog WHERE U_RESP='" & CboUResp.BoundText & "'"
rstProg.Open Consu, Conexion, adOpenStatic, adLockReadOnly
Set CboProg.RowSource = rstProg
CboProg.DataField = "cve_prog"
CboProg.BoundColumn = "cve_prog"
CboProg.ListField = "Descrip"
CboProg.Tag = rstProg.Fields("cve_pres_prog")
Set CboProg.DataSource = rstProg
CboProg.ReFill
CboProg.Refresh
rstProg.Close
rstOfi.Open "select *from cat_pres_ofi WHERE U_RESP='" & CboUResp.BoundText & "'", Conexion, adOpenStatic, adLockReadOnly
Set CboOfi.RowSource = rstOfi
CboOfi.DataField = "cve_ofi"
CboOfi.BoundColumn = "cve_ofi"
CboOfi.ListField = "Descrip"
CboOfi.Tag = rstOfi.Fields("cve_pres_ofi")
Set CboOfi.DataSource = rstOfi
CboOfi.Refresh
rstOfi.Close
End If
CboOfi.SetFocus
End Sub
Y si evalúo la propiedad record count si me muestra valores diferentes de 0 osea 10
MUCHAS GRACIAS POR su respuesta, ah y otra duda, porqeum e esta dice y dice que el objeto esta cerrado o abierto, ya me confundí y estoy como bloqueada, gracias por la ayuda
Respuesta
1
¿Sddumh? Yo utilizo un código parecido y me funciona bien revísalo seguro con eso solucionas
En un modulo
==============
Option Explicit
Public dbConex As New Connection
Public Sub Main()
dbConex.CursorLocation = adUseClient
dbConex.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database01.mdb;Jet OLEDB:Database Password=52526324"
Form1.Show
End Sub
En el formulario
==================
Dim rsCateg As Recordset
Dim rsProd As Recordset
Private Sub Form_Load()
Set rsCateg = New Recordset
rsCateg.Open "SELECT * FROM categoria", dbConex, adOpenStatic, adLockOptimistic
'********************
dtcCategoria.BoundColumn = "CodCat"
dtcCategoria.ListField = "NomCat"
Set dtcCategoria.RowSource = rsCateg
'*******************
End Sub
Private Sub dtcCategoria_Change()
'Llena el DATACOMBO (dtcarticulo) con los nombre de los articulos según su categoría
'dtcCategoria.BoundText: Recupera el codigo de la categoria
Set rsProd = New Recordset
rsProd.Open "SELECT * FROM producto WHERE CodCat='" + Trim(dtcCategoria.BoundText) + "'", dbConex, adOpenStatic, adLockOptimistic
'********************
dtcProducto.BoundColumn = "CodProd"
dtcProducto.ListField = "NomProd"
Set dtcProducto.RowSource = rsProd
'*******************
End Sub
Private Sub dtcProducto_Change()
rsProd.MoveFirst
rsProd.Find "CodProd ='" + Trim(dtcProducto.BoundText) + "'"
If Not rsProd.EOF Then
txtnomprod = rsProd.Fields("NomProd")
txtprecio = rsProd.Fields("PrecioVenta")
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas