PDA

Vollständige Version anzeigen : HTML Ausgabe


Omnikron
03.08.2001, 11:09
Hallo,
ich muß ein Dynamisch generiertes HTML Dokument automatisch lokal abspeichern. Dazu benutze ich ein Modul das per OutputTo eine Abfrage als HTML ablegt.
Das Problem ist das ich den HTML Code noch um einiges verändern muß. Aus Vor- und Nachnamen, automatisch eine anklickbare E-Mailadresse generieren, Bilder mit HREFS einbinden usw..
Nur wie beeinflusse ich den HTML Quelltext derart? Mit einem Makro oder mit VBA vielleicht?

Ich hoffe ihr versteht mein Problem und habt eine Idee die mich weiterbringt. Da ich weder von Makros noch von VBA besonders viel Ahnung habe, würden mich Links zu entprechenden Seiten sehr freuen...

Vielen Dank im vorraus

Max

Günni
03.08.2001, 19:17
Ganz so einfach wirds leider nicht. Den HTML-Code per VBA zu verändern ist zwar möglich ... allerdings aufwenig. Einfach wäre es dann schon, den HTML-Code direkt mit VBA zu erzeugen ... aufwendig ist aber auch das. Ne einfache Lösung wirds für Dein Problem leider nicht geben.

<hr>

<font color="#808080" size="2" face="Arial"><strong>Mühldorfer Günter
Computer- und Software-Service
</strong></font>
mg@mgcss.de
<a href="http://www.mgcss.de">www.mgcss.de</a>

Omnikron
06.08.2001, 12:56
hmm :/

ich kann das ganze etwas vereinfachen, im Grunde habe ich ein Email Feld in dem einfach name@firma.de gespeichert ist und möchte daraus einen anklickbaren Email Link machen. Gibt es eine Möglichkeit mit Hilfe eines Ausdrucks etwas wie {a href="mailto:[Email]}[Email]{/a} zu erzeugen?

{**Habe diesen Beitrag editiert, da die html-tags die darstellung beim beantworten stören. Arno**}

[Dieser Beitrag wurde von ArnoSimon am 06.08.2001 editiert.]

Omnikron
06.08.2001, 13:17
ehh da wurden wohl meine html tags vom forum verschluckt :) anstatt html tags benutze ich mal {} :)

ich möchte automatisch etwas wie {a href="mailto:[Email]}[Email]{a/} erzeugen. ist das möglich?

A.S.
06.08.2001, 13:44
Hallo Omnikron,

schau einmal in den Downloadbereich.

Da steht eine "etwas" ältere DB von mir (ohne Daten, da PSW) mit der ich so etwas mache.

Gruß

Arno

Andorxor
06.08.2001, 13:52
Dim Dn as long
Dim Dn2 as long
Dim db as database
Dim r as recordset
Dim cstring as string
Dn = freefile(1)
Dn2= freefile(2)
set db = currentDb
set r = db.openrecordset("Die Abfrage mit der Mailaddresse.")

Open "Pfad_der_zu_erstellenen_html_datei" For Output As #dn
Open "Pfad_der_VorlagenDatei" For input As
#dn2
While eof(dn2) = false
line input #dn2,cstring
if not instr(cstring,"@Hier kommt die E-mail-Addresse hin@") then
print #dn ,cstring
else
print #dn,"a href=" & chr(34)&"mailto:"&r![E-Mailaddresse]&chr(34) & ">" & r![E-mailaddresse]&"/a"
r.movenext
end if
Wend

close(dn)
close(dn2)
r.close
db.close

Markire in deiner Html datei den platz für die E-Mail addresse durch @Hier kommt die E-mail-Addresse hin@

Omnikron
06.08.2001, 13:56
ok, vielen dank arno :) muß mich da erstmal durchackern... :p

A.S.
06.08.2001, 13:59
Ach so ja: Die HTML-Dateien werden im Modul "exp" erzeugt.

Omnikron
06.08.2001, 15:04
hm in andorxors beispiel habe ich ein problem mit dem datentyp "database". der benutzerdefinierte datentyp database ist nicht definiert...
wie mache ich das?

Omnikron
06.08.2001, 15:29
bei deinem besipiel arno, wird ja das gleiche benutzt um sich auf eine datenbank zugreifen zu können. ist der datentyp database in irgendeiner extra klasse oder so etwas? wieso erkennt mein access den datentyp nicht an http://www.ms-office-forum.de/ubb/frown.gif

A.S.
06.08.2001, 15:54
Hallo Omnikron,

Du benutzt A00/AXP.

Aktiviere im Modul unter Extras/Verweise den Verweis auf DAO 3.xx und deklariere die Recordset-Objekte mit

Dim typDate As DAO.Recordset

Sofern Query-Objekte betroffen sind, auch diese.

Gruß

Arno

Omnikron
09.08.2001, 15:48
Dim DB As DAO.Database
Dim BR As DAO.Recordset
Dim fname As String * 255
Set DB = CurrentDb
Set BR = DB.OpenRecordset("Abfrage")
[...]
If BR("FeldDerAbfrage").FieldSize > 0 Then
Print #1,"[...]"
End If
[...]

kann mir jemand sagen wieso ich immer eine fehlermeldung "ungültiger felddatentyp bei diesem code bekomme? und zwar an der stelle mit dem fieldsize. normales size funktioniert, aber ich möchte prüfen ob das feld leer ist oder nicht. vielleicht hat jemand ja noch eine andere möglichkeit (ich bin mir sicher es gibt sie :)

vielen dank im vorraus

Omnikron

A.S.
10.08.2001, 08:38
Moin Omnikron,

statt

If BR("FeldDerAbfrage").FieldSize > 0 Then

nutze

If IsNull(BR("FeldDerAbfrage")) or IsEmpty(BR("FeldDerAbfrage")) Then

------------------
HTH

Arno

Omnikron
10.08.2001, 12:02
vielen dank again arno,

leider wollte das ganze nicht so recht funktionieren. ich habe das problem jetzt mit folgender funktion gelöst:

If BR("PrivateMobile").Value <> "" Then

vielleicht interessierts ja mal jemand außer mir :p

A.S.
10.08.2001, 12:17
Hallo Omnikron,

wenn Du das so abprüfst, erhälst Du ebenfalls True wenn das Feld einen "Null"-Wert enthält.

besser:

If Trim("" & BR("Feld")) <> "" Then

Jetzt mußt Du "nur noch" abprüfen ob numerische oder kalendarische Daten vorliegen.

Gruß

Arno