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

Kako programski zakljucati polja na formi

[es] :: Access :: Kako programski zakljucati polja na formi

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

makimm

Član broj: 139254
Poruke: 2
217.24.19.*



Profil

icon Kako programski zakljucati polja na formi21.03.2007. u 09:27 - pre 208 meseci
Kako programski zakljucati polja na formi, a onda otkljucati samo zeljeno ?
 
Odgovor na temu

Kiro
Akir Žalić
BiH

Član broj: 19085
Poruke: 114
*.PPPoE-6052.sa.bih.net.ba.

Sajt: www.icentar.ba


Profil

icon Re: Kako programski zakljucati polja na formi21.03.2007. u 11:09 - pre 208 meseci
Sub Form_Current()
If Me!EmployeeType = "Manager" Then
Me!SalaryDetails.Enabled = True
Me!PersonalInfo.Enabled = True
Me!PersonalInfo.Locked = False
Else
Me!SalaryDetails.Enabled = False
Me!PersonalInfo.Enabled = False
Me!PersonalInfo.Locked = True
End If
End Sub

Pogledati Help za Locked Property
Kiro
 
Odgovor na temu

makimm

Član broj: 139254
Poruke: 2
217.24.19.*



Profil

icon Re: Kako programski zakljucati polja na formi22.03.2007. u 09:34 - pre 208 meseci
Zelja je da imamo opste resenje koje ce zakljucati sva polja na bilo kojoj formi, procedura bi morala da ima formu kao parametar. Problem je sto neko polje na formi mozda nema locked property. Kako to ispitati i u zavisnosti od toga ga zakljucati ili ne ?
 
Odgovor na temu

joojant200

Član broj: 1953
Poruke: 712



+47 Profil

icon Re: Kako programski zakljucati polja na formi25.01.2010. u 23:13 - pre 173 meseci
Pitanje,
Za zakljucavanje formi koristim -Locking bound controls- makro:
http://allenbrowne.com/ser-56.html

Problem je sto kada u nekom polju stavim event, npr:
Private Sub Vrednost2_GotFocus()
Me!Vrednost2 = [cboVrednost]
End Sub

On zaobilazi makro i unese vrednost i pored 'zakljucane' forme?
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
*.adsl.net.t-com.hr.



+8 Profil

icon Re: Kako programski zakljucati polja na formi26.01.2010. u 08:44 - pre 173 meseci
Evo saljem ti mojku funkciju s kojoj sam farbao (neki dio koda i fali ali to za tebe nije bitno ) , a ona
a ona ti daje sve objekte sa forme pa u zavisnosti što ti treba tako si i funkciju prepraviš
naravno dobijaš i imena objekta pa tako možeš i ponaseobno kontrolirati taj objekt
imeobj = control.Name ---- ti daje samo ime objekta

pozivaš funkciju sa CALL obojaj(me.name)


Pozdrav

Static Function obojaj(zaf As String)

On Error GoTo gresi

Dim control As control
Dim trtfrm, imeobj As String
If IsNull(zaf) Or zaf = "" Then
Exit Function
End If

imef = zaf



For Each control In Forms(imef).Controls

If control.ControlType = acSubform Then
sqlupit2 = "select * from bojaforme where default= True and imeobjekta=" & acSubform
Set rek2 = dato2.OpenRecordset(sqlupit2)
trtfrm = control.Name
Forms(imef).Form(trtfrm).Form.DatasheetBackColor = rek2.Fields("bojapodloge").Value
Forms(imef).Form(trtfrm).Form.DatasheetGridlinesColor = rek2.Fields("bojagrida").Value
Forms(imef).Form(trtfrm).Form.DatasheetForeColor = rek2.Fields("bojaslova").Value
End If

If control.ControlType = acTextBox Then
sqlupit2 = "select * from bojaforme where default= True and imeobjekta=" & acTextBox
Set rek2 = dato2.OpenRecordset(sqlupit2)
imeobj = control.Name
Forms(imef).Controls(imeobj).BackColor = rek2.Fields("bojapodloge").Value
Forms(imef).Controls(imeobj).ForeColor = rek2.Fields("bojaslova").Value
Forms(imef).Controls(imeobj).BorderColor = rek2.Fields("bojagrida").Value
End If

If control.ControlType = acLabel Then '
sqlupit2 = "select * from bojaforme where default= True and imeobjekta=" & acLabel
Set rek2 = dato2.OpenRecordset(sqlupit2)
imeobj = control.Name
Forms(imef).Controls(imeobj).BackColor = rek2.Fields("bojapodloge").Value
Forms(imef).Controls(imeobj).ForeColor = rek2.Fields("bojaslova").Value
Forms(imef).Controls(imeobj).BorderColor = rek2.Fields("bojagrida").Value
End If

If control.ControlType = acComboBox Then
sqlupit2 = "select * from bojaforme where default= True and imeobjekta=" & acComboBox
Set rek2 = dato2.OpenRecordset(sqlupit2)
imeobj = control.Name
Forms(imef).Controls(imeobj).BackColor = rek2.Fields("bojapodloge").Value
Forms(imef).Controls(imeobj).ForeColor = rek2.Fields("bojaslova").Value
Forms(imef).Controls(imeobj).BorderColor = rek2.Fields("bojagrida").Value
End If

If control.ControlType = acListBox Then
sqlupit2 = "select * from bojaforme where default= True and imeobjekta=" & acListBox
Set rek2 = dato2.OpenRecordset(sqlupit2)
imeobj = control.Name
Forms(imef).Controls(imeobj).BackColor = rek2.Fields("bojapodloge").Value
Forms(imef).Controls(imeobj).ForeColor = rek2.Fields("bojaslova").Value
Forms(imef).Controls(imeobj).BorderColor = rek2.Fields("bojagrida").Value
End If

