Wie lade ich eine Tabelle per FTP auf den Webserver ohne neue Klassen zu installieren in Access?

Ich hatte kuerzlich das Problem, dass die Inhalte einer Buchungstabelle fuer eine Festhalle in Echtzeit mit der Webseite der Halle synchronisiert werden mussten.

Es werden zwar Bibliotheken fuer Access angeboten, die mir aber viel zu aufwendig erschienen.

Ich habe es folgendermassen geloest:

 

  1. Ich habe die Tabelle in XML Format exportiert
  2. habe eine bat datei erstellt, die die Daten per FTP auf den Server hochlaedt.

Hier der Code:

die XML-Datei (deele.xml):

<?xml version="1.0" encoding="UTF-8"?>

 

<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation="deele.xsd" generated="2017-03-31T10:12:56">

<XmlExport>

<VermDatum>2000-10-14T00:00:00</VermDatum>

</XmlExport>

<XmlExport>

<VermDatum>2004-05-14T00:00:00</VermDatum>

</XmlExport>

<XmlExport>

<VermDatum>2017-04-16T00:00:00</VermDatum>

</XmlExport>

</dataroot>

Die .bat Datei, die das FTP-Upload erledigt (fileup.bat):

@echo off

echo user serduelt.de>> ftpcmd.dat

echo travel88>> ftpcmd.dat

echo binary>> ftpcmd.dat

echo cd /demo/kalender/>> ftpcmd.dat

echo ls -l>> ftpcmd.dat

echo put D:\...\deele.xml>> ftpcmd.dat

echo bye>> ftpcmd.dat

ftp -n -s:ftpcmd.dat serduelt.de

del ftpcmd.dat

Die Funktion in VBA:

Public Sub ftpPut()

    DoCmd.RunSavedImportExport ("deele")

    Shell "d:\...\fileup.bat", 4 ' vbNormalFocus '

End Sub

In Access wird die gespeicherte Export-Prozedur ausgefuehrt, danach wird mit Shell die fileup.bat Datei aufgerufen, die dann alle FTP relevanten Operationen ausfuehrt.
Das Ergebnis koennt Ihr unter Demo->Belegungsplan ansehen