Questione : L'ordine o l'azione “DeleteRecord„ ora non è disponibile.

Nell'accesso 2007, ho una funzione in un modulo che cancella l'annotazione attualmente selezionata quando la voce di menu dell'annotazione di cancellazione è selezionata.   Nelle versioni precedenti di accesso, abbiamo utilizzato SendKeys “{CANCELLAZIONE}„, alliniamo - che ora non fa niente a meno che fare lo sporco record (pubblicare l'icona compare).  Così, ho commutato al acCmdDeleteRecord di DoCmd.RunCommand.  Quel causa all'errore “l'ordine o l'azione DeleteRecord ora non è disponibile„. il

I ha confermato che la forma permette le omissioni, fatte un disfare se la forma è sporca, assicurato che la forma non fosse letta soltanto. Non è un subform, è una forma continua autonoma ed il problema inoltre si presenta con singolo forms.

I attaccato - tutte le idee che chiunque ottenuto molto sarebbe apprezzato.  Thanks.
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
36:
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:
funzione >Public notpretty DeleteRecord " del class= " del id= " codeSnippet808021 del
 0 di Err.Number allora
      ExitRoutine di avanzamento
   Concluder se
   Sull'errore ErrorHandler di avanzamento
   
   'Se la forma non ha RecordSource, nessuna necessità di continuare.
   Se Format$ (frm.RecordSource) = "" allora
      ExitRoutine di avanzamento
   Concluder se
   
   'Se questo è un nuovo record, nessuna necessità di continuare.
   Se frm.NewRecord allora
      ExitRoutine di avanzamento
   Concluder se
   
   'Tutti se bene, così fare che cosa siamo venuto qui a fare.
   gstrActiveFormForDeleteRecord = frm. Nome
   
   'Trasmettere il F2 per accertarsi che l'utente non abbia selezionato tutte le annotazioni.
   SendKeys “{F2}„, allineare
   
   'Selezionare l'annotazione corrente (ed accertar che soltanto una sia selezionata!)
   Sull'errore riprendere dopo
   acCmdSelectRecord di RunCommand
   Se <> 0 di Err.Number allora
      ExitRoutine di avanzamento
   Concluder se
   Sull'errore ErrorHandler di avanzamento
   
   'Fare l'opzione record del menu “di cancellazione normale„.
   'Sul riassunto di errore dopo
   
   Se frm. Sporco = allora allineare
    frm. Disfare
   Concluder se
   
 
   acCmdDeleteRecord di DoCmd.RunCommand
   'SendKeys “{CANCELLAZIONE}„, allineare

   gobjLastError.Save errano, strProcedureName
   Sull'errore ErrorHandler di avanzamento
   Selezionare il caso gobjLastError.Number
      Non caso 0 'errori
         'Non fare niente
      Mettere altrimenti
         'Dare un errore del sistema per niente altro.
         gobjLastError.Raise gobjLastError.Number & “: „ & gobjLastError.Description
   Estremità prescelta
   
ExitRoutine:
   Sul riassunto di errore dopo
   gstrActiveFormForDeleteRecord = ""
   Uscire la funzione
ErrorHandler:
   gobjLastError.Save errano, strProcedureName
   Selezionare il caso gobjLastError.Number
      Mettere altrimenti
         gobjLastError.Show
         Riprendere ExitRoutine
   Concludere prescelto
Concludere la funzione
class= del

Risposta : L'ordine o l'azione “DeleteRecord„ ora non è disponibile.

Usare questo preferibilmente
1:
2:
3:
4:
   Oscurare i rs come Recordset
   Regolare i rs = il frm. Recordset
   rs. Cancellazione
   rs. Requery
Altre soluzioni  
 
programming4us programming4us