{"id":55000468,"date":"2007-06-01T00:00:00","date_gmt":"2021-02-11T21:16:50","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=468"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Onlinebanking_mit_HBCI","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/","title":{"rendered":"Onlinebanking mit HBCI"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg01.met.vgwort.de\/na\/2415a9c962f342dba989bd49610e98b7\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Kontoums&auml;tze abfragen und &uuml;berweisungen t&auml;tigen kann dank Onlinebanking und des passenden Internetangebots mittlerweile jeder. Aber k&ouml;nnen Sie auch ganz einfach die vorgefundenen Informationen in Ihre Datenbank importieren Noch nicht, aber bald: Dieser Beitrag zeigt, wie Sie Kontost&auml;nde und -ums&auml;tze direkt in Ihre Datenbank einlesen. Alles, was Sie brauchen, ist eine passende Onlinebanking-Komponente.<\/b><\/p>\n<\/p><\/div>\n<div class=\"story\">\n<p>Auf Ihre Bankdaten k&ouml;nnen Sie online auf verschiedene Arten zugreifen: Manuell &uuml;ber das Internetangebot Ihrer Bank, mit spezieller Banking-Software wie MS Money, Quicken, Star Money und Co., per Webfernsteuerung, wie es im Beitrag &#8222;Webseiten fernsteuern&#8220; (Shortlink 467) beschrieben ist, oder mit Ihrem Lieblingstool: Microsoft Access. <\/p>\n<p>Es ist allerdings nicht verwunderlich, dass Access von Haus aus keine M&ouml;glichkeit bietet, auf die Webschnittstelle einer Bank zuzugreifen.<\/p>\n<p>Dazu bedarf es der Hilfe von Experten, denn die f&uuml;r den Zugriff verwendete Technik ist dank der vielf&auml;ltigen Sicherheitsma&szlig;nahmen und der komplizierten Notation von Abfragen an den Bankserver nicht gerade trivial.<\/p>\n<p>Die Firma DataDesign AG stellt jedoch eine Bibliothek bereit, die Ihnen den Zugriff auf die gew&uuml;nschten Daten wesentlich erleichtert. Der ausschlaggebende Punkt ist hierbei die COM-Schnittstelle, die alle notwendigen Objekte f&uuml;r den Zugriff auf ein Konto bereitstellt. Dieser Beitrag stellt das Objektmodell dieser Bibliothek vor und zeigt anhand einiger Beispiele, wie Sie dieses f&uuml;r den Zugriff via HBCI einsetzen k&ouml;nnen.<\/p>\n<div class=\"abbildung\">\n<table style=\"border: black 1px solid\">\n<tbody>\n<tr>\n<td>\n<p class=\"tabellenkopf\">DDBAC: Software und Lizenzbedingungen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Die DataDesign AG bietet auf ihrer Webseite verschiedene Versionen der DDBAC-Komponenten zur Verf&uuml;gung. Die DDBAC Runtime Version 4.1.6.0 ist komplett kostenlos, das DDBAC Software Development Kit 4.1.6.0 ist an Lizenzbedingungen gekn&uuml;pft, die Sie beim Download einsehen k&ouml;nnen. Der wesentliche Punkt lautet: Kostenpflichtig wird der Einsatz einer oder mehrerer DDBAC-Komponenten erst, wenn Sie diese in Projekte integrieren und als Paket an Dritte verkaufen. DataDesign hat aber zugesichert, dass Sie das auf der Heft-CD befindliche oder von http:\/\/www.datadesign.de herunterzuladende SDK f&uuml;r die Entwicklung eigener Anwendungen einsetzen und diese im Eigengebrauch kostenlos nutzen d&uuml;rfen.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p><b>Voraussetzungen<\/b><\/p>\n<p>Ohne einen Online-Zugang zu Ihrem Konto l&auml;uft nat&uuml;rlich gar nichts, und au&szlig;erdem m&uuml;ssen die HBCI-Funktionen f&uuml;r Sie freigeschaltet sein. Wenn Sie per Onlinebanking via Internet auf Ihr Konto zugreifen, sollten Sie die HBCI-Funktionen dar&uuml;ber freischalten k&ouml;nnen. Gegebenenfalls ist dazu ein kurzer Schriftwechsel oder ein Telefonat mit der Bank notwendig. Au&szlig;erdem brauchen Sie nat&uuml;rlich die <b>DataDesign Banking Application Components <\/b>(<b>DDBAC<\/b>), die Sie unter [1] herunterladen k&ouml;nnen. Deren Installation bringt nicht nur die notwendigen Komponenten auf die Festplatte, sondern f&uuml;gt auch der Systemsteuerung einen Eintrag hinzu. Mit diesem sorgen Sie f&uuml;r die Grundlage des Zugriffs, indem Sie einen oder mehrere Kontakte anlegen und diese sp&auml;ter verwalten (siehe Bild 1).<\/p>\n<div class=\"image\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/HBCI-web-images\/pic001_opt.jpeg\" alt=\"pic001.tif\" \/>\n        <\/div>\n<div class=\"abbildung\">\n<p><b><span style=\"color:darkgrey\">Bild 1: &uuml;ber die Systemsteuerung verwalten Sie Onlinebanking-Kontakte.<\/span><\/b><\/p>\n<\/p><\/div>\n<p>Ein Kontakt ist dabei keinesfalls mit einem Konto gleichzusetzen, auch wenn die Daten, die Sie hierzu von Ihrer Bank erhalten, m&ouml;glicherweise darauf schlie&szlig;en lassen. &uuml;ber einen Kontakt k&ouml;nnen Sie auf eines oder mehrere eigene Konten (beispielsweise Girokonto und Sparkonto), unter Umst&auml;nden aber auch auf fremde Konten zugreifen &#8211; etwa, wenn Sie als Buchhalter eines Unternehmens auf dessen Konten Zugriff haben. Diese Feinheiten werden weiter unten in der Beschreibung des Objektmodells deutlicher.<\/p>\n<p>Bis dahin m&uuml;ssen Sie erstmal einen Kontakt anlegen, indem Sie den <b>Administrator f&uuml;r Homebanking Kontakte <\/b>&ouml;ffnen und mit einem Klick auf die Schaltfl&auml;che <b>Neu <\/b>den passenden Assistenten starten (siehe Bild 2).<\/p>\n<div class=\"image\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/HBCI-web-images\/pic002_opt.jpeg\" alt=\"pic002.tif\" \/>\n        <\/div>\n<div class=\"abbildung\">\n<p><b><span style=\"color:darkgrey\">Bild 2: Start des Assistenten zum Erstellen eines Kontaktes<\/span><\/b><\/p>\n<\/p><\/div>\n<p>F&uuml;r die folgenden Schritte ben&ouml;tigen Sie die Unterlagen, die Ihnen die Bank Ihres Vertrauens geliefert hat &#8211; zum Beispiel den Ini-Brief, die Ini-Diskette oder die HBCI-Chipkarte. Sie geben dort die Art des Zugriffs auf den Server (etwa per Pin\/Tan oder FinTS), die Bankleitzahl, Ihre Benutzerkennung (aus den Unterlagen &#8211; stimmt gegebenenfalls mit Ihrer Kontonummer &uuml;berein) und weitere Daten ein. Beim Anlegen des neuen Homebanking-Kontakts erfolgt schlie&szlig;lich die Synchronisierung mit den passenden Daten auf dem Bankserver. Wichtig ist, dass Sie sich &#8211; wenn Sie mit einer Schl&uuml;sseldatei arbeiten &#8211; die f&uuml;r den Zugang mit dem auf einem passenden Medium gesicherten Schl&uuml;ssel g&uuml;ltige Passphrase merken. Diese ben&ouml;tigen Sie sp&auml;ter f&uuml;r die erneute Anmeldung am Onlinebanking-Server. Der Vorteil ist, dass Sie damit die l&auml;stige Eingabe von TANs umgehen k&ouml;nnen.<\/p>\n<p>Nach dem Anlegen des Kontakts k&ouml;nnen Sie diesen von Anwendungen, die auf die DDBAC-Schnittstelle zugreifen, referenzieren und f&uuml;r das Anmelden an den Banking-Server verwenden.<\/p>\n<p><b>Datenbank HBCI-f&auml;hig machen<\/b><\/p>\n<p>Nun k&ouml;nnen Sie endlich mit dem Bau einer Access-Anwendung f&uuml;r den Zugriff auf Ihre Bankkonten beginnen. Als Erstes brauchen Sie einen Verweis auf die Bibliothek <b>DataDesign DDBAC HBCI Banking Application Components<\/b> (siehe Bild 3).<\/p>\n<div class=\"image\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/HBCI-web-images\/pic003_opt.jpeg\" alt=\"pic003.tif\" \/>\n        <\/div>\n<div class=\"abbildung\">\n<p><b><span style=\"color:darkgrey\">Bild 3: Erstellen eines Verweises auf die DDBAC-Bibliothek<\/span><\/b><\/p>\n<\/p><\/div>\n<p>Anschlie&szlig;end geht es los &#8211; am besten mit dem Untersuchen der Daten, die Sie wie soeben beschrieben mit dem Assistenten vom Onlinebanking-Server auf Ihren Arbeitsrechner gezogen haben.<\/p>\n<p>Dabei handelt es sich n&auml;mlich um Basisdaten wie die einzelnen Konten, die Sie unter den von Ihnen angegebenen Benutzerdaten verwalten k&ouml;nnen. Im Falle des Autors und des im Beispiel verwendeten Zugangs beschr&auml;nkt sich dies auf zwei Konten &#8211; ein Giro- sowie ein Sparkonto. Trotzdem Grund genug, sich einmal anzusehen, wie man auf diese Daten zugreift.<\/p>\n<p>Die Routine aus Listing 1 zeigt, wie das funktioniert. Wie f&uuml;r die meisten folgenden Beispiele ben&ouml;tigen Sie ein Objekt des Typs <b>BACBanking<\/b>, das gleichzeitig das Wurzelelement des Objektmodells ist. Dieses deklarieren Sie wie folgt in einem Standardmodul:<\/p>\n<pre>Dim objBanking As BACBanking<\/pre>\n<p>Sie ben&ouml;tigen noch ein weiteres Element, mit dem Sie den aktuellen Onlinebanking-Benutzer referenzieren:<\/p>\n<pre>Dim objCustomer As BACCustomer<\/pre>\n<div class=\"abbildung\">\n<table>\n<tbody>\n<tr>\n<td>\n<p class=\"tabellenkopf\">Listing 1: Ausgabe einiger der beim Synchronisieren mit dem Banking-Server auf dem lokalen Rechner gespeicherten Informationen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<pre>Public Sub LokaleDaten()<br \/><\/pre>\n<pre>     Dim objAccountSegment As BACSegment<\/pre>\n<pre>    <br \/> Set objBanking = New BACBanking<\/pre>\n<pre>    <br \/> For Each objCustomer In objBanking.Customers<\/pre>\n<pre>        <br \/> Debug.Print &quot;*** Customer ***&quot;<\/pre>\n<pre>         Debug.Print &quot;Benutzer-ID: &quot; &amp; objCustomer.UserID<\/pre>\n<pre>         Debug.Print &quot;Bankleitzahl: &quot; &amp; objCustomer.BankCode<\/pre>\n<pre>         Debug.Print &quot;L&auml;ndercode: &quot; &amp; objCustomer.CountryCode<\/pre>\n<pre>        <br \/> For Each objAccountSegment In objCustomer.AccountData.Segments<\/pre>\n<pre>            <br \/> With objAccountSegment<br \/><\/pre>\n<pre>                 Debug.Print &quot;*** Kontoverbindung ***&quot;<\/pre>\n<pre>                 Debug.Print &quot;Kontonummer: &quot; &amp; .Item(&quot;Kontoverbindung1&quot;, &quot;Kontonummer1&quot;)<\/pre>\n<pre>                 Debug.Print &quot;Merkmal: &quot; &amp; .Item(&quot;Kontoverbindung1&quot;, &quot;Unterkontomerkmal1&quot;)<\/pre>\n<pre>                 Debug.Print &quot;L&auml;nderkennzeichen: &quot; &amp; .Item(&quot;Kontoverbindung1&quot;, &quot;Laenderkennzeichen1&quot;)<\/pre>\n<pre>                 Debug.Print &quot;Kreditinstitutcode: &quot; &amp; .Item(&quot;Kontoverbindung1&quot;, &quot;Kreditinstitutcode1&quot;)<\/pre>\n<pre>                 Debug.Print &quot;Kontow&auml;hrung: &quot; &amp; .Item(&quot;Kontowaehrung1&quot;)<\/pre>\n<pre>                 Debug.Print &quot;Besitzername: &quot; &amp; .Item(&quot;NameEins1&quot;)<\/pre>\n<pre>                 Debug.Print &quot;Produktbezeichnung: &quot; &amp; .Item(&quot;Kontoproduktbezeichnung1&quot;)<\/pre>\n<pre>            <br \/> End With<\/pre>\n<pre>         <br \/> Next objAccountSegment<\/pre>\n<pre>    <br \/> Next objCustomer<\/pre>\n<pre><br \/>End Sub<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>Ein <b>BACCustomer<\/b>-Objekt entspricht einem der Eintr&auml;ge in der Maske aus Bild 2. Dort k&ouml;nnen Sie &#8211; wenn Sie Konten bei verschiedenen Banken besitzen &#8211; auch mehrere HBCI-Benutzer einrichten.<\/p>\n<p>F&uuml;r diesen Fall bietet sich auch die Verwendung der <b>Customers<\/b>-Auflistung des <b>BACBanking<\/b>-Objekts an, das Methoden etwa zum Suchen von <b>BACCustomer<\/b>-Objekten nach dem Benutzernamen oder der Bankleitzahl erlaubt. Im vorliegenden Fall soll jedoch ein einfaches Durchlaufen der vorhandenen <b>BACCustomer<\/b>-Objekte gen&uuml;gen. Dies geschieht innerhalb einer <b>For Each<\/b>-Schleife &uuml;ber die <b>Customers<\/b>-Auflistung. Die Routine <b>LokaleDaten <\/b>gibt zun&auml;chst zu jedem <b>BACCustomer<\/b>-Objekt die Benutzerkennung (<b>UserID<\/b>), die Bankleitzahl (<b>BankCode<\/b>) und den <b>CountryCode <\/b>aus.<\/p>\n<p><!--30percent--><\/p>\n<p><b>Gut segmentiert<\/b><\/p>\n<p>Und dann wird es interessant, denn die folgenden Zeilen greifen erstmals auf ein Element zu, das Sie im Folgenden noch h&auml;ufiger einsetzen werden: das <b>BACSegment<\/b>-Objekt. Dabei handelt es sich um ein generisches Objekt, das Sie in der Regel als Container f&uuml;r den Austausch von Informationen mit dem Onlinebanking-Server einsetzen.<\/p>\n<p>Ein solches Segment enth&auml;lt je nach Einsatzfall verschiedene Eigenschaften, die in der HTML-Datei <b>Segmente.html <\/b>im Installationsverzeichnis von DDBAC beschrieben ist.<\/p>\n<p>Im Beispiel aus Listing 1 stammen die Segmente aus der <b>AccountData<\/b>-Auflistung des <b>BACCustomer<\/b>-Objekts und liefern Informationen zu den einzelnen Bankkonten des aktuellen Benutzerkontos. &uuml;ber die <b>Item<\/b>-Eigenschaft lassen sich Informationen ausgeben, die Sie &uuml;ber ein oder zwei Parameter identifizieren &#8211; <b>Item(&quot;Kontoverbindung1&quot;, &quot;Kontonummer1&quot;) <\/b>liefert etwa die Kontonummer des ersten in der Auflistung enthaltenen Kontos.<\/p>\n<p>Wie bereits erw&auml;hnt, legt die Spezifikationsdatei <b>Segmente.html <\/b>die hier zu verwendenden Parameter fest. Die Datei ist ellenlang und enth&auml;lt Informationen zu mehr als 300 Segmenttypen, sodass sich die Frage stellt, wie man den passenden Typ und somit die g&uuml;ltigen Parameter ermittelt. Dies ist ziemlich einfach: Die Eigenschaft <b>Type <\/b>des <b>BACSegment<\/b>-Objekts liefert die passende Kennung f&uuml;r das Segment, in diesem Fall <b>HIUPD <\/b>f&uuml;r <b>Kontoinformation<\/b> (siehe Bild 4)<\/p>\n<div class=\"image\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/HBCI-web-images\/pic004_opt.jpeg\" alt=\"pic004.tif\" \/>\n        <\/div>\n<div class=\"abbildung\">\n<p><b><span style=\"color:darkgrey\">Bild 4: Informationen &uuml;ber die Parameter der Segment-Objekte liefert diese HTML-Datei.<\/span><\/b><\/p>\n<\/p><\/div>\n<p>Die Frage, warum man jeweils noch das Zeichen <b>1 <\/b>an die Parameternamen anh&auml;ngen muss, beantwortet die Dokumentation leider nicht, man gew&ouml;hnt sich aber schnell daran.<\/p>\n<p>Die Routine aus Listing 1 gibt schlie&szlig;lich einige Informationen es Segments HIUPD aus, mit denen Sie etwa ein Listenfeld zur Auswahl des zu verwaltenden Kontos f&uuml;llen k&ouml;nnen.<\/p>\n<p><b>Online gehen<\/b><\/p>\n<p>Mit Onlinebanking hatte das Bisherige noch nicht allzuviel zu tun, was sich aber nun &auml;ndert. Vor dem ersten Zugriff auf die Kontodaten m&uuml;ssen Sie sich allerdings zun&auml;chst am Server anmelden &#8211; was nach einmalig erfolgter Synchronisierung sehr einfach vonstatten geht.<\/p>\n<p>Die Routine aus Listing 2 zeigt nicht nur, wie die Anmeldung erfolgt, sondern auch, wie Sie einen Kontostand abfragen. Die Routine ist eine stark vereinfachte Variante des Ablaufs eines mit der Komponente aus [1] gelieferten Beispiels, das Sie im Unterverzeichnis <b>HBCIPAD <\/b>als VB6-Projekt finden. Vereinfacht deshalb, weil aus Gr&uuml;nden der &uuml;bersichtlichkeit beispielsweise die Fehlerbehandlung und s&auml;mtliche Sicherheitsabfragen herausgenommen wurden.<\/p>\n<div class=\"abbildung\">\n<table>\n<tbody>\n<tr>\n<td>\n<p class=\"tabellenkopf\">Listing 2: Anmelden an den Onlinebanking-Server und Abfragen des aktuellen Kontostandes<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<pre>Public Function Kontostand() As Currency<br \/><\/pre>\n<pre>     Dim objAccountSegment As BACSegment<\/pre>\n<pre>     Dim objDialog As BACDialog<\/pre>\n<pre>     Dim objMessage As BACMessage<\/pre>\n<pre>     Dim objResponseSegment As BACSegment<\/pre>\n<pre>     Dim objSaldoSegment As BACSegment<\/pre>\n<pre>    <br \/> Set objBanking = New BACBanking<\/pre>\n<pre>     Set objCustomer = objBanking.Customers(0)<\/pre>\n<pre>     Set objAccountSegment = objCustomer.AccountData.Segments(0)<\/pre>\n<pre>     Set objDialog = objCustomer.NewDialogUI<\/pre>\n<pre>    <br \/> objDialog.BeginDialog<\/pre>\n<pre>    <br \/> Set objSaldoSegment = objBanking.NewSegment(&quot;HKSAL&quot;, objCustomer(&quot;HBCIVersion&quot;))<\/pre>\n<pre>    <br \/> objSaldoSegment(&quot;AuftraggeberKontoverbindung1&quot;, &quot;Kontonummer1&quot;) = _<br \/> objAccountSegment(&quot;Kontoverbindung1&quot;, &quot;Kontonummer1&quot;)<\/pre>\n<pre>     objSaldoSegment(&quot;AuftraggeberKontoverbindung1&quot;, &quot;Laenderkennzeichen1&quot;) = _<br \/> objAccountSegment(&quot;Kontoverbindung1&quot;, &quot;Laenderkennzeichen1&quot;)<\/pre>\n<pre>     objSaldoSegment(&quot;AuftraggeberKontoverbindung1&quot;, &quot;Kreditinstitutcode1&quot;) = _<br \/> objAccountSegment(&quot;Kontoverbindung1&quot;, &quot;Kreditinstitutcode1&quot;)<\/pre>\n<pre>     objSaldoSegment(&quot;AuftraggeberKontoverbindung1&quot;, &quot;Unterkontomerkmal1&quot;) = _<br \/> objAccountSegment(&quot;Kontoverbindung1&quot;, &quot;Unterkontomerkmal1&quot;)<\/pre>\n<pre>     objSaldoSegment(&quot;AlleKonten1&quot;) = False<\/pre>\n<pre>    <br \/> Set objMessage = objDialog.ExecuteSegment(objSaldoSegment)<\/pre>\n<pre>    <br \/> For Each objResponseSegment In objMessage.Transactions(0).ResponseSegments<\/pre>\n<pre>         Debug.Print objResponseSegment(&quot;SaldoGebucht1&quot;, &quot;Wert1&quot;)<\/pre>\n<pre>         Debug.Print objResponseSegment(&quot;SaldoGebucht1&quot;, &quot;Datum1&quot;)<\/pre>\n<pre>         Debug.Print objResponseSegment(&quot;SaldoGebucht1&quot;, &quot;Waehrung1&quot;)<\/pre>\n<pre>         Debug.Print objResponseSegment(&quot;SaldoGebucht1&quot;, &quot;SollHabenKennzeichen1&quot;)<\/pre>\n<pre>     Next objResponseSegment<\/pre>\n<pre>    <br \/> objDialog.EndDialog<\/pre>\n<pre><br \/>End Function<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>Nach dem Instanzieren des <b>BACBanking<\/b>-Objekts legt die Routine einen Verweis auf den ersten in der Liste aus Bild 2 enthaltenen Eintrag fest:<\/p>\n<p>Set objCustomer = objBanking.Customers(0)<\/p>\n<p>Die Eintr&auml;ge k&ouml;nnte man auch hier in einer Schleife durchlaufen, aber der Zugriff soll diesmal etwas gezielter erfolgen. Die folgende Anweisung erstellt einen Verweis auf das erste Konto f&uuml;r den soeben referenzierten Customer:<\/p>\n<pre>Set objAccountSegment = <br \/>objCustomer.AccountData.Segments(0)<\/pre>\n<p>Mit den folgenden beiden Anweisungen stellen Sie schlie&szlig;lich die Verbindung her, wobei Sie zun&auml;chst ein neues <b>BACDialog<\/b>-Objekt erzeugen und sich dann &uuml;ber dessen <b>BeginDialog<\/b>-Methode mit dem Onlinebanking-Server verbinden:<\/p>\n<pre>Set objDialog = objCustomer.NewDialogUI\r\nobjDialog.BeginDialog<\/pre>\n<p>Dies ruft den Dialog aus Bild 5 auf den Plan, der nach der Passphrase f&uuml;r die verwendete Schl&uuml;sseldatei oder, falls Sie Ihren Banking-Kontakt f&uuml;r das PIN\/TAN-Verfahren eingerichtet haben, die Angabe der PIN verlangt.<\/p>\n<div class=\"image\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/HBCI-web-images\/pic005_opt.jpeg\" alt=\"pic005.tif\" \/>\n        <\/div>\n<div class=\"abbildung\">\n<p><b><span style=\"color:darkgrey\">Bild 5: Anmelden per Passphrase<\/span><\/b><\/p>\n<\/p><\/div>\n<p>Schlie&szlig;lich wollen Sie den Kontostand des angegebenen Kontos ermitteln. Und hier kommen wieder die Segmente ins Spiel: Kurzgefasst werden Sie in den folgenden Schritten ein Segment erzeugen, das die Anforderung formuliert (&#8222;schicke mir den Kontostand f&uuml;r das Konto mit den folgenden Daten&#8220;), dieses abschicken und als Antwort ein weiteres Segment mit den gew&uuml;nschten Informationen erhalten.<\/p>\n<p>Das zu sendende Segment hat die Kennung HKSAL (die ersten beiden Buchstaben stehen immer f&uuml;r den Absender, die folgenden charakterisieren die angeforderten\/gesendeten Informationen). Ein passendes Segment-Objekt erstellen Sie mit der <b>NewSegment<\/b>-Methode des <b>BACBanking<\/b>-Objekts. Das HKSAL-Segment f&uuml;llen Sie wie in der folgenden Anweisung (in einer Zeile) mit den Informationen des abzufragenden Kontos:<\/p>\n<pre>objSaldoSegment(&quot;AuftraggeberKontoverbindung1&quot;, <br \/> &quot;Kontonummer1&quot;) = <br \/> objAccountSegment(&quot;Kontoverbindung1&quot;,<br \/> &quot;Kontonummer1&quot;)<\/pre>\n<p>Darauf aufbauend erzeugen Sie schlie&szlig;lich ein neues <b>BACMessage<\/b>-Objekt:<\/p>\n<pre>Set objMessage = <br \/>objDialog.ExecuteSegment(objSaldoSegment)<\/pre>\n<p>Dies ist neben der eigentlichen Anmeldung die einzige Anweisung, die einen Kontakt mit dem Onlinebanking-Server aufbaut und die deshalb circa eine Sekunde Zeit f&uuml;r die Abarbeitung ben&ouml;tigt.<\/p>\n<p>Anschlie&szlig;end liegt das Ergebnis in Form eines Segments im ersten Element der <b>Transactions<\/b>-Auflistung des <b>BACMessage<\/b>-Objekts vor. Die einzelnen Informationen dieses Segments, das &uuml;brigens die Kennung HISAL tr&auml;gt, k&ouml;nnen Sie nach diesem Schema ausgeben (in einer Zeile):<\/p>\n<pre>Debug.Print objResponseSegment(&quot;SaldoGebucht1&quot;, &quot;Wert1&quot;)<\/pre>\n<p>Die Ausgabe im Direktfenster sieht schlie&szlig;lich wie in Bild 6 aus.<\/p>\n<div class=\"image\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/HBCI-web-images\/pic006_opt.jpeg\" alt=\"pic006.tif\" \/>\n        <\/div>\n<div class=\"abbildung\">\n<p><b><span style=\"color:darkgrey\">Bild 6: Ausgabe des Kontostands (hier &#8211; manipuliert &#8211; der Wunschkontostand des Autors)<\/span><\/b><\/p>\n<\/p><\/div>\n<p><b>Kontoauszug abfragen<\/b><\/p>\n<p>Wer etwa seine Finanzen mit einer eigenen Access-Datenbank verwaltet, um daraus eine Bilanz oder eine Einnahme-&uuml;berschuss-Rechnung zu erstellen, sollte sich folgendes Beispiel zu Gem&uuml;te f&uuml;hren. Es fragt die Buchungen &uuml;ber einen bestimmten Zeitraum ab und gibt diese in einer Form aus, die Sie leicht in einer Tabelle speichern und damit die gebuchten Ein- und Ausgangsrechnungen abgleichen k&ouml;nnen.<\/p>\n<p>Dies sollte man nat&uuml;rlich regelm&auml;&szlig;ig durchf&uuml;hren, da die meisten Banken diese Daten nur f&uuml;r einen Zeitraum von 90 Tagen zur Verf&uuml;gung stellen.<\/p>\n<p>Die in Listing 3 vorgestellte Prozedur liest die Kontobewegungen in dem per Parameter &uuml;bergebenen Zeitraum ein und gibt diese im Direktfenster aus. Der Aufruf sieht etwa wie folgt aus:<\/p>\n<pre>Kontoauszug &quot;30.4.2007&quot;, &quot;1.5.2007&quot;<\/pre>\n<p>Die Routine beginnt wie diejenige zum Ermitteln des aktuellen Kontostands aus Listing 2 und stellt dabei eine Verbindung zum Onlinebanking-Server her. Dann erzeugt es ein neues <b>BACSegment<\/b>-Objekt namens <b>objKontoauszugSegment <\/b>und stellt einige seiner Attribute auf das betreffende Konto ein.<\/p>\n<div class=\"abbildung\">\n<table>\n<tbody>\n<tr>\n<td>\n<p class=\"tabellenkopf\">Listing 3: Anmelden an den Onlinebanking-Server und Ausgabe der Kontoums&auml;tze<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<pre>Public Sub Kontoauszug(Optional dateStart As Date, Optional dateEnd As Date)<\/pre>\n<pre>     Dim objAccountSegment As BACSegment<\/pre>\n<pre>     Dim objDialog As BACDialog<\/pre>\n<pre>     Dim objMessage As BACMessage<\/pre>\n<pre>     Dim objResponseSegment As BACSegment<\/pre>\n<pre>     Dim objKontoauszugSegment As BACSegment<\/pre>\n<pre>     Dim objTransaction As BACTransaction<\/pre>\n<pre>     Dim objSwiftStatement As New BACSwiftStatement<\/pre>\n<pre>     Dim objLine As BACSwiftStatementLine<\/pre>\n<pre>     Set objBanking = New BACBanking<\/pre>\n<pre>     Set objCustomer = objBanking.Customers(0)<\/pre>\n<pre>     Set objAccountSegment = objCustomer.AccountData.Segments(0)<\/pre>\n<pre>     Set objDialog = objCustomer.NewDialogUI<br \/><\/pre>\n<pre>     objDialog.BeginDialog<\/pre>\n<pre>     Set objKontoauszugSegment = objBanking.NewSegment(&quot;HKKAZ&quot;, objCustomer(&quot;HBCIVersion&quot;))<br \/><\/pre>\n<pre>     objKontoauszugSegment(&quot;AuftraggeberKontoverbindung1&quot;, &quot;Kontonummer1&quot;) = _<br \/> objAccountSegment(&quot;Kontoverbindung1&quot;, &quot;Kontonummer1&quot;)<\/pre>\n<pre>     objKontoauszugSegment(&quot;AuftraggeberKontoverbindung1&quot;, &quot;Laenderkennzeichen1&quot;) = _<br \/> objAccountSegment(&quot;Kontoverbindung1&quot;, &quot;Laenderkennzeichen1&quot;)<\/pre>\n<pre>     objKontoauszugSegment(&quot;AuftraggeberKontoverbindung1&quot;, &quot;Kreditinstitutcode1&quot;) = _<br \/> objAccountSegment(&quot;Kontoverbindung1&quot;, &quot;Kreditinstitutcode1&quot;)<\/pre>\n<pre>     objKontoauszugSegment(&quot;AuftraggeberKontoverbindung1&quot;, &quot;Unterkontomerkmal1&quot;) = _<br \/> objAccountSegment(&quot;Kontoverbindung1&quot;, &quot;Unterkontomerkmal1&quot;)<\/pre>\n<pre>     objKontoauszugSegment(&quot;AlleKonten1&quot;) = False<\/pre>\n<pre>     If dateStart &gt; 0 And dateEnd &gt; 0 And (dateEnd &gt;= dateStart) Then<\/pre>\n<pre>         objKontoauszugSegment(&quot;DatumVon1&quot;) = dateStart<\/pre>\n<pre>         objKontoauszugSegment(&quot;DatumBis1&quot;) = dateEnd<\/pre>\n<pre>     End If<\/pre>\n<pre>     Set objMessage = objDialog.ExecuteSegment(objKontoauszugSegment)<\/pre>\n<pre>     Set objTransaction = objMessage.Transactions(0)<\/pre>\n<pre>     If objTransaction.ResponseSegments.Count = 1 Then<\/pre>\n<pre>         Set objResponseSegment = objTransaction.ResponseSegments(0)<\/pre>\n<pre>         If Not IsEmpty(objResponseSegment) Then<\/pre>\n<pre>             Set objSwiftStatement = objResponseSegment(&quot;UmsaetzeGebucht1&quot;)<\/pre>\n<pre>         End If<\/pre>\n<pre>     End If<\/pre>\n<pre>     Debug.Print &quot;StatementNumber: &quot; &amp; objSwiftStatement.StatementNumber<\/pre>\n<pre>     Debug.Print &quot;AccountIdentificationCode: &quot; &amp; objSwiftStatement.AccountIdentificationCode<\/pre>\n<pre>     For Each objLine In objSwiftStatement.StatementLines<\/pre>\n<pre>        <br \/> Debug.Print &quot;RealValidityDate : &quot; &amp; objLine.RealValidityDate<\/pre>\n<pre>         Debug.Print &quot;EntryDate: &quot; &amp; objLine.EntryDate<\/pre>\n<pre>         Debug.Print &quot;BusinessTransactionText: &quot; &amp; objLine.BusinessTransactionText<\/pre>\n<pre>         Debug.Print &quot;CustomerReference: &quot; &amp; objLine.CustomerReference<\/pre>\n<pre>         Debug.Print &quot;InstitutionReference: &quot; &amp; objLine.InstitutionReference<\/pre>\n<pre>         Debug.Print &quot;Name: &quot; &amp; objLine.Name<\/pre>\n<pre>         Debug.Print &quot;Purpose: &quot; &amp; objLine.Purpose<\/pre>\n<pre>         Debug.Print &quot;Amount\/Currency: &quot; &amp; objLine.Amount &amp; &quot; &quot; &amp; objLine.CurrencyCode<\/pre>\n<pre>    <br \/> Next objLine<\/pre>\n<pre>     Debug.Print &quot;Datum\/alter Kontostand: &quot; &amp; objSwiftStatement.OpeningBalanceDate _<br \/> &amp; &quot; &quot; &amp; objSwiftStatement.OpeningBalanceAmount<br \/><\/pre>\n<pre>     Debug.Print &quot;Datum\/neuer Kontostand: &quot; &amp; objSwiftStatement.ClosingAvailableBalanceDate _<br \/> &amp; &quot;&quot; &amp; objSwiftStatement.ClosingAvailableBalanceAmount<\/pre>\n<pre>     objDialog.EndDialog<br \/><\/pre>\n<pre>End Sub<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>Nachfolgend pr&uuml;ft die Routine, ob der Benutzer g&uuml;ltige Daten f&uuml;r den anzuzeigenden Zeitraum eingegeben hat und legt die Datumsangaben gegebenenfalls f&uuml;r die Attribute <b>DatumVon1 <\/b>und <b>DatumBis1 <\/b>fest.<\/p>\n<p>Anschlie&szlig;end schickt die Routine das Segment an den Server und speichert das Ergebnis im <b>BACMessage<\/b>-Objekt <b>objMessage<\/b>.<\/p>\n<p>Dieses enth&auml;lt &uuml;blicherweise eine Transaktion mit einen Antwort-Segment, das im Anschluss mit der Objektvariablen <b>objResponseSegment <\/b>referenziert wird.<\/p>\n<p>Dieses Segment hat nun passend zum abgeschickten Segment den Typ HIKAZ, das nur Attribute aufweist: <b>UmsaetzeGebucht <\/b>und <b>UmsaetzeNichtGebucht<\/b>. Hier ist nur der erste interessant, der auch gleich noch eine Besonderheit aufweist: Er enth&auml;lt keinen der bisher verwendeten Datentypen, sondern liefert einen Bin&auml;rstrom.<\/p>\n<p>Und wenn es nicht einige Beispiele und Dokumentationen g&auml;be, w&uuml;rden Sie vermutlich lange nach einer M&ouml;glichkeit suchen, diesen auf einfache Weise aufzusplitten und die gew&uuml;nschten Informationen zu extrahieren: Dies erfolgt n&auml;mlich mit einem Objekt der Bibliothek <b>DataDesign DDBAC S.W.I.F.T. Format Component<\/b>, die Sie hierzu &uuml;brigens noch per Verweis registrieren m&uuml;ssen.<\/p>\n<p>Das Objekt hat den Typ <b>BACSwiftStatement <\/b>und Sie k&ouml;nnen ihm ohne Probleme den Inhalt des Parameters <b>UmsaetzeGebucht1 <\/b>des Antwort-Segments zuweisen:<\/p>\n<pre>Set objSwiftStatement = <br \/>objResponseSegment(&quot;UmsaetzeGebucht1&quot;)<\/pre>\n<p>Und dieses Objekt ist ein wahrer Segen, wenn es um das Parsen der einzelnen Kontoums&auml;tze geht. Ein solches sieht n&auml;mlich in Textform etwa so wie in Bild 7 aus.<\/p>\n<div class=\"image\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_03\/HBCI-web-images\/pic007_opt.jpeg\" alt=\"pic007.tif\" \/>\n        <\/div>\n<div class=\"abbildung\">\n<p><b><span style=\"color:darkgrey\">Bild 7: Dieser Kontoumsatz ist f&uuml;r das menschliche Auge nicht besonders gut lesbar.<\/span><\/b><\/p>\n<\/p><\/div>\n<p>Das <b>BACSwiftStatement <\/b>aber nimmt die kompletten per HIKAZ-Segment gelieferten Kontoums&auml;tze und stellt ein Objektmodell zur Verf&uuml;gung, mit dem Sie ganz einfach auf die Informationen des aktuellen Auszugs sowie auch die einzelnen Buchungen zugreifen k&ouml;nnen.<\/p>\n<p>Die Routine aus Listing 3 macht sich dies zu Nutze, indem sie im Direktfenster zun&auml;chst die &uuml;blicherweise im Kopf eines Kontoauszugs in Papierform zu findenden Informationen ausgibt, dann die in der Auflistung <b>StatementLines <\/b>gespeicherten Buchungss&auml;tze durchl&auml;uft und in feine H&auml;ppchen aufgegliedert liefert und schlie&szlig;lich noch den alten und den neuen Saldo preisgibt.<\/p>\n<p>Wie auch die Routine aus Listing 2 ist dies eine stark vereinfachte Variante der passenden Funktion des VB-Projekts aus der Beispielsammlung. Sie tat aber w&auml;hrend der Erstellung dieses Beitrags klaglos ihren Dienst &#8211; sollte das bei Ihnen nicht der Fall sein, geben Sie uns bitte Feedback unter info@access-im-unternehmen.de.<\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Die ersten beiden Beispiele f&uuml;r das Auslesen von Kontost&auml;nden und -ums&auml;tzen machen Appetit auf mehr, und das sollen Sie auch bekommen: In den folgenden Ausgaben stellen wir weitere Techniken vor und zeigen, wie Sie die ausgelesenen Informationen in Tabellen speichern und Gewinn bringend weiterverwenden k&ouml;nnen.<\/p>\n<p>Wer es bis dahin nicht aushalten kann, findet mit der Routine aus Listing 3 bereits die Grundlage, st&auml;ndig seine Ums&auml;tze in passenden Datenbanktabellen zu speichern &#8211; Sie brauchen ja nur die Tabellen anzulegen und die gewonnenen Informationen in den entsprechenden Feldern zu speichern.<\/p>\n<p class=\"zwischen-berschriftquellen\">Quellen<\/p>\n<p class=\"quellen\">[1] Onlinebanking-Komponente von DataDesign: <br \/>http:\/\/www.datadesign.de\/internet\/DDBAC.htm<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>HBCI.accdb<\/p>\n<p>HBCI.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/BB03BDEE-F016-43C3-9AE7-98428219AF7C\/aiu_468.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kontoums&auml;tze abfragen und &Uuml;berweisungen t&auml;tigen kann dank Onlinebanking und des passenden Internetangebots mittlerweile jeder. Aber k&ouml;nnen Sie auch ganz einfach die vorgefundenen Informationen in Ihre Datenbank importieren Noch nicht, aber bald: Dieser Beitrag zeigt, wie Sie Kontost&auml;nde und -ums&auml;tze direkt in Ihre Datenbank einlesen. Alles, was Sie brauchen, ist eine passende Onlinebanking-Komponente.<\/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":[662007,66032007,44000026,44000030,44000027],"tags":[],"class_list":["post-55000468","post","type-post","status-publish","format-standard","hentry","category-662007","category-66032007","category-Interaktiv","category-Internet","category-Loesungen"],"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>Onlinebanking mit HBCI - 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\/Onlinebanking_mit_HBCI\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Onlinebanking mit HBCI\" \/>\n<meta property=\"og:description\" content=\"Kontoums&auml;tze abfragen und &Uuml;berweisungen t&auml;tigen kann dank Onlinebanking und des passenden Internetangebots mittlerweile jeder. Aber k&ouml;nnen Sie auch ganz einfach die vorgefundenen Informationen in Ihre Datenbank importieren Noch nicht, aber bald: Dieser Beitrag zeigt, wie Sie Kontost&auml;nde und -ums&auml;tze direkt in Ihre Datenbank einlesen. Alles, was Sie brauchen, ist eine passende Onlinebanking-Komponente.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-11T21:16:50+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg01.met.vgwort.de\/na\/2415a9c962f342dba989bd49610e98b7\" \/>\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=\"16\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Onlinebanking mit HBCI\",\"datePublished\":\"2021-02-11T21:16:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/\"},\"wordCount\":2579,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/2415a9c962f342dba989bd49610e98b7\",\"articleSection\":[\"2007\",\"3\\\/2007\",\"Interaktiv\",\"Internet\",\"L\u00f6sungen\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/\",\"name\":\"Onlinebanking mit HBCI - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/2415a9c962f342dba989bd49610e98b7\",\"datePublished\":\"2021-02-11T21:16:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/2415a9c962f342dba989bd49610e98b7\",\"contentUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/2415a9c962f342dba989bd49610e98b7\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Onlinebanking_mit_HBCI\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Onlinebanking mit HBCI\"}]},{\"@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":"Onlinebanking mit HBCI - 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\/Onlinebanking_mit_HBCI\/","og_locale":"de_DE","og_type":"article","og_title":"Onlinebanking mit HBCI","og_description":"Kontoums&auml;tze abfragen und &Uuml;berweisungen t&auml;tigen kann dank Onlinebanking und des passenden Internetangebots mittlerweile jeder. Aber k&ouml;nnen Sie auch ganz einfach die vorgefundenen Informationen in Ihre Datenbank importieren Noch nicht, aber bald: Dieser Beitrag zeigt, wie Sie Kontost&auml;nde und -ums&auml;tze direkt in Ihre Datenbank einlesen. Alles, was Sie brauchen, ist eine passende Onlinebanking-Komponente.","og_url":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-11T21:16:50+00:00","og_image":[{"url":"http:\/\/vg01.met.vgwort.de\/na\/2415a9c962f342dba989bd49610e98b7","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"16\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Onlinebanking mit HBCI","datePublished":"2021-02-11T21:16:50+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/"},"wordCount":2579,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/2415a9c962f342dba989bd49610e98b7","articleSection":["2007","3\/2007","Interaktiv","Internet","L\u00f6sungen"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/","url":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/","name":"Onlinebanking mit HBCI - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/2415a9c962f342dba989bd49610e98b7","datePublished":"2021-02-11T21:16:50+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/#primaryimage","url":"http:\/\/vg01.met.vgwort.de\/na\/2415a9c962f342dba989bd49610e98b7","contentUrl":"http:\/\/vg01.met.vgwort.de\/na\/2415a9c962f342dba989bd49610e98b7"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Onlinebanking_mit_HBCI\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Onlinebanking mit HBCI"}]},{"@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\/55000468","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=55000468"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000468\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}