Und schon wieder ich...
Hatte ich erwähnt, dass ich zwar gräßlich aussehenden Code schreibe, aber irgendwie doch auch perfektionistisch veranlagt bin?
Also, Chef hatte erwähnt, dass er seine DVD-Liste gerne auch an Freunde weitergeben würde. So, und weil eine Datei weitergeben besser ist als zwei Dateien weitergeben, habe ich mir gedacht, wieso nicht einfach die Daten mit in die HTML-Datei 'reinpacken. Das geht über die "kleine Schweinerei", dass die Daten am Anfang der HTML-Datei stehen, in ein HTML-Kommentar eingepackt, und durch eine Spalte eindeutig als Daten gekennzeichnet, die die restlichen HTML-Zeilen nicht haben.
Nun denn, den folgenden Code als Datei mstdc.htm abspeichern (Achtung: dieser Dateiname ist wichtig, weil er in der DataURL verwendet wird!) und öffnen. Wenn du einen anderen Dateinamen willst, musst du entsprechend in der TDC-object-Definition den DataURL anpassen. Und wichtig: In deinen Datenzeilen müssen die zwei Spalten vorne drangehängt werden, ein mal die Dummyspalte, die quasi den Namen des HTML-Kommentar-Kennzeichners hat, und dann die Spalte 'data', die bei allen Datenzeilen den Wert 'true' enthalten sollte.
Ich hoffe, damit nicht endgültig die goldene Himbeere des schlechten Programmierens gewonnen zu haben
Gruß, Simon
<!--|data|id|name|vorname|beschr
|true|01|Meier|Hans|Alter Witzbold
|true|02|Huber|Otto|Miesepeter
|true|03|Musterman|Hugo|Netter Kerl
|true|04|Fröhlich|Anne|Hübsches Mädel
<html><!-- [email]jSh@jSh.de[/email] - 2003-03-25 -->
<head><title>Langeweile im Büro...</title>
<script language="JavaScript"><!--
function setAnzeige(newID) {
currentID = ''+ document.all.AnzeigeData.recordset.fields('ID');
if ((''+ newID != '') && (''+ newID != currentID)) {
document.all.AnzeigeData.object.filter = 'id="'+ newID +'"';
document.all.AnzeigeData.Reset();
document.all.ListeCombo.selectedIndex = 0; } return false; }
document.all.ListeData.recordset.MoveFirst();
while (!document.all.ListeData.recordset.EOF) {
document.all.ListeCombo.options[document.all.ListeCombo.length]
= new Option(document.all.ListeData.recordset.fields('Name')
+', '+ document.all.ListeData.recordset.fields('Vorname'),
document.all.ListeData.recordset.fields('ID'));
document.all.ListeData.recordset.MoveNext(); }}
function changePage(direction) {
currentID = ''+ document.all.AnzeigeData.recordset.fields('ID');
if (''+ document.all.ListeData.recordset.fields('ID') != currentID) {
document.all.ListeData.recordset.MoveFirst();
while (!document.all.ListeData.recordset.EOF
&& (''+ document.all.ListeData.recordset.fields('ID') != currentID))
document.all.ListeData.recordset.MoveNext(); }
if (direction == -1) { document.all.ListeData.recordset.MovePrevious();
if (document.all.ListeData.recordset.BOF)
alert('Der erste Datensatz wird bereits angezeigt.'); }
if (direction == +1) { document.all.ListeData.recordset.MoveNext();
if (document.all.ListeData.recordset.EOF)
alert('Der letzte Datensatz wird bereits angezeigt.'); }
setAnzeige(document.all.ListeData.recordset.fields('ID')); }
<body onload="window.setTimeout('fillCombo()', 100)">
<object id="ListeData" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
<param name="DataURL" value="mstdc.htm"><param name="UseHeader" value="true">
<param name="FieldDelim" value="|"><param name="Sort" value="Name;Vorname">
<param name="Filter" value="data=true"></object>
<table datasrc="#ListeData" cellspacing="0" bgcolor="#E8E8E8" rules="groups">
<thead><tr bgcolor="#CCCCCC"><td>Name</td><td> </td>
<td>Beschreibung</td><td> </td><td>Verknüpfung</td></tr></thead>
<tbody><tr><td><span datafld="name"></span>, <span datafld="vorname"></span></td>
<td> </td><td><span datafld="beschr"></span></td><td> </td>
<td><a datafld="id" onclick="return setAnzeige(this.href)">anzeigen</a></td>
<object id="AnzeigeData" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
<param name="DataURL" value="mstdc.htm"><param name="UseHeader" value="true">
<param name="FieldDelim" value="|"><param name="Sort" value="Name;Vorname">
<param name="Filter" value="data=true"></object>
<table id="AnzeigeTabelle" datasrc="#AnzeigeData" datapagesize="1"
width="100%" border="1" cellspacing="0" cellpadding="3">
<thead><tr bgcolor="#E8E8E8"><td><br></td><td>
<select onchange="setAnzeige(this.value)" name="ListeCombo">
<option value="" style="background-color:#E8E8E8">Direkt-Auswahl</option>
</select></td></tr></thead>
<tbody><tr><td width="99%">
Name: <span datafld="name"></span><br>
Vorname: <span datafld="vorname"></span><br>
Beschreibung: <span datafld="beschr"></span></td>
<td align="center" bgcolor="#E8E8E8" nowrap>
ID: <span datafld="id"></span>
<input type="button" value=" < " onclick="changePage(-1)">
<input type="button" value=" > " onclick="changePage(+1)"><br>
Alles anzeigen