BEISPIEL
BEISPIEL
BEISPIEL
BEISPIEL
Kapitel 14: Access im Internet/Intranet
Exportieren mit Hilfe von SQL-Anweisungen
Grundprinzip dieser Variante ist die SQL-Anweisung SELECT INTO. Zwei kleine Beispiele zeigen, wie es
geht.
Export der Tabelle
Personen
in die Datei
Mitarbeiter.htm
(DAO):
Dim ws As Workspace
Dim db As Database
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase("C:\Inetpub\wwwroot\db\personal.mdb")
db.Execute ("SELECT * INTO [Mitarbeiter.htm] IN 'c:\' 'HTML Export;' FROM personen")
...
Export der Tabelle
Personen
in die Datei
Mitarbeiter.htm
(ADO):
Application.CurrentProject.Connection.Execute _
"SELECT * INTO [Mitarbeiter.htm] IN 'c:\' 'HTML Export;' FROM personen"
HTML-Export über Textdateien
Was auf den ersten Blick recht kompliziert scheint, ist mit VBA-Mitteln einfach zu realisieren. Wer einige
Grundkenntnisse über den Aufbau von HTML-Dateien besitzt, hat in wenigen Minuten einen eigenen
»Export-Filter« programmiert.
Ein erstes »Hello world«-Beispiel
Fügen Sie folgenden Quellcode in ein Modul ein und starten Sie die Prozedur über das Direktfenster:
Sub TestHTMLExport1()
Open "c:\test.htm" For Output As #1
Print #1, "<p>hello world</p>"
Close #1
End Sub
Hinter die Geheimnisse der HTML-Programmierung kommen Sie am schnellsten, wenn Sie einige fertige
HTML-Dokumente im Quelltext betrachten. Schnell wird klar, dass mit ein, zwei Schleifen auch in VBA
eine Tabelle mit diversen Formatierungen realisierbar ist.
Ausgabe einer Tabelle im HTML-Format:
Die
Recordset
-Variable zum Zugriff auf die Tabelle
Personen
:
Dim rs As New ADODB.Recordset
908
Öffnen des Recordsets:
rs.Open "SELECT * FROM Artikel", Application.CurrentProject.Connection, _
adOpenKeyset, adLockOptimistic
Öffnen der Datei:
Open "c:\werte.htm" For Output As #1
Erzeugen der Überschrift und des Tabellenkopfes:
Print #1, "<p><font size=""3"" face=""Arial""><b>Artikelliste</b></font></p>"
Print #1, "<table border=""1"" cellspacing=""3"" width=""450"">"
Print #1, " <tr>"
Print #1, " <td width=""70%"" bgcolor=""#C0C0C0"" align=""center"">" & _
"<font face=""Arial"" size=""2""><b>Artikelname</b></font></td>"
Print #1, " <td width=""30%"" bgcolor=""#C0C0C0"" align=""center"">" & _
"<font face=""Arial"" size=""2""><b>Einzelpreis</b></font></td>"
Print #1, " </tr>"
Lediglich die Anführungszeichen bereiten etwas Probleme; sowohl VBA als auch HTML verwenden doppelte
Anführungszeichen. In diesem Fall bleibt nichts anderes übrig, als jeweils zwei Anführungszeichen zu setzen.
Damit können wir uns auch schon der Schleife zuwenden (jede Zeile wird mit einem <TR>-Tag eingeleitet):
While Not rs.EOF
Print #1, " <tr>"
Print #1, " <td width=""50%"" align=""right""><font face=""Arial"" size=""2"">" & _
rs.Fields("artikelname") & "</font></td>"
Print #1, " <td width=""50%"" align=""right""><font face=""Arial"" size=""2"">" & _
rs.Fields("Einzelpreis") & "</font></td>"
Print #1, " </tr>"
rs.MoveNext
Wend
Zum Schluss die Tabelle beenden:
Print #1, "</table>"
Close #1
Abbildung 14.8 Die HTML-Datei im Internet Explorer
909
Exportieren von Daten im HTML-Format

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.