{"id":55000715,"date":"2010-06-01T00:00:00","date_gmt":"2020-05-22T22:12:19","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=715"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Twittern_mit_Access","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/","title":{"rendered":"Twittern mit Access"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg03.met.vgwort.de\/na\/c02fea61a8a141bb9eb2c5ca218c3cf7\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Twittern Sie auch Oder folgen Sie zumindest anderen, die bei Twitter mitmachen Vielleicht kennen Sie Twitter ja auch noch gar nicht Wir bringen Sie mit diesem Beitrag auf jeden Fall auf den aktuellen Stand und zeigen, wie Sie mit Access auf den beliebten Online-Dienst zugreifen.<\/b><\/p>\n<p><b>Was ist Twitter<\/b><\/p>\n<p>Twitter ist ein Nachrichtendienst &auml;hnlich RSS. Wer Nachrichten ver&ouml;ffentlichen m&ouml;chte, legt einen Twitter-Account an und kann dann &uuml;ber <b>twitter.com <\/b>Kurznachrichten ver&ouml;ffentlichen, die maximal 140 Zeichen lang sind und typischerweise einen Link zur vollst&auml;ndigen Nachricht enthalten. Wer Twitter-Nachrichten lesen m&ouml;chte, braucht keinen Account, sondern kann gleich auf <b>twitter.com <\/b>gehen und dort einen Suchbegriff eingeben. Bei Angabe eines Benutzernamens wie <b>andreminhorst <\/b>kann man durch einen Klick auf einen der gefundenen Benutzer dessen Nachrichten anzeigen, einfache Stichworte liefern schlicht eine nach Aktualit&auml;t sortierte Liste von Nachrichten (eine Nachricht wird &uuml;brigens auch Tweet genannt). Neben den eigentlichen Nachrichten ist das Verfolgen derselbigen interessant. Sie k&ouml;nnen die Tweets eines Benutzers abonnieren, indem Sie ihm &#8222;folgen&#8220;. Sie sind dann ein Follower dieses Benutzers. Dies gelingt allerdings nur, wenn Sie selbst ein Benutzerkonto besitzen. Andersherum k&ouml;nnen andere Benutzer ihnen folgen und erhalten beim Start des Twitter-Clients alle Nachrichten der Benutzer, denen sie folgen.<\/p>\n<p>Unser Access-Twitter-Client soll auf einfachste Weise drei Dinge erm&ouml;glichen: Die Tweets eines Benutzers anzeigen, einen neuen Tweet erstellen und einen bestehenden Tweet l&ouml;schen &#8211; all dies liefert das Formular aus Bild 1. Nat&uuml;rlich bietet Twitter noch viel mehr M&ouml;glichkeiten: Beispielsweise zeigt er alle Tweets an, welche die Benutzer eingestellt haben, denen Sie folgen. Solche Features lassen wir an dieser Stelle jedoch aus &#8211; Sie k&ouml;nnen diese aber leicht nachprogrammieren.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2010_03\/Twittern-web-images\/pic004.png\" alt=\"pic004.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Dieses Formular enth&auml;lt alle in diesem Beitrag vorgestellten Twitter-Funktionen.<\/span><\/b><\/p>\n<p><b>Twitter fernsteuern<\/b><\/p>\n<p>Bevor wir uns um die Formulargestaltung k&uuml;mmern, schauen wir uns an, wie wir Twitter fernsteuern k&ouml;nnen. Das Senden und L&ouml;schen eigener Tweets erfordert die Authentifizierung, das Abfrufen der Tweets eines Benutzers funktioniert ohne.<\/p>\n<p><b>Twitter-Meldung senden<\/b><\/p>\n<p>Wer aktiv twittert, &auml;rgert sich vielleicht, dass er sich immer und &uuml;berall immer wieder neu an den Dienst anmelden muss, bevor er eine Statusmeldung abschickt (zumindest beim Twittern &uuml;ber das Internet &#8211; per Handy reicht das Abschicken einer SMS an eine bestimmte Rufnummer).<\/p>\n<p>Wenn man beispielsweise zum Thema Access twittert (oder &uuml;ber Excel, Outlook, Word et cetera), warum sollte man sich nicht einfach ein kleines Tool bauen, in das man einfach seine Twitter-Meldung eingibt und diese per Mausklick oder Eingabetaste abschicken<\/p>\n<p>Dies ist prinzipiell ganz einfach. Sie brauchen nur eine URL mit der Statusmeldung zusammenzustellen und diese per HTTP-Protokoll an Twitter zu senden. Eine solche Meldung k&ouml;nnte etwa so aussehen:<\/p>\n<pre>http:\/\/twitter.com\/statuses\/update.xmlstatus=So klappt Twittern mit VBA!<\/pre>\n<p>Klar: Irgendwie muss man sich auch hier bei Twitter anmelden. Am einfachsten funktioniert dies mit einer Methode namens <b>Basic Auth<\/b>, die lediglich die Prozedur aus Listing 1 erfordert (inklusive eines Verweises auf die Bibliothek <b>Microsoft WinHTTP Services, version x.y<\/b>).<\/p>\n<p class=\"kastentabelleheader\">Listing 1: Absenden eines Tweets<\/p>\n<pre>Public Function SendTweet(strUpdate As String, _\r\n    strUsername As String, strPassword As String) As Boolean\r\n    Dim objWinHttpRequest As New WinHttpRequest\r\n    Dim strURL As String\r\n    strURL = &quot;http:\/\/twitter.com\/statuses\/update.xmlstatus=&quot; _\r\n    &amp; strUpdate\r\n    With objWinHttpRequest\r\n        .Open &quot;POST&quot;, strURL, False\r\n        .SetCredentials strUsername, strPassword, 0\r\n        .Send\r\n        If .Status = 200 Then\r\n            SendTweet = True\r\n        End If\r\n    End With\r\nEnd Function<\/pre>\n<p>Nun wird <b>Basic Auth <\/b>m&ouml;glicherweise nicht mehr lang unterst&uuml;tzt, weil die Benutzerdaten hier unverschl&uuml;sselt &uuml;ber das Internet verschickt werden. Wir verwenden diesen Vorgehensweise dennoch und werden gegebenenfalls ein Update liefern, wenn die in diesem Beitrag vorgestellte Version nicht mehr funktioniert.<\/p>\n<p><b>Twitter-Meldungen auslesen<\/b><\/p>\n<p>Wenn Sie Twitter-Meldungen schreiben, m&ouml;chten Sie diese vielleicht auch auslesen. Dies ist schon ein wenig komplizierter, aber auch nur, weil Sie erst die Antwort parsen m&uuml;ssen. Den Aufruf k&ouml;nnen Sie aber bereits vorab im Browser &uuml;ben. Geben Sie dort etwa die folgende URL ein und erhalten Sie ein Ergebnis wie in Bild 2:<\/p>\n<pre>http:\/\/api.twitter.com\/1\/statuses\/user_timeline.xmlscreen_name=&lt;Benutzername&gt;<\/pre>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2010_03\/Twittern-web-images\/pic001.png\" alt=\"pic001.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Die aktuellste der letzten 20 Statusmeldungen eines Benutzers.<\/span><\/b><\/p>\n<p>Statt <b>&lt;Benutzername&gt; <\/b>geben Sie dort einfach den Namen des Benutzers ein, dessen letzte Statusmeldungen Sie lesen m&ouml;chten (die Statusmeldungen des Autors finden Sie beispielsweise unter <b>andreminhorst<\/b>). Das Entgegennehmen und Parsen des zur&uuml;ckgelieferten XML-Files nimmt schon ein wenig mehr Zeit in Anspruch. Die grundlegende Funktion sieht nicht viel anders aus als die erste (s. Listing 2). Die Unterschiede in Kurzform:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Wir brauchen nur den <b>Username <\/b>zu &uuml;bergeben.<\/li>\n<li class=\"aufz-hlung\">Daf&uuml;r gibt es einen neuen R&uuml;ckgabeparameter namens <b>strXML<\/b>, der die Antwort im XML-Format liefert.<\/li>\n<li class=\"aufz-hlung\">Die <b>Open<\/b>-Methode arbeit mit dem Parameter <b>GET<\/b> statt <b>POST<\/b>.<\/li>\n<\/ul>\n<p class=\"kastentabelleheader\">Listing 2: Tweets eines Benutzers einlesen<\/p>\n<pre>Public Function GetTweetsByUser(strUsername As String, strXML As String) As Boolean\r\n    Dim objWinHttpRequest As New WinHttpRequest\r\n    Dim strURL As String\r\n    strURL = \"http:\/\/api.twitter.com\/1\/statuses\/user_timeline.\r\n    xmlscreen_name=&amp; strUsername\r\n    With objWinHttpRequest\r\n        .Open \"GET\", strURL, False\r\n        .Send\r\n        If .Status = 200 Then\r\n            GetTweetsByUser = True\r\n        End If\r\n        strXML = .ResponseText\r\n    End With\r\nEnd Function<\/pre>\n<p><!--30percent--><\/p>\n<p>Da wir hier einen R&uuml;ckgabeparameter verwenden, erfolgt der Aufruf nicht mehr einfach &uuml;ber das Direktfenster, sondern mindestens &uuml;ber eine Prozedur, die den R&uuml;ckgabeparameter zuvor deklariert und diesen auswertet. Wir greifen an dieser Stelle ein wenig auf das Formular der Beispielanwendung vor und schauen uns die Prozedur <b>GetTweetsByUser_Listbox<\/b> an, die das Ergebnis von <b>GetTweetsByUser <\/b>auswertet und in Form einer Datensatzherkunft f&uuml;r ein Listenfeld liefert (s. Listing 3). Diese ermittelt den XML-Code, den die HTTP-Anfrage als Antwort liefert.<\/p>\n<p class=\"kastentabelleheader\">Listing 2: Tweets eines Benutzers einlesen<\/p>\n<pre>Public Function GetTweetsByUser_Listbox(strUser As String) As String\r\n    Dim strXML As String\r\n    Dim objXML As MSXML2.DOMDocument\r\n    Dim objStatus As MSXML2.IXMLDOMElement\r\n    Dim strID As String\r\n    Dim strText As String\r\n    Dim strDatum As String\r\n    Dim strTemp As String\r\n    If GetTweetsByUser(strUser, strXML) = True Then\r\n        Set objXML = New MSXML2.DOMDocument\r\n        objXML.loadXML strXML\r\n        For Each objStatus In objXML.selectNodes(\"statuses\/*\")\r\n            strID = objStatus.selectSingleNode(\"id\").nodeTypedValue\r\n            strText = objStatus.selectSingleNode(\"text\").\r\n            nodeTypedValue\r\n            strDatum = DatumAuswerten(objStatus.selectSingleNode\r\n            (\"created_at\").nodeTypedValue)\r\n            strTemp = strTemp &amp; Chr(34) &amp; strID &amp; Chr(34) &amp; \";\"\r\n            &amp; Chr(34) &amp; strDatum &amp; Chr(34) &amp; \";\"\r\n            &amp; Chr(34) &amp; strText &amp; Chr(34) &amp; \";\"\r\n        Next objStatus\r\n        GetTweetsByUser_Listbox = strTemp\r\n    End If\r\nEnd Function<\/pre>\n<p>Das bringt uns nat&uuml;rlich nicht viel, denn wir brauchen ja nur den Inhalt der einzelnen Statusmeldungen. Also parst die Prozedur den Inhalt des XML-Dokuments und schreibt die Informationen in einige Variablen, die sie anschlie&szlig;end zu einer semikola-separierten Liste zuammensetzt. F&uuml;r einen einzelnen Tweet sieht das etwa so aus:<\/p>\n<pre>&quot;12873390477\";\"26.04.2010 09:25:04\";\r\n\"Coming soon: Access [basics] - Ausgabe 2!\";<\/pre>\n<p>Das Datum wird dabei &uuml;brigens durch die Funktion <b>DatumAuswerten <\/b>von einem Ausdruck wie <b>Wed Jan 20 08:52:10 +0000 2010 <\/b>in eine lesbarere Form umgewandelt. F&uuml;r den einfachen Zugriff auf ein XML-Dokument ben&ouml;tigen wir einen Verweis auf die Bibliothek <b>Microsoft XML, vx.0<\/b>, den Sie &uuml;ber den <b>Verweise<\/b>-Dialog des VBA-Editors (<b>Extras|Verweise<\/b>) einf&uuml;gen &#8211; verwenden Sie einfach die aktuellste verf&uuml;gbare Version. Das Ergebnis werden wir weiter unten als Datensatzherkunft eines Listenfeldes verwenden.<\/p>\n<p><b>L&ouml;schen eines Tweets<\/b><\/p>\n<p>Das Entfernen eines Tweets eines Benutzers geschieht prinzipiell genauso wie das Erzeugen eines solchen. Die n&ouml;tige Funktion hei&szlig;t allerdings <b>DestroyTweet <\/b>und verwendet die wie folgt zusammengesetzte URL:<\/p>\n<pre>strURL = &quot;http:\/\/api.twitter.com\/1\/statuses\/\r\ndestroy\/\" &amp; strStatusID &amp; &quot;.xml\"<\/pre>\n<p><b>Twitter-Formular<\/b><\/p>\n<p>Das wichtigste Formular der Anwendung hei&szlig;t <b>frmTwitter <\/b>und erlaubt das Absenden, L&ouml;schen und Betrachten der Tweets eines ausgew&auml;hlten Benutzers. Die beiden Formular <b>frmLookup <\/b>und <b>sfmLookup <\/b>dienen lediglich der Bearbeitung der Benutzer und ihrer Kennworter und werden im Beitrag <b>Standard-Lookupformulare <\/b>(<b>www.access-im-unternehmen.de\/722<\/b>) detailliert beschrieben. Das Kombinationsfeld <b>cboBenutzer <\/b>ist an die Tabelle <b>tblBenutzer <\/b>gebinden, die eine <b>ID<\/b>, den <b>Benutzernamen <\/b>und das <b>Kennwort <\/b>speichert. Gleich beim Laden des Formulars wird der erste Eintrag dieser Tabelle ausgelesen und die Prozedur aufgerufen, die normalerweise erst beim Anklicken der Schaltfl&auml;che <b>cmdTweetsLaden <\/b>startet und die Tweets des ausgew&auml;hlten Benutzers einliest.<\/p>\n<pre>Private Sub Form_Load()\r\n    Me!cboBenutzername = _\r\n    Me!cboBenutzername.ItemData(0)\r\n    cmdTweetsLaden_Click\r\nEnd Sub<\/pre>\n<p>Diese Prozedur ruft die Funktion <b>GetTweetsByUser_Listbox <\/b>auf und f&uuml;llt so das Listenfeld <b>lstTweets <\/b>f&uuml;r den im Kombinationsfeld <b>cboBenutzername <\/b>angegeben Benutzer:<\/p>\n<pre>Private Sub cmdTweetsLaden_Click()\r\n    Me!lstTweets.RowSource = GetTweetsByUser_\r\n    Listbox(Me!cboBenutzername.Column(1))\r\n    Me!lstTweets = Me!lstTweets.ItemData(0)\r\n    lstTweets_AfterUpdate\r\nEnd Sub<\/pre>\n<p>Au&szlig;erdem markiert sie den ersten Eintrag und ruft die Prozedur <b>lstTweets_AfterUpdate <\/b>auf, die auch beim Ausw&auml;hlen eines anderen Eintrags des Listenfeldes ausgel&ouml;st wird:<\/p>\n<pre>Private Sub lstTweets_AfterUpdate()\r\n    Me!txtDatum = Me!lstTweets.Column(1)\r\n    Me!txtTweet = Me!lstTweets.Column(2)\r\nEnd Sub<\/pre>\n<p>Diese Prozedur f&uuml;llt lediglich die beiden Textfelder <b>txtDatum <\/b>und <b>txtTweet <\/b>mit den Daten des aktuell im Listenfeld ausgew&auml;hlten Tweets. Diesen ausgew&auml;hlten Tweet k&ouml;nnen Sie mit einem Klick auf die Schaltfl&auml;che <b>Tweet l&ouml;schen <\/b>entfernen. Die dadurch ausgel&ouml;ste Prozedur ruft die Routine <b>DestroyTweet <\/b>aus dem Modul <b>mdlTwitter <\/b>auf und liest die Liste der Tweets f&uuml;r den aktuell ausgew&auml;hlten Benutzer erneut aus, wenn der L&ouml;schvorgang erfolgreich war:<\/p>\n<pre>Private Sub cmdTweetLoeschen_Click()\r\n    If DestroyTweet(Me!lstTweets, _\r\n        Me!cboBenutzername.Column(1), _\r\n        Me!cboBenutzername.Column(2)) = True Then\r\n        cmdTweetsLaden_Click\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Neuen Tweet senden<\/b><\/p>\n<p>Schlie&szlig;lich wollen Sie mit dem Twitter-Client noch neue Tweets senden. Dies geschieht nach der Eingabe des Tweets im Textfeld <b>txtNeuerTweet <\/b>&uuml;ber die Schaltfl&auml;che <b>Tweet senden<\/b>, die schlicht und einfach die Funktion <b>NewTweet <\/b>aufruft und im Erfolgsfall die Liste der Tweets aktualisiert:<\/p>\n<pre>Private Sub cmdTweetSenden_Click()\r\n    If NewTweet(Me!txtNeuerTweet, _\r\n        Me!cboBenutzername.Column(1), _\r\n        Me!cboBenutzername.Column(2)) = True Then\r\n        cmdTweetsLaden_Click\r\n    End If\r\nEnd Sub<\/pre>\n<p>Ein Tweet darf allerdings nicht l&auml;nger als 140 Zeichen sein, also f&uuml;gen wir noch eine Funktion hinzu, welche die Anzahl der fehlenden Zeichen anzeigt und verhindert, dass der Benutzer mehr Zeichen eintr&auml;gt. Zum Zwischenspeichern des Tweets brauchen wir eine Hilfsvariable:<\/p>\n<pre>Dim strTweet As String<\/pre>\n<p>Die Anzeige wird nach der Eingabe eines jeden Zeichens aktualisiert. Daf&uuml;r sorgt die folgende Prozedur, die durch das Ereignis <b>Beim &auml;ndern <\/b>ausgel&ouml;st wird. Es berechnet die Anzahl der fehlenden Zeichen und schreibt diese in die Variable <b>intZeichenUebrig<\/b>. Wenn noch Zeichen offen sind, schreibt die Prozedur die Anzahl aus dieser Variablen in das Textfeld <b>txtZeichenUebrig <\/b>und merkt sich den aktuell im Textfeld <b>txtNeuerTweet <\/b>enthaltenen Text in der Variablen <b>strTweet<\/b>.<\/p>\n<p>Dies hat den Hintergrund, dass dieser Text bei Eingabe eines Zeichens &uuml;ber die Grenze von 140 Zeichen hinaus wiederhergestellt werden soll. Dies geschieht im ersten Teil der If-Bedingung: Die Prozedur merkt sich dort die Position der Einf&uuml;gemarke, stellt den zuvor in strTweet gespeicherten Text wieder her und positioniert die Einf&uuml;gemarke, die sonst je nach Einstellung am Anfang oder am Ende des Textes positioniert worden w&auml;re, an der zuvor gespeicherten Stelle:<\/p>\n<pre>Private Sub txtNeuerTweet_Change()\r\n    Dim intZeichenUebrig As Integer\r\n    Dim intPos As Integer\r\n    intZeichenUebrig = 140 - _\r\n    Len(Me!txtNeuerTweet.Text)\r\n    If intZeichenUebrig &lt; 0 Then\r\n        intPos = Me!txtNeuerTweet.SelStart\r\n        Me!txtNeuerTweet = strTweet\r\n        Me!txtNeuerTweet.SelStart = intPos - 1\r\n    Else\r\n        Me!txtZeichenUebrig = intZeichenUebrig\r\n        strTweet = Me!txtNeuerTweet.Text\r\n    End If\r\nEnd Sub<\/pre>\n<p>Schlie&szlig;lich sorgt ein Klick auf die Schaltfl&auml;che mit den drei Punkten neben dem Kombinationsfeld <b>cboBenutzername <\/b>f&uuml;r die Anzeige des Formulars zur Bearbeitung der Eintr&auml;ge:<\/p>\n<pre>Private Sub cmdBenutzerDetails_Click()\r\n    DoCmd.OpenForm &quot;frmLookup&quot;, OpenArgs:=&quot;SELECT Benutzername, Kennwort FROM tblBenutzer&quot;, WindowMode:=acDialog\r\nEnd Sub<\/pre>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Mit dem hier vorgestellten Formular k&ouml;nnen Sie Twitter-Meldungen absetzen, einlesen und l&ouml;schen. Eine wichtige Frage ist die der Sicherheit: Aktuell werden die Zugangsdaten unverschl&uuml;sselt in einer Tabelle der Datenbank gespeichert, und auch der Zugriff auf Twitter erfolgt &uuml;ber das einfache Protokoll Basic Auth. Dieses wird m&ouml;glicherweise bald eingestellt, sodass Sie dann auf OAuth umsteigern m&uuml;ssen &#8211; wir werden zu gegebener Zeit darauf zur&uuml;ckkommen.<\/p>\n<p>Erweiterungsm&ouml;glichkeiten f&uuml;r den Access-Twitter-Client gibt es genug: So k&ouml;nnen Sie nat&uuml;rlich Tweets nicht nur eines, sondern mehrere Benutzer in eine Tabelle einlesen und diese anzeigen oder durchsuchen. Sehr interessant w&auml;re auch die Idee, den Twitter-Client in ein Access-Add-In oder ein COM-Add-In auszulagen, um diesen st&auml;ndig in Access (oder auch einer beliebigen anderen Office-Anwendung) anzuzeigen. Die n&ouml;tigsten Steuerelemente wie ein Feld zur Eingabe eines neuen Tweets oder zum Aufrufen der Benutzeroberfl&auml;che des Twitter-Clients k&ouml;nnte man dabei st&auml;ndig sichtbar im Ribbon oder in der Men&uuml;leiste unterbringen. Mitteilungsfreudige Entwickler k&ouml;nnten so st&auml;ndig von ihrem Werkzeug aus Tweets verschicken.<\/p>\n<p>Au&szlig;erdem haben wir in diesem Beitrag l&auml;ngst nicht alle M&ouml;glichkeiten von Twitter selbst vorgestellt &#8211; mehr erfahren Sie auf der Webseite <b>twitter.com<\/b>.<\/p>\n<p>Die API-Dokumentation von Twitter finden Sie &uuml;brigens unter <b>http:\/\/apiwiki.twitter.com\/Twitter-API-Documentation<\/b>.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Twittern.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{D09F5317-246B-4407-BB45-54A731CFC027}\/aiu_715.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Twittern Sie auch Oder folgen Sie zumindest anderen, die bei Twitter mitmachen Vielleicht kennen Sie Twitter ja auch noch gar nicht Wir bringen Sie mit diesem Beitrag auf jeden Fall auf den aktuellen Stand und zeigen, wie Sie mit Access auf den beliebten Online-Dienst zugreifen.<\/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":[662010,66032010,44000030,44000027],"tags":[],"class_list":["post-55000715","post","type-post","status-publish","format-standard","hentry","category-662010","category-66032010","category-Internet","category-Loesungen"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Twittern mit Access - 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\/Twittern_mit_Access\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Twittern mit Access\" \/>\n<meta property=\"og:description\" content=\"Twittern Sie auch Oder folgen Sie zumindest anderen, die bei Twitter mitmachen Vielleicht kennen Sie Twitter ja auch noch gar nicht Wir bringen Sie mit diesem Beitrag auf jeden Fall auf den aktuellen Stand und zeigen, wie Sie mit Access auf den beliebten Online-Dienst zugreifen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T22:12:19+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg03.met.vgwort.de\/na\/c02fea61a8a141bb9eb2c5ca218c3cf7\" \/>\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=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Twittern mit Access\",\"datePublished\":\"2020-05-22T22:12:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/\"},\"wordCount\":1755,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/c02fea61a8a141bb9eb2c5ca218c3cf7\",\"articleSection\":[\"2010\",\"3\\\/2010\",\"Internet\",\"L\u00f6sungen\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/\",\"name\":\"Twittern mit Access - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/c02fea61a8a141bb9eb2c5ca218c3cf7\",\"datePublished\":\"2020-05-22T22:12:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/c02fea61a8a141bb9eb2c5ca218c3cf7\",\"contentUrl\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/c02fea61a8a141bb9eb2c5ca218c3cf7\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Twittern_mit_Access\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Twittern mit Access\"}]},{\"@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":"Twittern mit Access - 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\/Twittern_mit_Access\/","og_locale":"de_DE","og_type":"article","og_title":"Twittern mit Access","og_description":"Twittern Sie auch Oder folgen Sie zumindest anderen, die bei Twitter mitmachen Vielleicht kennen Sie Twitter ja auch noch gar nicht Wir bringen Sie mit diesem Beitrag auf jeden Fall auf den aktuellen Stand und zeigen, wie Sie mit Access auf den beliebten Online-Dienst zugreifen.","og_url":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T22:12:19+00:00","og_image":[{"url":"http:\/\/vg03.met.vgwort.de\/na\/c02fea61a8a141bb9eb2c5ca218c3cf7","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Twittern mit Access","datePublished":"2020-05-22T22:12:19+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/"},"wordCount":1755,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/#primaryimage"},"thumbnailUrl":"http:\/\/vg03.met.vgwort.de\/na\/c02fea61a8a141bb9eb2c5ca218c3cf7","articleSection":["2010","3\/2010","Internet","L\u00f6sungen"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/","url":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/","name":"Twittern mit Access - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/#primaryimage"},"thumbnailUrl":"http:\/\/vg03.met.vgwort.de\/na\/c02fea61a8a141bb9eb2c5ca218c3cf7","datePublished":"2020-05-22T22:12:19+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/#primaryimage","url":"http:\/\/vg03.met.vgwort.de\/na\/c02fea61a8a141bb9eb2c5ca218c3cf7","contentUrl":"http:\/\/vg03.met.vgwort.de\/na\/c02fea61a8a141bb9eb2c5ca218c3cf7"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Twittern_mit_Access\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Twittern mit Access"}]},{"@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\/55000715","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=55000715"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000715\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000715"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000715"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}