Access - Problemas con combos en Access

   
Vista:

Problemas con combos en Access

Publicado por Chris SickMind (1 intervención) el 17/09/2008 16:49:49
En un formulario quiero hacer un ABm de una tabla. En un subformulario en dicho, formulario muestro la tabla con sus campos en formato hoja de datos. A cada campo lo muestro con un combo por si quiero modificar algo. Son combos encadenados donde al modificar el primer campo me filtra el siguiente. Por ej: Pais - Provincia con sus respectivas tablas. Le hago un requery al actualizar el primer campo pero me genera un desperfecto: se me borran todos los campos Provincia. Como lo soluciono? Hay alguna manera que pueda subir en este foro el archivito de access con el ejemplo para que se entienda mejor? Mil gracias desde ya amigos y nos estamos leyendo.
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

RE:Problemas con combos en Access

Publicado por Carlos Q. (40 intervenciones) el 18/09/2008 18:25:14
Hola
Creo que estas hablando de combos en cascada , por ejemplo , sin en un formulario tienes un campo combo donde hay nombre de colegios , al escojer un cololegio en el siguiente campo que es estudiantes solo esten los estuduantes de ese colegio seleccionado ,aca pego un codigo general para que todo los del foro lo vean, pero el ejemplo te lo envio(va comprimido) al correo que esta que aparece aqui , es un ejemplo que yo mismo encontre en internet y es muy claro , el asunto del correo es Combo Cascadas.
Espero te ayude.

Private Sub cboColumnField_AfterUpdate()

Dim strSQL As String
Dim strSQLSF As String

cboNumericField = Null

strSQL = " SELECT DISTINCT tblDemo.NumericField FROM tblDemo "
strSQL = strSQL & " WHERE tblDemo.RowField = '" & cboRowField & "' And "
strSQL = strSQL & " tblDemo.ColumnField = '" & cboColumnField & "'"
strSQL = strSQL & " ORDER BY tblDemo.NumericField;"

cboNumericField.RowSource = strSQL

strSQLSF = " SELECT * FROM tblDemo2 "
strSQLSF = strSQLSF & " WHERE tblDemo2.RowField = '" & cboRowField & "' And "
strSQLSF = strSQLSF & " tblDemo2.ColumnField = '" & cboColumnField & "'"


Me!sfrmForm.LinkChildFields = ""
Me!sfrmForm.LinkMasterFields = ""

Me!sfrmForm.LinkChildFields = "RowField;ColumnField"
Me!sfrmForm.LinkMasterFields = "RowField;ColumnField"
Me.RecordSource = strSQLSF
Me.Requery

End Sub

Private Sub cboNumericField_AfterUpdate()

Dim strSQLSF As String

strSQLSF = " SELECT * FROM tblDemo2 "
strSQLSF = strSQLSF & " WHERE tblDemo2.RowField = '" & cboRowField & "' And "
strSQLSF = strSQLSF & " tblDemo2.ColumnField = '" & cboColumnField & "' And "
strSQLSF = strSQLSF & " tblDemo2.NumericField = " & cboNumericField

Me!sfrmForm.LinkChildFields = ""
Me!sfrmForm.LinkMasterFields = ""

Me!sfrmForm.LinkChildFields = "RowField;ColumnField;NumericField"
Me!sfrmForm.LinkMasterFields = "RowField;ColumnField;NumericField"
Me.RecordSource = strSQLSF
Me.Requery

End Sub
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