Aloha.
Ich entscheide mich für die bei der die Schaltfläche immer
aktiviert ist!!
Ich habe versucht den Code zu benutzen und einbischen
verändert aber es funktioniert nicht richtig.
If Table.Einstellungen![Einkauf] = False Then
MsgBox („Ist Gesperrt“)
Else
DoCmd.OpenForm „Einkauf“
End If
Ohne Dir übermäßig auf den Schlips treten zu wollen : Es sieht mir ganz und gar oder schwan und roh nicht danach aus, als verstündest Du wirklich, was Du eigentlich tust …
Die von Dir im ursprünglichen Text angegebenen Kontrollkästchen sind Steuerelemente eines Formulars. Diese kannst Du an eine Tabelle knüpfen, klar. Das macht man typischerweise per Abfrage in der Datenherkunft des Formulars.
Der Code hinwiederum liegt im Formular und nicht in der Tabelle; d.h. das, was Du am Bildschirm siehst, ist eine Abbildung der Datenquelle und nicht die Datenquelle selbst. Man nennt das auch eine Benutzersicht (View). Dieser View wird vom Code manipuliert; die Datenherkunft bleibt bis zum Abschluss einer Transaktion (z.B. Wechseln des Datensatzes, oder auch ggf. Springen zu einem anderen Steuerelement) unverändert.
Der Code im Formular wird an Ereignisse gebunden, wie z.B. „Beim Anzeigen“ (Form_Current); dieses Ereignis tritt beim Wechseln des Datensatzes auf. Von diesem Ereignis weiß die dem Formular zugrunde liegende Tabelle nicht das Geringste. Deswegen steht auch immer das kleine Wörtlein „Private“ vor einer Ereignisprozedur im Formular.
Bei Steuerelementen musst Du wiederum genau unterscheiden zwischen gebundenen und ungebundenen solchen : Ein gebundenes Steuerelement steht mit der Ursprungstabelle in Verbindung, wird von diesem mit Daten gefüllt und aktualisiert sich ggf. ohne Dein Zutun. Ein ungebundenes Steuerelement kannst Du, wenn Du willst, mit Daten beliebiger Herkunft füllen (aus einer anderen Tabelle, hartcodiert oder per Ereigniscode); für ein Zurückschreiben des Steuerelement-Inhaltes musst Du dann aber wieder - im Code - selbst sorgen.
Das erklärt dann auch, weshalb Dein Code nicht funktionieren kann, abgesehen von der Syntax mit „!“ und „.“, die in Access nicht gerade trivial ist. Die Tabelle „Einstellungen“ ist Deiner Ereignisprozedur nicht bekannt - diese kennt nur die Steuerelemente des Formulars. Wenn überhaupt, müsstest Du Dich also auf das Steuerelement „Kontrollkästchen1“ und nicht auf das ggf. daran gebundene Tabellenfeld Tables!Einstellungen.Einkauf beziehen.
Natürlich kannst Du mit Hilfe von Domänenfunktionen, Recordsets und anderen Gemeinheiten auch direkte Tabellenzugriffe aus einer Ereignisprozedur heraus durchführen. Ich würde Dir aber dringend empfehlen, das gleich wieder zu vergessen und Dich stattdessen mit den von mir oben skizzierten Zusammenhängen auseinanderzusetzen.
Dynamische Veränderungen eines Views, wie Du sie hier umzusetzen versuchst, scheinen mir nach dem gewonnenen Eindruck doch noch nicht so ganz das Deinem Wissensstand Entsprechende zu sein. Immerhin : Wenn Du diesen Sums hier vollständig verstehst, ist diese meine Einschätzung grottenfalsch 
Gruß Eillicht zu Vensre