Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6 ja Access-lukitukset (VBA)

Jokkeri [20.03.2008 16:45:00]

#

Onko Access tietokannassa tietyn tietueen lukitus mahdollista tai miten sen VB6 voisi toteuttaa?

neau33 [20.03.2008 22:21:26]

#

Heippa Jokkeri!

Access lomakkeella tai VB:ssa voit lukita yksittäisen tietueen tai vaikkapa yksittäisen kentän yksinkertaisesti viittaamalla esim. kontrollin Change_Tapahtumassa aliohjelmaan, jolla lukitset tarvittavat kontrollit ehtolauseen avulla...pari pikku esimerkkiä:

'jos kentät luetaan esim TextBoxeihin....
Private Sub TextBox1_Change()
  aliohjelma Me.TextBox1
End Sub

Public Sub aliohjema(ctl As Control)
  If Me.JonkunTietynControllin.Value = JokinMääritetyArvo Then
    ctl.Locked = True
  Else
    ctl.Locked = False
  End IF
End Sub
'Jos käytösä on DataGrid...
Private LukittuArvo() As Variant

Private Sub Form_Load()

   For i = 0 To 9 'esim.
     ReDim Preserve LukittuArvo(i)
     Select Case i
       Case 0: LukittuArvo(i) = "JokinArvo"
       Case 1: LukittuArvo(i) = "JokinToinenArvo"
       Case 2: LukittuArvo(i) = 12345
       'jne...
     End Select
   Next i

End Sub

Private Sub DataGrid1_RowColChange( _
LastRow As Variant, ByVal LastCol As Integer)

   For i = 0 To UBound(LukittuArvo)
     For j = 0 To DataGrid1.Columns.Count - 1
       If DataGrid1.Columns(j).Value = LukittuArvo(i) Then
         DataGrid1.AllowUpdate = False: Exit Sub
       End If
     Next j
   Next i
   DataGrid1.AllowUpdate = True
End Sub

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta