{"id":55000192,"date":"2019-08-01T00:00:00","date_gmt":"2020-03-27T19:39:17","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=192"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Onlinebanking_mit_DDBAC_Saldo_und_Umsaetze","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Onlinebanking_mit_DDBAC_Saldo_und_Umsaetze\/","title":{"rendered":"Onlinebanking mit DDBAC: Saldo und Ums&auml;tze"},"content":{"rendered":"<p><b>Onlinebanking ist aktuell in aller Munde, da es f&uuml;r erh&ouml;hte Sicherheit einige &Auml;nderungen in den Abl&auml;ufen gegeben hat. Viele Leser kennen die DDBAC-Bibliothek bereits, denn wir haben in Access im Unternehmen schon dar&uuml;ber berichtet und es ist auch ein Buch zu diesem Thema im Andr&eacute; Minhorst Verlag erschienen. Wer diese Bibliothek nutzt, braucht neben einer aktuellen Version auch noch eine kleine &Auml;nderung, ohne die Vorg&auml;nge nicht mehr durchgef&uuml;hrt werden k&ouml;nnen. Auch aus diesem Anlass wollen wir in diesem Artikel das Thema Homebanking mit Visual Basic und der DDBAC-Bibliothek einmal im Detail vorstellen.<\/b><\/p>\n<h2>Voraussetzungen<\/h2>\n<p>Voraussetzung f&uuml;r das Umsetzen der L&ouml;sung dieses Artikels ist das Vorhandensein einer DDBAC-Lizenz. Die damit nutzbaren Komponenten sind leider nicht mehr kostenlos verf&uuml;gbar, sondern m&uuml;ssen lizensiert werden, bevor man diese in seine Produkte einbauen kann. Lizenzen finden Sie im Onlineshop unter <b>https:\/\/shop.minhorst.com\/access-tools\/295\/ddbac-jahreslizenzc=78<\/b>.<\/p>\n<h2>Download und Installation<\/h2>\n<p>Nach dem Erwerben einer Lizenz erhalten Sie einen Download in ihrem Kundenkonto. Dort finden sie eine Datei namens <b>DDBACNetWrapper-Version-5-7-65-0.zip <\/b>(oder neuer), die Sie entpacken. Darin enthalten ist eine <b>DDBACSDK.exe<\/b>, die Sie auf Ihrem Rechner installieren. Anschlie&szlig;end finden Sie im Verzeichnis <b>C:\\Program Files (x86)\\DataDesign\\DDBACSDK <\/b>die installierten Elemente.<\/p>\n<h2>Homebanking-Kontakte anlegen<\/h2>\n<p>Nachdem Sie die DDBAC-Komponenten installiert haben, finden Sie in der Systemsteuerung einen neuen Eintrag namens <b>Homebanking Administrator (32-bit) <\/b>vor. Mit diesem k&ouml;nnen Sie einen sogenannten Homebanking-Kontakt anlegen, was gleichbedeutend mit der Verbindung zu einer Bank f&uuml;r ein spezielles Konto ist. Nach dem Start erscheint der Administrator f&uuml;r Homebanking-Kontakte zun&auml;chst wie in Bild 1.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_001.png\" alt=\"Verwaltung der Homebanking-Kontakte\" width=\"449,6946\" height=\"455,9116\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Verwaltung der Homebanking-Kontakte<\/span><\/b><\/p>\n<p>Um eine neue Bankverbindung hinzuzuf&uuml;gen, klicken Sie auf die Schaltfl&auml;che <b>Neu&#8230; <\/b>und finden den Dialog aus Bild 2 vor. Geben Sie nun die Bankleitzahl der gew&uuml;nschten Bank ein, wird im Auswahlfeld darunter direkt die passende Bank angezeigt. Die beiden Optionen unterhalb des Auswahlfeldes k&ouml;nnen Sie ignorieren. Klicken Sie dann auf <b>Weiter ><\/b>, um diesen Schritt abzuschlie&szlig;en.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_002.png\" alt=\"Einrichten eines neuen Homebanking-Kontakts\" width=\"424,7115\" height=\"430,5832\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Einrichten eines neuen Homebanking-Kontakts<\/span><\/b><\/p>\n<p>Die n&auml;chste Seite des Dialogs best&auml;tigt, das Zugangsarten ermittelt wurden (siehe Bild 3).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_003.png\" alt=\"Ermitteln weiterer Informationen\" width=\"424,7115\" height=\"430,5832\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Ermitteln weiterer Informationen<\/span><\/b><\/p>\n<p>Damit geht es dann weiter zur Auswahl der Zugangsart. In diesem Beispiel wird nur PIN\/TAN angeboten, was aber &uuml;blich ist (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_004.png\" alt=\"Auswahl der Zugangsart\" width=\"424,7115\" height=\"430,5832\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Auswahl der Zugangsart<\/span><\/b><\/p>\n<p>Danach wird es interessant, denn hier stellt sich heraus, ob Ihnen die richtigen Daten f&uuml;r den Zugriff auf Ihr Konto vorliegen. Im Fall der Postbank ben&ouml;tigen wir zun&auml;chst die Postbank-ID, bei anderen Kreditinstituten hei&szlig;t die zu verwendende ID anders. Geben Sie diese im Dialog aus Bild 5 ein und passen Sie gegebenenfalls noch den Wert des Feldes <b>Kontaktname <\/b>auf der gleichen Seite an.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_005.png\" alt=\"Eingabe der Kundendaten f&uuml;r den Zugang\" width=\"424,7115\" height=\"430,5832\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Eingabe der Kundendaten f&uuml;r den Zugang<\/span><\/b><\/p>\n<p>Danach fehlt nur noch die Eingabe des PIN beziehungsweise des Kennworts f&uuml;r diesen Onlinebanking-Zugang, den Sie im n&auml;chsten Schritt eingeben (siehe Bild 6). Lassen Sie sich nicht vom Zahlenblock irritieren, es kann auch sein, dass Ihr PIN alphanumerische Zeichen enth&auml;lt.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_006.png\" alt=\"Eingabe des Kennworts\" width=\"424,7115\" height=\"430,5832\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Eingabe des Kennworts<\/span><\/b><\/p>\n<p>Ein Klick auf <b>Weiter > <\/b>liefert den n&auml;chsten Schritt des Assistenten, wo die Synchronisation durchgef&uuml;hrt wird &#8211; diesen Dialog haben wir nicht abgebildet. Klicken Sie nochmals auf <b>Weiter ><\/b>, erscheint der Dialog aus Bild 7. Hier k&ouml;nnen Sie nun eines der verf&uuml;gbaren Sicherheitsverfahren ausw&auml;hlen. Bei der Postbank hei&szlig;t ein Verfahren beispielsweise BestSign. Sie k&ouml;nnen aber hier auch mobileTAN ausw&auml;hlen. Schlie&szlig;en Sie den Dialogschritt dann mit der Schaltfl&auml;che <b>Weiter > <\/b>ab.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_007.png\" alt=\"Synchronisierung der Zugangsdaten\" width=\"424,7115\" height=\"430,5832\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Synchronisierung der Zugangsdaten<\/span><\/b><\/p>\n<p>Nun folgt der erste interaktive Schritt: Das ausgew&auml;hlte Sicherheitsverfahren wird genutzt, um die Synchronisierung abzuschlie&szlig;en. Dazu erhalten Sie je nach gew&auml;hltem Sicherheitsverfahren beispielsweise eine Anfrage an Ihr Smartphone geschickt, die Sie auffordert, sich an der Homebanking-App auf dem Smartphone anzumelden und eine von dort generierte PIN in einem Dialog wie dem namens <b>Sicherheitsabfrage <\/b>aus Bild 8 einzugeben. Damit ist die Synchronisierung auch abgeschlossen und Sie k&ouml;nnen diesen Bankkontakt nun nutzen, um mit der DDBAC-Bibliothek zu experimentieren.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_008.png\" alt=\"Kontaktaufnahme via BestSign\" width=\"424,7115\" height=\"495,4969\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Kontaktaufnahme via BestSign<\/span><\/b><\/p>\n<h2>Wo werden die ermittelten Daten gespeichert<\/h2>\n<p>Die hier von Ihnen eingegebenen und von der Bank erg&auml;nzten Daten werden auf Ihrem Rechner gespeichert, und zwar in der Regel im folgenden Verzeichnis:<\/p>\n<pre>C:\\Users\\&lt;Benutzername&gt;\\AppData\\Roaming\\DataDesign\\DDBAC.<\/pre>\n<p>Die Datei sieht wie in Bild 9 aus. Es kann auch sein, dass die Daten in einem anderen Verzeichnis liegen, dann ist dieses in der Registry unter einem der folgenden Schl&uuml;ssel angegeben, und zwar unter dem Eintrag <b>DataDir<\/b>:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_009.png\" alt=\"Textdatei mit den Konfigurationsdaten\" width=\"499,6607\" height=\"396,6378\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Textdatei mit den Konfigurationsdaten<\/span><\/b><\/p>\n<pre>HKEY_CURRENT_USER\\Software\\DataDesign\\DDBAC\r\nHKEY_LOCAL_MACHINE\\Software\\DataDesign\\DDBAC<\/pre>\n<p>Um die Registry nach diesen Werten zu durchsuchen, &ouml;ffnen Sie diese mit dem Befehl <b>RegEdit <\/b>und navigieren dann zum entsprechenden Element. Warum m&uuml;ssen Sie diese Datei kennen Weil Sie diese, wenn Sie einmal einen neuen Rechner aufsetzen und dort die Homebanking-Kontakte weiter nutzen m&ouml;chten, einfach auf den neuen Rechner kopieren k&ouml;nnen.<\/p>\n<h2>Was kann man mit DDBAC anstellen<\/h2>\n<p>Die DDBAC-Bibliothek bietet eine ganze Reihe m&ouml;glicher Vorg&auml;nge an, zu denen die folgenden geh&ouml;ren:<\/p>\n<ul>\n<li>Ermittlung von Kontost&auml;nden<\/li>\n<li>Abruf von Kontoums&auml;tzen<\/li>\n<li>Durchf&uuml;hrung von SEPA-&Uuml;berweisungen<\/li>\n<li>Durchf&uuml;hren von Termin&uuml;berweisungen<\/li>\n<li>Anlegen von Dauerauftr&auml;gen<\/li>\n<li>Durchf&uuml;hren von SEPA-Lastschriften<\/li>\n<li>Durchf&uuml;hren von SEPA-Sammellastschriften<\/li>\n<\/ul>\n<p>Wir werden uns in diesem Artikel und in Fortsetzungen den einen oder anderen Vorgang ansehen.<\/p>\n<h2>Objektmodell der DDBAC<\/h2>\n<p>Die DDBAC-Komponente <b>DataDesign DDBAC HBCI Banking Application Components <\/b>liefert die wichtigsten Objekte:<\/p>\n<ul>\n<li><b>BACBanking<\/b>: Dies ist das Hauptobjekt beim Arbeiten mit der DDBAC-Bibliothek. Sie k&ouml;nnen damit auf die Onlinebanking-Kontakte zugreifen (<b>BACCustomer<\/b>) und diese anlegen oder l&ouml;schen, den &uuml;ber die Systemsteuerung verf&uuml;gbaren Dialog zum Verwalten von Kontakten &ouml;ffnen oder Optionen einstellen.<\/li>\n<li><b>BACCustomer<\/b>: Das <b>BACCustomer<\/b>-Objekt repr&auml;sentiert einen Kontakt, also eine Kunde-Bank-Beziehung. Die Identifizierung eines solchen Kontaktes erfolgt &uuml;ber die L&auml;nderkennung (<b>280 <\/b>f&uuml;r Deutschland), die Bankleitzahl und die UserID. Letztere kann mit einer Kontonummer identisch sein, allerdings kann es zu jedem Kontakt auch mehrere verschiedene Konten geben &#8211; die wiederum verschiedenen Typs sein k&ouml;nnen.<\/li>\n<li><b>BACDialog<\/b>: Dieses Objekt stellt die Verbindung zwischen Client und Server her, wobei Ihre Anwendung dem Client und der Bankserver dem Server entspricht. Mit dem <b>BACDialog<\/b>-Objekt k&ouml;nnen Sie den Dialog starten und beenden und Nachrichten oder Segmente mit dem Bankserver austauschen.<\/li>\n<li><b>BACMessage<\/b>: Dieses Objekt liefert die Antwort auf die Ausf&uuml;hrung eines Gesch&auml;ftsvorgangs und enth&auml;lt weitere Objekte mit den ben&ouml;tigten Informationen. <\/li>\n<li><b>BACTransaction<\/b>: Das <b>BACTransaction<\/b>-Objekt liefert die eigentlichen Transaktions-Informationen, also beispielsweise den aktuellen Kontostand oder die Konto-Ums&auml;tze.<\/li>\n<li><b>BACSegment<\/b>: Das <b>BACSegment<\/b>-Objekt ist ein Objekt, das einem HBCI-Datensatz entspricht. Sie k&ouml;nnen diesem die Parameter zuweisen, die das Segment beinhalten soll.<\/li>\n<\/ul>\n<h2>Testen mit LINQPad<\/h2>\n<p>Die folgenden Experimente k&ouml;nnen Sie auch in Visual Studio innerhalb eines Projects durchf&uuml;hren, aber um ein Gef&uuml;hl f&uuml;r die einzelnen Elemente der Bibliothek zu bekommen, wollen wir mit dem Tool <b>LINQPad <\/b>arbeiten. Dieses erlaubt die schnelle Programmierung und Ausf&uuml;hrung von Visual Basic-Prozeduren und Sie ben&ouml;tigen nicht immer so viel Zeit, um eine Anwendung zum Debuggen zu starten. In LINQPad w&auml;hlen wir zun&auml;chst als <b>Language <\/b>den Wert <b>VB Program <\/b>aus (siehe Bild 10).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_011.png\" alt=\"Testen mit LINQPad\" width=\"649,559\" height=\"251,3229\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 10: Testen mit LINQPad<\/span><\/b><\/p>\n<p>Dann f&uuml;gen wir einen Verweis auf die ben&ouml;tigte Bibliothek hinzu. Dazu bet&auml;tigen Sie die Taste <b>F4<\/b>. Es erscheint der Dialog <b>QueryProperties<\/b>, mit dem Sie die Verweise einstellen k&ouml;nnen, die f&uuml;r den Code im aktuellen Fenster zur Verf&uuml;gung stehen sollen. Unter <b>Add&#8230; <\/b>finden wir die gew&uuml;nschte Bibliothek nicht, aber wenn Sie auf <b>Browse&#8230; <\/b>klicken und im folgenden Verzeichnis suchen, werden wir f&uuml;ndig (siehe Bild 11):<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_012.png\" alt=\"Ausw&auml;hlen der richtigen DLL als Verweis\" width=\"649,559\" height=\"409,0517\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 11: Ausw&auml;hlen der richtigen DLL als Verweis<\/span><\/b><\/p>\n<pre>C:\\Program Files (x86)\\Common Files\\DataDesign\\DDBAC<\/pre>\n<p>Hier f&uuml;gen wir die Datei <b>Interop.BankingApplicationComponents.dll <\/b>hinzu und schlie&szlig;en den <b>Datei &ouml;ffnen<\/b>-Dialog.<\/p>\n<p>Um nun noch das &Auml;quivalent einer <b>Imports<\/b>-Anweisung hinzuzuf&uuml;gen, damit wir beim Deklarieren und Instanzieren nicht immer den Namespace vor den Klassennamen angeben m&uuml;ssen, wechseln wir im Dialog <b>Query Properties <\/b>zur Registerseite <b>Additional Namespace Imports <\/b>und tragen dort folgende Zeile ein (siehe Bild 12):<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_013.png\" alt=\"Ersatz f&uuml;r eine Imports-Anweisung\" width=\"499,6607\" height=\"204,534\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 12: Ersatz f&uuml;r eine Imports-Anweisung<\/span><\/b><\/p>\n<pre>BankingApplicationComponents<\/pre>\n<p>Au&szlig;erdem ben&ouml;tigen wir noch diese Namespaces:<\/p>\n<pre>Microsoft.VisualBasic\r\nMicrosoft.Win32 <\/pre>\n<p>Nun k&ouml;nnen wir im Query-Fenster von LINQPad bereits auf die Elemente der <b>DDBAC<\/b>-Bibliothek zugreifen. Und da wir auch schon einen Homebanking-Kontakt angelegt haben, k&ouml;nnen wir auch gleich richtig loslegen.<\/p>\n<h2>BACBanking-Objekt schnell verf&uuml;gbar machen<\/h2>\n<p>Da wir das <b>BACBanking<\/b>-Objekt &ouml;fter ben&ouml;tigen werden, schreiben wir eine kleine Funktion, die uns schnell eine neue Instanz liefert, wenn wir eine brauchen. Haben wir einmal eine Instanz erstellt, soll diese in einer Variablen gespeichert werden und dann soll die Funktion auf Anfrage diese Instanz liefern. Die Variable und die Funktion f&uuml;ge Sie einfach hinter der noch leeren Prozedur <b>Sub Main <\/b>ein:<\/p>\n<pre><span style=\"color:blue;\">Private <\/span>m_Banking<span style=\"color:blue;\"> As <\/span>BACBanking\r\n<span style=\"color:blue;\">Public Function <\/span>GetBanking()<span style=\"color:blue;\"> As <\/span>BACBanking\r\n     <span style=\"color:blue;\">If <\/span>m_Banking Is Nothing<span style=\"color:blue;\"> Then<\/span>\r\n         m_Banking = <span style=\"color:blue;\">New<\/span> BACBanking\r\n     <span style=\"color:blue;\">End If<\/span>\r\n     GetBanking = m_Banking\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p>Damit starten wir dann zum Beispiel schnell den Dialog zum Verwalten der Homebanking-Kontakte per Code, indem wir mit der Funktion <b>GetBanking <\/b>einen Verweis auf ein Objekt des Typs <b>BACBanking <\/b>holen und dessen Methode <b>RunContactsCPL <\/b>aufrufen:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>Main\r\n     GetBanking.RunContactsCPL\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Beim Eingeben des Befehls zeigt IntelliSense sogar alle Methoden und Eigenschaften des Objekts an (siehe Bild 13). Hier sind die wichtigsten Eigenschaften des <b>BACBanking<\/b>-Objekt:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2019_04\/pic_192_014.png\" alt=\"IntelliSense f&uuml;r BACBanking\" width=\"399,7285\" height=\"340,2301\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 13: IntelliSense f&uuml;r BACBanking<\/span><\/b><\/p>\n<ul>\n<li><b>Customers<\/b>: Liefert eine Liste der Klasse <b>BACCustomers<\/b>, mit der Sie auf die <b>BACCustomer<\/b>-Objekte zugreifen k&ouml;nnen. Damit lassen sich die Daten des <b>BACCustomer<\/b>-Objekts ausgeben, zum Beispiel die Bankleitzahl:<\/li>\n<\/ul>\n<pre>         <span style=\"color:blue;\">Debug.Print<\/span> (GetBanking.Customers.Count) ''Anzahl\r\n         <span style=\"color:blue;\">Debug.Print<\/span> (GetBanking.Customers.Item(1).BankCode) ''Bankleitzahl<\/pre>\n<ul>\n<li><b>Options<\/b>: Gibt die Liste der Optionen aus, zum Beispiel f&uuml;r die Version:<\/li>\n<\/ul>\n<pre>         <span style=\"color:blue;\">Debug.Print<\/span>(GetBanking.Options(\"Version\"))<\/pre>\n<ul>\n<li><b>DeleteCustomer<\/b>: Erwartet den <b>CountryCode<\/b>, den <b>BankCode <\/b>und die <b>UserID <\/b>als Parameter, um den angegebenen Benutzer zu l&ouml;schen.<\/li>\n<li><b>NewCustomer<\/b>: Erwartet <b>CountryCode<\/b>, <b>BankCode <\/b>und <b>UserID <\/b>und legt damit einen neuen Benutzer an. Das Ergebnis ist ein <b>BACCustomer<\/b>-Objekt.<\/li>\n<li><b>NewDialog<\/b>: Erstellt ein neues <b>BACDialog<\/b>-Objekt. Wir nutzen daf&uuml;r aber die <b>NewDialogUI<\/b>-Methode.<\/li>\n<li><b>NewSegment<\/b>: Erstellt nach Angabe des Segmenttyps und wahlweise der Version ein neues <b>BACSegment<\/b>-Objekt.<\/li>\n<li><b>RunContactsCPL<\/b>: Startet den Dialog <b>Administrator f&uuml;r Homebanking Kontakte<\/b>.<\/li>\n<li><b>RunNewContactWizard<\/b>: Startet den Dialog <b>Einrichten eines neuen Homebanking Kontakts<\/b> und liefert als Ergebnis ein neues <b>BACCustomer<\/b>-Objekt.<\/li>\n<li><b>SynchronizeCustomer<\/b>: Synchronisiert den per <b>BACCustomer<\/b>-Objekt &uuml;bergebenen Kontakt.<\/li>\n<\/ul>\n<h2>Mit Homebanking-Kontakten arbeiten<\/h2>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 200 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000192\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/data\/wp\/v2\/posts\/55000192?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000192\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"dbce743e9d\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Onlinebanking ist aktuell in aller Munde, da es f&uuml;r erh&ouml;hte Sicherheit einige &Auml;nderungen in den Abl&auml;ufen gegeben hat. Viele Leser kennen die DDBAC-Bibliothek bereits, denn wir haben in Access im Unternehmen schon dar&uuml;ber berichtet und es ist auch ein Buch zu diesem Thema im Andr&eacute; Minhorst Verlag erschienen. Wer diese Bibliothek nutzt, braucht neben einer aktuellen Version auch noch eine kleine &Auml;nderung, ohne die Vorg&auml;nge nicht mehr durchgef&uuml;hrt werden k&ouml;nnen. Auch aus diesem Anlass wollen wir in diesem Artikel das Thema Homebanking mit Visual Basic und der DDBAC-Bibliothek einmal im Detail vorstellen.<\/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":[662019,66042019,44000004],"tags":[],"yst_prominent_words":[],"class_list":["post-55000192","post","type-post","status-publish","format-standard","hentry","category-662019","category-66042019","category-Loesungen"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000192","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000192"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000192\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000192"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000192"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}