If control.ControlType = acRectangle Then
sqlupit2 = "select * from bojaforme where default= True and imeobjekta=" & acRectangle
Set rek2 = dato2.OpenRecordset(sqlupit2)
imeobj = control.Name
Forms(imef).Controls(imeobj).BackColor = rek2.Fields("bojapodloge").Value
Forms(imef).Controls(imeobj).BorderColor = rek2.Fields("bojagrida").Value
End If

If control.ControlType = acLine Then
sqlupit2 = "select * from bojaforme where default= True and imeobjekta=" & acLine
Set rek2 = dato2.OpenRecordset(sqlupit2)
imeobj = control.Name
Forms(imef).Controls(imeobj).BorderColor = rek2.Fields("bojagrida").Value
End If

If control.ControlType = acCommandButton Then
sqlupit2 = "select * from bojaforme where default= True and imeobjekta=" & acCommandButton
Set rek2 = dato2.OpenRecordset(sqlupit2)
imeobj = control.Name
Forms(imef).Controls(imeobj).ForeColor = rek2.Fields("bojaslova").Value
End If
Next

Exit Function
gresi:
err.Clear
Resume Next

End Function
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Kako programski zakljucati polja na formi26.01.2010. u 15:44 - pre 173 meseci
Svi odgovori koje si dobio su dobri. neki su manje, neki vise komplikovani. Evo jednao srednej komplikovano resenje, sa upotrebom TAG property. U primeru imas kako se na formi moze:
- zajkljucati sve kontrole
- otkljucati sve kontrole
- zakljucati nek kontrole, neke ne
- otkljucati neke kontrole, neke ne
- menjati vidljivost izabranih kontrola

Resenje se svodi na to da u TAG property izabranih kontrola upises neku sifru. Na primer, ako u TAG stavim rec KLJUC, onda pozovem funkciju i kazem: za sve kontrole koje imaju u TAG rec 'KLJUC' zakljucaj ih ili otkljucaj, generalno, 'uradi nesto s njima'

Kontrole mogu da imaju vise od jedne sifre u TAG property, za razlicite svrhe. U zakcenom primeru iams jedna modul i jednu formu. Modul sadrzi funkcije koje rade nesto s kontrolama, a sa forme se te funkcije pozivaju.

Nevezano z akonkretniu temu, primeti da se funkcije sa dugmeta mogu pozivati na dva nacina, kroz proceduru ili kao funkcija, bez event procedure. Ako vezes dugme za funkciju, to dugme moze da se cut/paste sa forme na formu i kod putuje sa dugmetom, sto inac ne moze da se radi ako je event vezan za proceduru....

:-)
Prikačeni fajlovi
 
Odgovor na temu

maliradoznalac
radoznalac, okolina

Član broj: 215676
Poruke: 278
*.dynamic.stcable.net.



+10 Profil

icon Re: Kako programski zakljucati polja na formi26.01.2010. u 21:50 - pre 173 meseci
Zidar, ovo tvoje resenje mi se jako dopada. Nisam ja pokrenuo temu, ali hvala za ovo :-)
 
Odgovor na temu

joojant200

Član broj: 1953
Poruke: 712



+47 Profil

icon Re: Kako programski zakljucati polja na formi27.01.2010. u 06:33 - pre 173 meseci
@Zidar
Probao sam i ima isti problem, npr na 'NoTagHere' stavim event:

Private Sub Text2_GotFocus()
Me!Text2 = [Text0]
End Sub

'Unlock all controls' U 'Tag = kljuc' ukucam "bbbb", 'Lock all controls' i kliknem na 'NoTagHere' i u njega se ubaci "bbbb" iako je zakljucan?



[Ovu poruku je menjao joojant200 dana 27.01.2010. u 10:17 GMT+1]
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Kako programski zakljucati polja na formi27.01.2010. u 13:29 - pre 173 meseci
Citat:
@Zidar
Probao sam i ima isti problem, npr na 'NoTagHere' stavim event:

Private Sub Text2_GotFocus()
Me!Text2 = [Text0]
End Sub

'Unlock all controls' U 'Tag = kljuc' ukucam "bbbb", 'Lock all controls' i kliknem na 'NoTagHere' i u njega se ubaci "bbbb" iako je zakljucan?


Zakljucan = LOcked se odnosi na tastaturu. Programskim kodom mozes da menjas bilo koji objekat, kako hoces i kad hoces. Prema tome, problem nije u Locked/NotLocked, nego u kodu koji imas u GotFocus eventu. Pokusaj da u GotFocus proveris da li je kontrola zakljucana. (Kontrola moze biti zakljucana na bilo koji od nacina koje si video u odgovorima)

Pokusaj nesto ovako:
Code:

Private Sub Text2_GotFocus()
 if me!text2.locked = true then
     'nista se ne desava, nema koda, "do nothing here"
 else
     Me!Text2 = Me![Text0]
 endif
End Sub



 
Odgovor na temu

joojant200

Član broj: 1953
Poruke: 712



+47 Profil

icon Re: Kako programski zakljucati polja na formi27.01.2010. u 14:42 - pre 173 meseci
Citat:
Zakljucan = LOcked se odnosi na tastaturu...
Pokusaj nesto ovako:

Hvala puno :)
 
Odgovor na temu

[es] :: Access :: Kako programski zakljucati polja na formi

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

Postavi temu Odgovori

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