Subformularios "vinculados" en un formulario.

Tengo una BD en la que llevo un registro de facturas de luz, con dos tablas: PtoSuministros (Código-> Autonum y clave, Punto Suministro->Texto, Comercializadora, vigente y Concepto) y Consumos (Código->num, Importe->moneda, FInicial y FFinal-> ambos fecha), relacionadas a través de Código (uno a varios).

Luego tengo 4 formularios:

FCodigos: es un formulario continuo que recoge los valores de la tabla PtoSuministros sólo de los campos Código y Punto Suministro.

FConsumos: Recoge todos los campos de la Tabla PtoSuministros y tiene un subform para introducir los consumos de cada factura.

SubFRegistro: es el subformulario que va en FConsumos.

FPtoSuministros: Es un formulario independiente, en el que tengo como subformularios FCodigos y FConsumos.

Lo que intento (si se puede hacer), es que al seleccionar un registro en FCodigos, en FConsumos se muestren los datos de ese registro, de tal manera que en la parte izquierda del Formulario FPtoSuministros me salga un listado de todos los registros en los que hay suministro eléctrico, y al seleccionar uno u otro, en la derecha, en el formulario FConsumos me salgan todos los datos de cada punto de suministro y pueda ir añadiendo mes a mes los datos de las facturas.

Espero que no me haya liado mucho en la explicación... XD

Ah, uso access 2003, y la bd tiene formato access 2000.

1 respuesta

Respuesta
4

Intentar describirme toda una aplicación en Access es una proeza, por supuesto, pero, aunque me puedo hacer una idea aproximada de cómo funcionas, me es imposible saber la mecánica de funcionamiento, lo que implica que no puedo darte una solución si no veo la BD, dado que la consulta es compleja.

Si quieres pásamela (comprimida en zip o rar) a mi mail, que es neckkito(ARROBA)yahoo(PUNTO)es

Te agradecería que en el mail me indicaras, si puedes, algún ejemplo de cuál debería ser el resultado final.

Ya te envíe la BD por correo. Un saludo

Te explico lo que debes hacer:

1.- Abre tu formulario FCodigos en vista diseño. Seleccionas el campo
[Código] y sacas sus propiedades. En la pestaña Eventos ? Al
hacer click, le generas el siguiente código:

...

Private Sub Código_Click()
Dim vCod As Long
Dim miFiltro As String
'Cogemos el valor del código
vCod = Me.Código.Value
'Creamos el filtro
miFiltro = "[Código]=" & vCod
'Nos vamos al subform FConsumos y le aplicamos a él el filtro
With Forms!FPtoSuministros.FConsumos.Form
.Filter = miFiltro
.FilterOn = True
End With
End Sub

...

Con esto tu consulta ya está contestada.

Por el tema del botón que no te funciona, sacas el código del botón y sólo tienes que cambiar una línea. Te pongo todo el código y te marco en negrita la nueva línea (la "incorrecta" te la he dejado convertida en comentario):

...

Private Sub cmdConsumo_Click()
Dim titulo1 As String, titulo2 As String
titulo1 = "Consumo"
titulo2 = "Terminar"
If cmdConsumo.Caption = titulo1 Then
cmdConsumo.Caption = titulo2
Me.SubFRegistro.Form.AllowAdditions = True
Me.SubFRegistro.Form.AllowEdits = True
Me.SubFRegistro.SetFocus
DoCmd.RunCommand acCmdRecordsGoToNew
'DoCmd.GoToRecord , , acNewRec
'Forms!FRegistro!SubFRegistro!FInicial.SetFocus
Else
cmdConsumo.Caption = titulo1
Me.SubFRegistro.Form.AllowAdditions = False
Me.SubFRegistro.Form.AllowEdits = False
End If
End Sub

...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas