Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pozivanje Private Sub sa forme

[es] :: Access :: Pozivanje Private Sub sa forme

[ Pregleda: 2613 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Air Live
Srbija

Član broj: 162278
Poruke: 410
92.36.205.*



Profil

icon Pozivanje Private Sub sa forme13.05.2009. u 09:56 - pre 181 meseci
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
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Pozivanje Private Sub sa forme13.05.2009. u 13:51 - pre 181 meseci
Gde ti se nalazi procedure GlobalnoMaterijal ?
 
Odgovor na temu

Catch 22

Član broj: 148083
Poruke: 6176
93.86.118.*



+21 Profil

icon Re: Pozivanje Private Sub sa forme13.05.2009. u 14:26 - pre 181 meseci
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.

 
Odgovor na temu

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.rs.



+8 Profil

icon Re: Pozivanje Private Sub sa forme13.05.2009. u 14:49 - pre 181 meseci
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?
Ozbiljan i odgovoran mladić
 
Odgovor na temu

Miro35
Miroslav Čondrić
BiH

Član broj: 63672
Poruke: 122
*.tel.net.ba.

Sajt: Tel.net.ba


+3 Profil

icon Re: Pozivanje Private Sub sa forme13.05.2009. u 14:50 - pre 181 meseci
Probaj upisati Call GlobalnoMaterijal_Click ako ti je to dogadjaj na dugmetu on_Click
miro
 
Odgovor na temu

Air Live
Srbija

Član broj: 162278
Poruke: 410
92.36.172.*



Profil

icon Re: Pozivanje Private Sub sa forme13.05.2009. u 15:30 - pre 181 meseci
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
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Pozivanje Private Sub sa forme13.05.2009. u 18:29 - pre 181 meseci
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...
 
Odgovor na temu

Air Live
Srbija

Član broj: 162278
Poruke: 410
92.36.193.*



Profil

icon Re: Pozivanje Private Sub sa forme13.05.2009. u 21:43 - pre 181 meseci
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 ???
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Pozivanje Private Sub sa forme13.05.2009. u 22:09 - pre 181 meseci
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.
 
Odgovor na temu

Air Live
Srbija

Član broj: 162278
Poruke: 410
92.36.171.*



Profil

icon Re: Pozivanje Private Sub sa forme14.05.2009. u 09:30 - pre 181 meseci
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
 
Odgovor na temu

[es] :: Access :: Pozivanje Private Sub sa forme

[ Pregleda: 2613 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.