Wie lade ich eine Tabelle per FTP auf den Webserver ohne neue Klassen installieren muessen 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:
Ich habe die Tabelle in XML Format exportiert
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 hier ansehen.