[ Air Live @ 13.05.2009. 09:56 ] @
Iz kog razloga nece da mi pozove private sub sa glavne forme pri zatvaranju ove forme

Code:
Forms![frmGlavna]![Materijal] = Me.List123.Column(2)
Forms![frmGlavna]![CijenaMaterijala] = Me.List123.Column(4)
Forms![frmGlavna]![CekMaterijal] = -1
DoCmd.Close
Forms![frmGlavna].Form.SetFocus
Call GlobalnoMaterijal ' Ovo neće da pozove


Zašto kada sam dao fokus na glavnu formu u kojoj se nalazi ovaj sub.

Probao sam i ovako
Code:
Forms!frmGlana.form.GlobalnoMaterijal


Koncetracija pameti je na 0
[ Zidar @ 13.05.2009. 13:51 ] @
Gde ti se nalazi procedure GlobalnoMaterijal ?
[ Catch 22 @ 13.05.2009. 14:26 ] @
A da pogledas u Help?

Citat:
You can call a procedure in a module associated with a subform in one of two ways. If the form containing the subform is open in Form view, you can refer to the procedure as a method on the subform. The following example shows how to call the procedure GetProductID in the Orders Subform, which is bound to a subform control on the Orders form:

In the Orders Subform class module enter:

Public Function GetProductID() As Variant
' Return current productID.
GetProductID = ProductID
End Function

Forms!Orders![Orders Subform].Form.GetProductID

You can also create a new instance (instance: An object that is created from the class that contains its definition. For example, multiple instances of a form class share the same code and are loaded with the same controls that were used to design the form class.) of the form that is being used as a subform, even if neither the main form nor the subform is open, and call the procedure. This will work for any form, whether or not it is being used as a subform. The following example shows how to create an instance of the Orders Subform and call the GetProductID procedure:

Dim frm As New [Form_Orders Subform]
frm.GetProductID

Note
When you create a new instance of a form with a name consisting of more than one word, enclose the class name (class name: The name used to refer to a class module. If the class module is a form or report module, the class name is prefaced with the type of module. For example, Form_OrderForm.) of the form in brackets, as shown in the preceding example.
[ domaci_a_nas @ 13.05.2009. 14:49 ] @
Evo i ja da se umešam. Mislim da je caka u tome što ti pozivaš PRIVATE Sub, a ne PUBLIC Sub ? Možda si čak i uspeo da pozoveš, ali procedura ne radi to što bi ti hteo?
[ Miro35 @ 13.05.2009. 14:50 ] @
Probaj upisati Call GlobalnoMaterijal_Click ako ti je to dogadjaj na dugmetu on_Click
[ Air Live @ 13.05.2009. 15:30 ] @
Citat:
Zidar: Gde ti se nalazi procedure GlobalnoMaterijal ?


Procedura se nalazi na glavnoj formi.

Malo sam odmarao mozak pa evo sad sam opet počeo da nešto raduckam

Procedura radi kada je pozivam sa glavne forme preko nekog dugmeta što znači da funkcija radi.Ali neće kada sa druge forme pri zatvaranju dam fokus na glavnu formu i da pozovem proceduru glavne forme.

Code:
Public Sub GlobalnoMaterijal()
If Me.CekMaterijal.Value = -1 Then
Forms!frmGlavna!frmStavke.Form!Materijal.Enabled = False
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE tblStavke SET tblStavke.Materijal = Forms![frmGlavna]![Materijal]  WHERE tblStavke.ID = Forms![frmGlavna]![ID]"
Me.frmStavke.SetFocus
Me.frmStavke.Form.Requery
DoCmd.SetWarnings True
Else
Forms!frmGlavna!frmStavke.Form!Materijal.Enabled = True
End If
End Sub
[ Zidar @ 13.05.2009. 18:29 ] @
Mnogo si to zakomplikovao. CATCH_22 ti je lepo pokazao kako se to radi, ako bas moras sa jedne forme da pozivas proceduru koaj je na drugoj formi. To sto si je proglasio za PUBLIC ne pomaze. Ili stavi proceduru u neki modul ili potpuno promeni pristup resavanju problema.

Cini mi se da ovo ima veze sa onim 'sa subforme hocu da osvezim glavnu formu'. Vec sam ti rekao da se tako ne radi, ni generalno, ni u tvom konkretnom slucaju...
[ Air Live @ 13.05.2009. 21:43 ] @
Ovde se neradi ni okakvoj 'SUB fomri' - ovde se radi o pozivanju funkcije sa ajd dakazemo Glavne forme koja je otvorena ali sam NPR u neđuvremenu otvorio još jednu formu na kojoj su mi NPR artikli eh sad pri zatvaranju forme artikli zelim pozvati funkciju sa glevne forme da nebih klikao na gumb glavne forme da se to nešto izvrši ???
[ Zidar @ 13.05.2009. 22:09 ] @
Prebaci proceduru u modul. Da bi radila iz modula, moras onda sve gde se koristi Me! da se ukaze na glavnu fomu, da zamenis sa imenom forme. Ovako nekako:




Public Sub GlobalnoMaterijal()
If Forms![frmGlavna]!CekMaterijal.Value = -1 Then
Forms!frmGlavna!frmStavke.Form!Materijal.Enabled = False
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE tblStavke SET tblStavke.Materijal = Forms![frmGlavna]![Materijal] WHERE tblStavke.ID = Forms![frmGlavna]![ID]"
Forms![frmGlavna]!frmStavke.SetFocus
Forms![frmGlavna]!frmStavke.Form.Requery
DoCmd.SetWarnings True
Else
Forms!frmGlavna!frmStavke.Form!Materijal.Enabled = True
End If
End Sub


Ne nam tacno sat pokusavas, ali gerantovano postoji jednostavniji nacin.
[ Air Live @ 14.05.2009. 09:30 ] @
Hvala zidar na pomoći skontao sam ja tebe za taj modul,ali odradi sam mnogo elegantnije i jednostavnije.KAKO ? Tako što sam postavio kompletnu proceduru na formu sa koje sam je pozivao