Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 4.981 pregleda

Najnovija ↓

Re: Kako programski zakljucati polja na formi 21.03.2007. u 12:09 · pre 238 meseci #2
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
Potpis
Kiro
Re: Kako programski zakljucati polja na formi 22.03.2007. u 10:34 · pre 238 meseci #3
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 ?
Re: Kako programski zakljucati polja na formi 26.01.2010. u 09:44 · pre 204 meseca #5
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
Re: Kako programski zakljucati polja na formi 26.01.2010. u 16:44 · pre 204 meseca #6
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....

:-)
Re: Kako programski zakljucati polja na formi 27.01.2010. u 07:33 · pre 204 meseca
izmenjeno 1 put, poslednji put joojant200 27.01.2010. u 10:17
  1. joojant20027.01.2010. u 10:17zapis iz teksta poruke
#8
@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?
Re: Kako programski zakljucati polja na formi 27.01.2010. u 14:29 · pre 204 meseca #9
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



Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme