Newsgroup: it.comp.appl.access
Titolo: attivare msgbox con tasto 'CANC' selezionando il selettore record

ciao a tutti
 
in una sottomaschera ho inserito 
If Me!Chius_Carico <> 0 Then
Me.AllowDeletions = False
end if
 
mentre su tasto su
If Me!Chius_Carico <> 0 Then
MsgBox "Non puoi eliminare il Carico ..... ecc. ecc.
End If
 
però su questo evento, ho il msgbox con ogni tasto
e su ogni controllo; mentre io lo vorrei
solo con il tasto 'CANC'
selezionando il selettore record.
 
 
grazie


risolto in parte...
 
If KeyCode = vbKeyDelete Then
KeyCode = 0
If Me!Chius_Carico <> 0 Then
MsgBox "Non puoi eliminare il Carico ..... ecc. ecc.
End If
End if

Si è corretto... ma posta il codice affinchè sia COMPRENSIBILE... non dici nemmeno su che EVENTO lo metti e siccome si possono commettere errori... e gli eventi sono almeno 3... SCRIVI QUELLO CHE SERVE.
 
Option Compare Database
Option Explicit
 
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case VBA.KeyCodeConstants.vbKeyDelete
            KeyCode = 0
            MsgBox "Non puoi cancellare..."
 
    End Select
End Sub
 
L'altra condizione non capisco perchè tu debba controllare su KEYUP di cosa...?
Fai sempre una confusione incredibile...
 
@Alex


Ciao Alex e grazie
 
in questo caso è corretto fare cosi'
 
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  Select Case KeyCode
    Case VBA.KeyCodeConstants.vbKeyDelete
      KeyCode = 0
      If Me.Parent!SM_CarichiFornitori.Form!sDataChiusura <> 0 Then
        MsgBox "Non puoi eliminare l'Ordine .....!", vbInformation, "Informazione!"
 
      End If
    Case vbKeyDown
      KeyCode = 0
      DoCmd.GoToRecord , , acNext
    Case vbKeyUp
      KeyCode = 0
      DoCmd.GoToRecord , , acPrevious
 
  End Select
 
 
 

Quante SubForm ha la Form principale...?
 
Fammi capire questa riga:
 
If Me.Parent!SM_CarichiFornitori.Form!sDataChiusura <> 0 Then
 
Il codice di cui parli in che SubForm sta girando...?
Non sarà per caso la SM_CarichiFornitori ...?spero di no...
 
@Alex

 If Me.Parent!SM_CarichiFornitori.Form!sDataChiusura <> 0 Then
 
è nella subform 'SM_OrdiniClienti',
 
 
 
ho due subform
1-SM_CarichiFornitori
2-SM_OrdiniClienti
 
su current di SM_CarichiFornitori
ho inserito per la subform SM_CarichiFornitori
If Me!Chius_Carico <> 0 Then
Me.AllowDeletions = False
else
Me.AllowDeletions = true
End if
e 
If sDataChiusura <> 0 Then
Me.Parent!SM_OrdiniClienti.Form.AllowDeletions = False
Else
Me.Parent!SM_OrdiniClienti.Form.AllowDeletions = True
End If
 
quello che vorrei ottenere
e avere msgbox se cerco di eliminare un record bloccato
da .AllowDeletions
 
premetto che su
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
ho il codice
 
Select Case KeyCode



nella prima subform va cosi:
 
Select Case KeyCode
  Case vbKeyDown
    KeyCode = 0
    DoCmd.GoToRecord , , acNext
  Case vbKeyUp
    KeyCode = 0
    DoCmd.GoToRecord , , acPrevious
    Case VBA.KeyCodeConstants.vbKeyDelete
    If Me!Chius_Carico <> 0 Then
      KeyCode = 0
      MsgBox "Non puoi eliminare il Carico ......!", vbInformation, "Informazione!"
 
    End If
 
End Select
 
nella seconda...
 
Select Case KeyCode
  Case vbKeyDown
    KeyCode = 0
    DoCmd.GoToRecord , , acNext
  Case vbKeyUp
    KeyCode = 0
    DoCmd.GoToRecord , , acPrevious
    Case VBA.KeyCodeConstants.vbKeyDelete
    If Me.Parent!SM_CarichiFornitori.Form!sDataChiusura <> 0 Then  
      KeyCode = 0
      MsgBox "Non puoi eliminare l'Ordine .....!", vbInformation, "Informazione!"
 
    End If
 
End Select