Frage : Der Befehl oder die Tätigkeit „DeleteRecord“ ist nicht jetzt vorhanden.

In Zugang 2007, habe ich eine Funktion in einem Modul, das die z.Z. vorgewählte Aufzeichnung löscht, wenn das Löschung-Aufzeichnungsmenüeinzelteil vorgewählt.   In den vorhergehenden Versionen des Zugangs, verwendeten wir SendKeys „{LÖSCHUNG}“, ausrichten - das nichts jetzt tut, ausgenommen das Rekordschmutzige bilden (Ikone redigieren erscheint).  So schielt ich zum DoCmd.RunCommand acCmdDeleteRecord.  Dieses verursacht der Störung „den Befehl, oder Tätigkeit DeleteRecord ist nicht jetzt vorhanden“.

I bestätigt, dass die Form die Auslassungen erlaubt, erfolgt annulierte, wenn die Form schmutzig ist, sichergestellt, dass die Form nicht nur gelesen. Es ist nicht ein subform, ist es ein allein stehendes Endlosformular, und das Problem auftritt auch mit einzelnem forms.

I morgens gehaftet - alle mögliche Ideen ns, die erhaltenen jedermann viel geschätzt.  Thanks.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
Public Funktion DeleteRecord ()
'Diese Funktion ermöglicht Rekordauslassungen, wenn das Benutzer explicity a fordert
'Löschung über das DeleteRecord Menüeinzelteil.


   Auf Störung Goto- ErrorHandler
   Const strProcedureName = „DeleteRecord“
   Schwaches frm als Form
   
   'Sicherstellen, dass es eine aktive Form gibt.
   Auf Störung zunächst wieder.aufnehmen
   Frm = Screen.ActiveForm einstellen
   Wenn Err.Number <> 0 dann
      Goto- ExitRoutine
   Beenden wenn
   Auf Störung Goto- ErrorHandler
   
   'Wenn Form kein RecordSource hat, keine Notwendigkeit fortzufahren.
   Wenn Format$ (frm.RecordSource) = "" dann
      Goto- ExitRoutine
   Beenden wenn
   
   'Wenn dieses ein neuer Rekord ist, keine Notwendigkeit fortzufahren.
   Wenn frm.NewRecord dann
      Goto- ExitRoutine
   Beenden wenn
   
   'Alle, wenn gut, so tun, was wir herkamen, zu tun.
   gstrActiveFormForDeleteRecord = frm. Name
   
   'F2 senden, um zu garantieren, dass der Benutzer nicht alle Aufzeichnungen vorgewählt.
   SendKeys „{F2}“, zutreffend
   
   'Den aktuellen Satz vorwählen (und sicherstellen, dass nur man! vorgewählt)
   Auf Störung zunächst wieder.aufnehmen
   RunCommand acCmdSelectRecord
   Wenn Err.Number <> 0 dann
      Goto- ExitRoutine
   Beenden wenn
   Auf Störung Goto- ErrorHandler
   
   'Die Rekord“ Menüwahl der regelmäßigen „Löschung tun.
   'Auf Störungs-Zusammenfassung zunächst
   
   Wenn frm. Schmutzig = dann ausrichten
    frm. Annulieren
   Beenden wenn
   
 
   DoCmd.RunCommand acCmdDeleteRecord
   'SendKeys „{LÖSCHUNG}“, zutreffend

   gobjLastError.Save irren, strProcedureName
   Auf Störung Goto- ErrorHandler
   Fall gobjLastError.Number vorwählen
      0 'keine Störung Rechtssache
         'Nichts tun
      Sonst umkleiden
         'Einen Systemfehler für noch etwas geben.
         gobjLastError.Raise gobjLastError.Number u. „: “ u. gobjLastError.Description
   Ende auserwählt
   
ExitRoutine:
   Auf Störungs-Zusammenfassung zunächst
   gstrActiveFormForDeleteRecord = ""
   Funktion herausnehmen
ErrorHandler:
   gobjLastError.Save irren, strProcedureName
   Fall gobjLastError.Number vorwählen
      Sonst umkleiden
         gobjLastError.Show
         ExitRoutine wieder.aufnehmen
   Auserwähltes beenden
Funktion beenden

Antwort : Der Befehl oder die Tätigkeit „DeleteRecord“ ist nicht jetzt vorhanden.

Dieses anstatt verwenden
1:
2:
3:
4:
   Rs als Recordset verdunkeln
   Rs = frm einstellen. Recordset
   rs. Löschung
   rs. Requery
Weitere Lösungen  
 
programming4us programming4us