{"id":55000395,"date":"2006-10-01T00:00:00","date_gmt":"2021-02-11T21:05:54","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=395"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Persistente_Variablen","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/","title":{"rendered":"Persistente Variablen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg09.met.vgwort.de\/na\/5b6de6cca10a4d2e91ca544f5b1c197d\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<h3>Zusammenfassung<\/h3>\n<p>Erfahren Sie, wie Sie Variablen sitzungs&uuml;bergreifend in Datenbank-Properties speichern k&ouml;nnen.<\/p>\n<h3>Techniken<\/h3>\n<p>SMTP, VBA<\/p>\n<h3>Voraussetzungen<\/h3>\n<p>Access 2000 und h&ouml;her<\/p>\n<h3>Beispieldatenbank<\/h3>\n<p>DBProperties.mdb<\/p>\n<h3><\/h3>\n<p><b>Sascha Trowitzsch, Berlin<\/b><\/p>\n<p><b>Komplexere Anwendungen ben&ouml;tigen in der Regel bestimmte Einstellungen, die ihr Verhalten oder manche Vorgabewerte bestimmen. In der Regel findet man im Men&uuml; einen Eintrag Optionen, der ein Dialogfenster f&uuml;r diese Einstellungen hervorbringt. Gespeichert werden diese Werte normalerweise in der Registry, wobei eine Installationsprozedur hier meist bereits Vorgabewerte setzt. Auch umfangreiche Access-Datenbanken brauchen h&auml;ufig solche Voreinstellungen. Dieser Beitrag zeigt, wie Sie diese Werte in benutzerdefinierten Datenbankeigenschaften speichern. <\/b><\/p>\n<p><b><\/b><\/p>\n<p>Ein Beispiel f&uuml;r eine Einstellung, die man &uuml;ber  Anwendungssitzungen hinweg speichern k&ouml;nnte, ist die Position von Fenstern.<\/p>\n<p>Wird ein Fenster erneut ge&ouml;ffnet, dann soll es die gleiche Position und Gr&ouml;&szlig;e auf dem Bildschirm haben, wie beim letzten Schlie&szlig;en. Komfortabel w&auml;re auch, wenn beim Starten der Datenbank automatisch das zuletzt ge&ouml;ffnete Formular sichtbar w&uuml;rde &#8211; m&ouml;glichst noch mit dem Datensatz, in dem man sich zuletzt befunden hat.  Im Beitrag Steuerelemente mit Ged&auml;chtnis (Shortlink 394) k&ouml;nnen Sie lesen, wie sich diese Einstellungen entweder in einer speziellen Tabelle oder in der Registry ablegen lassen.<\/p>\n<p>Andere Wege w&auml;ren INI-Dateien (Textdateien) oder auch persistente disconnected ADO-Recordsets: Immerhin lassen sich auch ADO-Recordsets als Dateien abspeichern.<\/p>\n<p>Die letzten zwei genannten M&ouml;glichkeiten setzen die Existenz separater Dateien voraus, die Registry-Methode funktioniert nur innerhalb des  Windows-Kontos des jeweiligen Benutzers. Die Tabellenl&ouml;sung ist nicht schlecht, ben&ouml;tigt aber einiges an Code und eine Tabelle, die besser vor den Augen des Anwenders versteckt sein sollte.<\/p>\n<p>Es gibt aber noch eine f&uuml;nfte und einfache L&ouml;sung, die sich die benutzerdefinierten Eigenschaften des Database-Objekts zu Nutze macht. In der Beispieldatenbank finden Sie Anwendungsbeispiele dazu. <\/p>\n<p>Eine ge&ouml;ffnete Access-Datenbank im MDB-Format besitzt immer ein von der Bibliothek DAO abgeleitetes Database-Objekt.<\/p>\n<p>Das ist selbst dann so, wenn kein Verweis auf die DAO-Bibliothek gesetzt ist. Das standardm&auml;&szlig;ig vorhandene Application-Objekt hat die Eigenschaften CurrentDb und DBEngine. Dabei ist DBEngine(0)(0) das eigentliche Database-Objekt, w&auml;hrend CurrentDb eine kopierte Instanz desselben darstellt.<\/p>\n<p>Und wie fast alle Objekte der DAO-Bibliothek hat auch das Database-Objekt eine Auflistung namens Properties.<\/p>\n<p>Dahinter verbergen sich verschiedene Eigenschaften der Datenbank wie etwa Name (der Pfad zur MDB), Version (die JET-Version, unter der die Datenbank erstellt wurde) oder StartUpForm (das Formular, das beim &ouml;ffnen der Datenbank angezeigt wird, falls angegeben).<\/p>\n<p>Access stellt diese Eigenschaften selbst ein, um dann beim &ouml;ffnen der MDB zu wissen, wie es mit der Datenbank verfahren soll.<\/p>\n<p>Diese Eigenschaften sind eingebaut und k&ouml;nnen theoretisch weder per VBA gesetzt, noch gel&ouml;scht werden.<\/p>\n<p>Zumindest &auml;u&szlig;ert sich die Online-Hilfe von Access so &#8211; eine Fehlinformation, wie Sie sp&auml;ter sehen werden.<\/p>\n<p>Die einzelnen Versionen von Access enthalten au&szlig;erdem unterschiedliche, aber abw&auml;rtskompatible Eigenschaften. (In der Betaversion Access 2007 sind etwa die Eigenschaften des neuen Navigationsbereichs hinzugekommen.)<\/p>\n<p>Neben den eingebauten Properties lassen sich aber beliebige selbst definierte Eigenschaften erzeugen und dann Werte in ihnen speichern.<\/p>\n<h3>Property auslesen<\/h3>\n<p>Sie lesen eine Database-Eigenschaft per VBA entweder &uuml;ber den Namen der Eigenschaft oder &uuml;ber ihre Ordinalnummer aus:<\/p>\n<pre>Debug.Print CurrentDb.Properties(\"Name\")\r\nDebug.Print CurrentDb.Properties(1)<\/pre>\n<p>Ersetzt man die 1 in voriger Code-Zeile durch eine Variable, dann lassen sich alle Properties &uuml;ber eine Schleife auflisten:<\/p>\n<pre>For i = 0 To 1000\r\n    Debug.Print _        Currentdb.Properties(i).Name\r\nNext i<\/pre>\n<p><!--30percent--><\/p>\n<p>Diese Schleife wird nach einigen Durchl&auml;ufen einen Fehler hervorrufen, n&auml;mlich dann, wenn i einen Wert hat, der keiner g&uuml;ltigen Ordinalzahl mehr entspricht.<\/p>\n<p>Eleganter ist deshalb die folgende For Each-Schleife:<\/p>\n<pre>Dim prp As DAO.Property\r\nFor Each prp In CurrentDb.Properties\r\n    Debug.Print prp.Name, prp.Value\r\nNext prp<\/pre>\n<p>Neben den Namen der Eigenschaften gibt diese Routine gleichzeitig noch mit prp.Value die Werte derselben aus. <\/p>\n<p>In der Beispieldatenbank finden Sie eine etwas ausf&uuml;hrlichere und fehlerresistente Version dieser List-Funktion im Modul mdlProperties und in der Prozedur ListProperties.<\/p>\n<h3>Property setzen<\/h3>\n<p>Der Wert f&uuml;r eine Property wird durch einfache Zuweisung gesetzt:<\/p>\n<pre>CurrentDb.Properties(\"StartUpForm\")= \"frmStart\"<\/pre>\n<p>Das ist eigentlich die Kurzform, denn eigentlich wird hier die Eigenschaft Value des Properties gesetzt (in einer Zeile):<\/p>\n<pre>CurrentDb.Properties(\"StartUpForm\").Value<\/pre>\n<p>Value ist jedoch die Default-Eigenschaft des Property-Objekts und kann daher weggelassen werden.<\/p>\n<p>Der Datentyp einer Property ist Variant, daher kann die Property beliebige Werte annehmen. Es k&ouml;nnen also zum Beispiel Long-Werte, Strings oder Datumswerte &uuml;bergeben werden.<\/p>\n<h3>Property erzeugen<\/h3>\n<p>Nun wird es interessant: &uuml;ber die DAO-Methode CreateProperty kann man eine benutzerdefinierte Eigenschaft erzeugen:<\/p>\n<pre>CurrentDb.CreateProperty &lt;Name&gt;, _\r\n    &lt;Datentyp&gt;, &lt;Wert&gt;<\/pre>\n<p>Der Datentyp ist eine der Konstanten der Enumeration DAO.DataTypeEnum &#8211; etwa dbText f&uuml;r einen String oder dbLong f&uuml;r einen Long-Integer. Der &uuml;bergebene Wert muss dazu passen.<\/p>\n<p>Mit obiger Code-Zeile befindet sich das Property noch quasi im luftleeren Raum &#8211; ohne Bezug zum Datenbank-Objekt. Erst durch das Zuweisen zur Properties-Auflistung des Datenbank-Objekts wird es dann auch gespeichert:<\/p>\n<pre>Dim prp As DAO.Property\r\nSet prp = CurrentDb.CreateProperty _    (\"Autor\", dbText, \"Trowitzsch\")\r\nCurrentDB.Properties.Append prp<\/pre>\n<p>Somit ist in der benutzerdefinierten Eigenschaft &#8222;Autor&#8220; der Datenbank der Wert &#8222;Trowitzsch&#8220; gesetzt. Eine l&auml;ngere Alternative zu diesem Code w&auml;re diese:<\/p>\n<pre>Dim prp As DAO.Property\r\nSet prp = CurrentDb.CreateProperty _    (\"Autor\")\r\nprp.Type = dbText\r\nprp.Value = \"Trowitzsch\"\r\nCurrentDB.Properties.Append prp<\/pre>\n<h3>Property l&ouml;schen<\/h3>\n<p>Das L&ouml;schen einer Datenbankeigenschaft erfolgt mit dieser Anweisung:<\/p>\n<pre>CurrentDb.Properties.Delete \"Autor\"<\/pre>\n<p>Normalerweise d&uuml;rfte das selten notwendig sein. Ein Fall w&auml;re, dass Sie eine Property mit einem Datentyp angelegt h&auml;tten, diesen aber etwa von dbText in dbLong umwandeln wollten.  Das geht n&auml;mlich nicht: Die Zuweisung eines neuen Datentyps f&uuml;hrt zu einem Laufzeitfehler. Sie m&uuml;ssen die Property erst l&ouml;schen und unter dem gleichen Namen mit dem neuen Datentyp anlegen.<\/p>\n<h3>Hinweis<\/h3>\n<p>Wenn Sie versuchen, eine eingebaute Access-Eigenschaft zu l&ouml;schen, beispielsweise Version, so l&ouml;st das einen Fehler aus. Soweit entspricht dies der Aussage in der Online-Hilfe.  Fraglich ist hier nur, was unter &#8222;eingebauter&#8220; Eigenschaft zu verstehen ist. So existiert ein Property Build, das die Versionsnummer der msaccess.exe zur&uuml;ckgibt, mit der die Datenbank erstellt wurde. Man kann die Property l&ouml;schen, sie wird beim n&auml;chsten Start der Datenbank aber automatisch wieder gesetzt. Das l&auml;sst sich auch noch mit weiteren von Access erzeugten Properties machen, wovon allerdings abzuraten ist. Es kann dazu f&uuml;hren, dass die Datenbank sich nicht mehr starten l&auml;sst. Im Versuch habe ich festgestellt, dass eine auf diese Weise &#8222;behandelte&#8220; Datenbank mit keinerlei Reparaturversuchen wieder zum Leben zu erwecken war. Erstaunlicherweise gelang dann allerdings das &ouml;ffnen in der Beta-Version von Access 2007 &#8230; <\/p>\n<p>Mit diesen Grundlagen k&ouml;nnen Sie nun &ouml;ffentliche Routinen basteln, mit deren Hilfe sich von &uuml;berall aus der Datenbank heraus Werte dauerhaft speichern und auslesen lassen. In der Beispieldatenbank finden Sie etwa die in Quellcode 1 dargestellte Routine.<\/p>\n<p>Die Prozedur SetAProperty erwartet als Parameter die Angabe eines Eigenschaftennamens in sName und des Wertes in AValue.<\/p>\n<p>Die Routine versucht zun&auml;chst, eine Objektvariable oPrp auf die Eigenschaft zu setzen. Schl&auml;gt dies fehl, weil etwa die Eigenschaft nicht existiert, so wird sie im If-Teil neu angelegt.<\/p>\n<p>Da dabei die Angabe des Datentyps zwingend notwendig ist, muss dieser aus dem &uuml;bergebenen Wert selbst bestimmt werden. Das erledigt die VBA-Funktion VarType(). Leider stimmen die von dieser Funktion zur&uuml;ckgegebenen Konstanten nicht mit den Datentypen von DAO &uuml;berein. Deshalb wird eine &uuml;bersetzung der Konstanten in einer Hilfsfunktion TranslateType vorgenommen, die hier nicht abgebildet ist.<\/p>\n<p><b>Quellcode 1: Routine zum dauerhaften Speichern einer &#8222;Variablen&#8220;<\/b><\/p>\n<pre>Sub SetAProperty(sName, AValue As Variant)\r\n    Dim dbs As Database\r\n    Dim oPrp As DAO.Property\r\n    Set dbs = DBEngine(0)(0)\r\n    On Error Resume Next\r\n    Set oPrp = dbs.Properties(sName)\r\n    If oPrp Is Nothing Then\r\n        On Error GoTo 0\r\n        Set oPrp = dbs.CreateProperty(sName, TranslateType(AValue), AValue)\r\n        dbs.Properties.Append oPrp\r\n    Else\r\n        oPrp.Value = AValue\r\n    End If\r\n    Set oPrp = Nothing\r\n    Set dbs = Nothing\r\nEnd Sub<\/pre>\n<p>Die folgende Version ist wesentlich k&uuml;rzer:<\/p>\n<pre>Function GetAProperty(sName) As Variant\r\n    On Error Resume Next\r\n    GetAProperty = DBEngine(0)(0). _        Properties(sName).Value\r\nEnd Function<\/pre>\n<p>Ihnen f&auml;llt vielleicht auf, dass in diesen beiden Quellcodes statt CurrentDb die Variante DBEngine(0)(0) zum Einsatz kommt. Grund ist die wesentlich h&ouml;here Geschwindigkeit dieses Ausdrucks.<\/p>\n<p>Als Beleg das Resultat eines Tests, den Sie mit der Prozedur BenchmarkSetGetProp der Beispieldatenbank auch selbst ausf&uuml;hren k&ouml;nnen:<\/p>\n<p>Wird beim Auslesen CurrentDb.Properties verwendet, dann l&auml;sst sich die Funktion GetAProperty auf aktueller Hardware circa 1.500 Mal pro Sekunde aufrufen. Mit DBEngine(0)(0).Properties erh&ouml;ht sich dieser Wert auf ca. 200.000! <\/p>\n<p>Das zeigt, dass sich diese benutzerdefinierten Datenbank-Properties auch gut in Schleifenkonstrukten verwenden lassen, weil das Auslesen nur sehr wenig Zeit kostet.<\/p>\n<p>In der Beispieldatenbank DBProperties.mdb finden Sie einige Anwendungsf&auml;lle f&uuml;r die in Kapitel 3 abgebildeten Routinen.<\/p>\n<p>So werden die Fensterpositionen der beiden Formulare frmKundenSimple und frmKundenKomplex beim Schlie&szlig;en in einer benutzerdefinierten Eigenschaft gespeichert und beim n&auml;chsten &ouml;ffnen wiederhergestellt.<\/p>\n<p>Des Weiteren &ouml;ffnet sich beim Start der Datenbank nach dem Intro-Formular immer das Beispielformular, das Sie zuletzt ge&ouml;ffnet hatten.<\/p>\n<p>Die daf&uuml;r verantwortliche Code-Zeile sieht so aus:<\/p>\n<pre>DoCmd.OpenForm GetAProperty(\"LastForm\")<\/pre>\n<p>Im UnLoad-Ereignis der Formulare steht jeweils:<\/p>\n<pre>SetAProperty \"LastForm\", Me.Name<\/pre>\n<p>Au&szlig;erdem wird jedes Formular mit dem Datensatz ge&ouml;ffnet, mit dem man es verlassen hat. Dazu wird beim Entladen in einer Eigenschaft der Prim&auml;rschl&uuml;ssel des Datensatzes gespeichert und beim &ouml;ffnen mit Me.Recordset.FindFirst wieder angesprungen. Das funktioniert im Formular frmKundenKomplex sogar f&uuml;r den Detaildatensatz des eingebetteten Unterformulars.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>DBProperties.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/A3AD9481-9956-4AFA-AFED-55C5354DC24A\/aiu_395.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Komplexere Anwendungen ben&ouml;tigen in der Regel bestimmte Einstellungen, die ihr Verhalten oder manche Vorgabewerte bestimmen. In der Regel findet man im Men&uuml; einen Eintrag Optionen, der ein Dialogfenster f&uuml;r diese Einstellungen hervorbringt. Gespeichert werden diese Werte normalerweise in der Registry, wobei eine Installationsprozedur hier meist bereits Vorgabewerte setzt. Auch umfangreiche Access-Datenbanken brauchen h&auml;ufig solche Voreinstellungen. Dieser Beitrag zeigt, wie Sie diese Werte in benutzerdefinierten Datenbankeigenschaften speichern.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662006,66052006,44000025],"tags":[],"class_list":["post-55000395","post","type-post","status-publish","format-standard","hentry","category-662006","category-66052006","category-VBA_und_Programmiertechniken"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Persistente Variablen - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Persistente Variablen\" \/>\n<meta property=\"og:description\" content=\"Komplexere Anwendungen ben&ouml;tigen in der Regel bestimmte Einstellungen, die ihr Verhalten oder manche Vorgabewerte bestimmen. In der Regel findet man im Men&uuml; einen Eintrag Optionen, der ein Dialogfenster f&uuml;r diese Einstellungen hervorbringt. Gespeichert werden diese Werte normalerweise in der Registry, wobei eine Installationsprozedur hier meist bereits Vorgabewerte setzt. Auch umfangreiche Access-Datenbanken brauchen h&auml;ufig solche Voreinstellungen. Dieser Beitrag zeigt, wie Sie diese Werte in benutzerdefinierten Datenbankeigenschaften speichern.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-11T21:05:54+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg09.met.vgwort.de\/na\/5b6de6cca10a4d2e91ca544f5b1c197d\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"8\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Persistente Variablen\",\"datePublished\":\"2021-02-11T21:05:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/\"},\"wordCount\":1473,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/5b6de6cca10a4d2e91ca544f5b1c197d\",\"articleSection\":[\"2006\",\"5\\\/2006\",\"VBA und Programmiertechniken\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/\",\"name\":\"Persistente Variablen - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/5b6de6cca10a4d2e91ca544f5b1c197d\",\"datePublished\":\"2021-02-11T21:05:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/5b6de6cca10a4d2e91ca544f5b1c197d\",\"contentUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/5b6de6cca10a4d2e91ca544f5b1c197d\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Variablen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Persistente Variablen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Persistente Variablen - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/","og_locale":"de_DE","og_type":"article","og_title":"Persistente Variablen","og_description":"Komplexere Anwendungen ben&ouml;tigen in der Regel bestimmte Einstellungen, die ihr Verhalten oder manche Vorgabewerte bestimmen. In der Regel findet man im Men&uuml; einen Eintrag Optionen, der ein Dialogfenster f&uuml;r diese Einstellungen hervorbringt. Gespeichert werden diese Werte normalerweise in der Registry, wobei eine Installationsprozedur hier meist bereits Vorgabewerte setzt. Auch umfangreiche Access-Datenbanken brauchen h&auml;ufig solche Voreinstellungen. Dieser Beitrag zeigt, wie Sie diese Werte in benutzerdefinierten Datenbankeigenschaften speichern.","og_url":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-11T21:05:54+00:00","og_image":[{"url":"http:\/\/vg09.met.vgwort.de\/na\/5b6de6cca10a4d2e91ca544f5b1c197d","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"8\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Persistente Variablen","datePublished":"2021-02-11T21:05:54+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/"},"wordCount":1473,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/5b6de6cca10a4d2e91ca544f5b1c197d","articleSection":["2006","5\/2006","VBA und Programmiertechniken"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/","url":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/","name":"Persistente Variablen - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/5b6de6cca10a4d2e91ca544f5b1c197d","datePublished":"2021-02-11T21:05:54+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/#primaryimage","url":"http:\/\/vg09.met.vgwort.de\/na\/5b6de6cca10a4d2e91ca544f5b1c197d","contentUrl":"http:\/\/vg09.met.vgwort.de\/na\/5b6de6cca10a4d2e91ca544f5b1c197d"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Persistente_Variablen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Persistente Variablen"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000395"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000395\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}