Access - revisar codigo

 
Vista:

revisar codigo

Publicado por salva (3 intervenciones) el 28/07/2008 12:32:32
ante todo gracias al foro

tengo un formulario llamado CGASTOS con un campo cultivo, con doble click con este codigo

Private Sub IDCULTIVO_DblClick(Cancel As Integer)
On Error GoTo Err_IDCULTIVO_DblClick
Dim lngProductID As Long
If IsNull(Me![IDCULTIVO]) Then
Me![IDCULTIVO].Text = ""
Else
lngProductID = Me![IDCULTIVO]
Me![IDCULTIVO] = Null
End If
DoCmd.OpenForm "CULTIVOS"
Me![IDCULTIVO].Requery
If lngProductID <> 0 Then Me![IDCULTIVO] = lngProductID
Exit_IDCULTIVO_DblClick:
Exit Sub
Err_IDCULTIVO_DblClick:
MsgBox Err.Description
Resume Exit_IDCULTIVO_DblClick
End Sub

me abre el formulario CULTIVOS en el cual tengo un cuadro lista , al hacer doble click sobre un registro se ejecuta este codigo

Private Sub Lista27_DblClick(Cancel As Integer)
If Nz(Me.Lista27.ItemsSelected.Count, 0) = 0 Then
MsgBox "Seleccione un CULTIVO de la lista", vbInformation, "LISTA SIN SELECCION"
Else
Forms!CGASTOS!IDCULTIVO = Lista27.Column(0)
DoCmd.Close acForm, Me.Name
End If

End Sub

lo que hace es seleccionar el registro del cuadro lista y al volver a CGASTOS aparece en el campo cultivo el seleccionado.

el problema viene que tengo otro formulario llamado CINGRESO con el campo cultivo que al hacer doble click me abre el mismo formulario CULTIVOS, como puedo poner el codigo para que con doble click sobre el cuadro lista seleccione el cultivo este en el formulario CGASTO o CINGRESOS indistintamente.

gracias
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:revisar codigo

Publicado por Enrique (1299 intervenciones) el 28/07/2008 16:47:33
Hola Salva:
Prueba con estas modificaciones en tu Evento Doble Click:

Private Sub Lista27_DblClick(Cancel As Integer)
If Nz(Me.Lista27.ItemsSelected.Count, 0) = 0 Then
MsgBox "Seleccione un CULTIVO de la lista", vbInformation, "LISTA SIN SELECCION"
Else
If CurrentProject.AllForms("CGASTOS").IsLoaded Then
Forms!CGASTOS!IDCULTIVO = Lista27.Column(0)
DoCmd.Close acForm, Me.Name
ElseIf CurrentProject.AllForms("CINGRESOS").IsLoaded Then
Forms!CINGRESOS!IDCULTIVO = Lista27.Column(0)
DoCmd.Close acForm, Me.Name
End If
End If
End Sub

Como verás, he puesto un If - Then - ElseIf - End If, DENTRO del If - Then - Else - End If que ya tenías, de forma que si el Formulario que está abierto es CGASTOS, toma el IDCULTIVO de este Formulario, pero si el que está abierto es CINGRESOS, toma IDCULTIVO de este último.

Aunque no lo he probado realmente, debería de funcionar casi con toda seguridad.

Saludos
Enrique
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

RE:revisar codigo

Publicado por salva (3 intervenciones) el 28/07/2008 20:20:27
funciona perfectamente

muchisimas gracias
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