Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Suche VB-Script, um Access in HTML zu konvertieren





Frage

Guten Morgen allerseits ! Mein Chef will von mir ein VB-Script, mit dem man Daten aus einer Access-Datenbank ausgelesen und als HTML-File ausgeben kann. Leider hab ich von VB überhaupt keine Ahnung - das hab ich meinem Chef auch gesagt, aber das ist ihm egal. Er meinte nur "dann schau eben im Internet nach". Echt toll :-( Kann mir jemand helfen ? Ich hab schon im Google nachgesehen, aber nichts gefunden, was dem entspricht, was ich brauche. Wäre wahnsinnig für Hilfe dankbar !!! Wünsche Euch einen schönen Freitag !

Antwort 1 von Anfänger2004

Kann mir keiner helfen ? Es ist wirklich eine Notsituation :-(

Antwort 2 von KK

Ein paar Informationen mehr wären nicht schlecht.....

Am primitivsten wäre es, die HTML-Seite mit einer einfachen Speicherung zu generieren:


Open "c:\die_htmlseite.htm" For Output As #1

'1.Header speichern
Print#1, "hier kommen die diversen Befehle für den Header der Html Seite rein"

Print#1, "....."


usw. usw.

'2.Daten speichern
Print#1, daten_aus_accessdatenbank

usw.

usw.

'3.Rest des HTML-Codes
Print#1," hier "

usw.

Close #1

Wahrscheinlich sieht das Ergebnis nicht besonders hübsch aus, aber Deine Informationen waren auch sehr spärlich.

Schreib einfach noch mal, wenn Du genaueres wissen willst.


Antwort 3 von Anfänger2004

Vielen Dank für die Antwort. Tut mir leid, dass ich nicht genauere Infos angegeben habe. Es sieht so aus. Die Firma hat eine Access-Datenbank. In einer bestimmten Tabelle stehen Daten zu den Usern drin: Name, Abteilung, Rechte

Was ich nun genau brauche:
Das Skript sollte (falls das geht) aus dieser Tabelle Daten auslesen, allerdings nur bestimmte (z.B. nur Leute, die Admin-Rechte haben) und diese Ausgabe in eine HTML-File speichern. Am optimalsten wäre eine HTML-File in Tabellen-Form.

Ist das machbar ?

Antwort 4 von KK

Ich denke, das was Du vorhast ist nicht so schwierig. Mir ist nur noch nicht klar, was es genau werden soll ?

Alternative 1:
Auf dem Client-Rechner soll lokal eine HTML-Seite erstellt werden, die eine "Momentaufnahme" der Daten darstellt. (Das würde ich lösen, in dem einfach der HTML-Code + die Daten in eine Datei geschrieben wird.)

Alternative 2:
Die HTML-Seite befindet sich auf dem Intranet-Server und soll die Daten (jeweils aktuell) anzeigen.
Das könnte man z.B. mit dem "Tabular Data Control (TDC)"-Datenmodell lösen. (Ist einfacher als es sich anhört.)

Habe hier in der Firma kein Access zur Verfügung, kann dir deshalb kein funktionsfähiges Beispielskript schicken. Sag mir einfach, ob es eher Alternative 1 oder 2 ist und ich schau mal, ob ich zuhause ein kleines Beispiel basteln kann....



Antwort 5 von KK


In Excel habe ich mal was ausprobiert. Das hat auch auf Anhieb geklappt.
(Nur um mal die grundsätzliche Funktionsweise zu zeigen -> Alternative 1)


Private Sub CommandButton1_Click()
 Open "c:\beispiel.htm" For Output As #1
 
 'header
 Print #1, "<html>"
 Print #1, "<head>"
 Print #1, "<title>Überschrift</title>"
 Print #1, "</head>"
 Print #1, "<body>"
 
 'Dein Text
 Print #1, "Hier kommen die Daten aus dem Excelblatt:<BR><BR>"
 Print #1, Cells(1, 1).Value + "<BR>" 'Inhalt Zelle A1
 Print #1, Cells(2, 1).Value + "<BR>" 'Inhalt Zelle A2
 Print #1, Cells(3, 1).Value + "<BR>" 'Inhalt Zelle A3
 Print #1, Cells(4, 1).Value + "<BR>" 'Inhalt Zelle A4
 Print #1, Cells(5, 1).Value + "<BR>" 'Inhalt Zelle A5
 Print #1, Cells(6, 1).Value + "<BR>" 'Inhalt Zelle A6
 Print #1, Cells(7, 1).Value + "<BR>" 'Inhalt Zelle A7
 
 'Ende
 Print #1, "</body>"
 Print #1, "</html>"
 Close #1
 
End Sub










Antwort 6 von Anfänger2004

Hi, es ist die 2. Alternative. Die Firma hat eine Intranetseite (HTML), in der die Daten angezeigt werden sollen. Sobald im Access etwas geändert wird, soll sich diese Änderung auf die Webseite übertragen. Bisher wurden nur statische HTML-Seiten verwendet, sodass das Ändern sehr mühsam war.

Zu Deiner Excel-Lösung:
Mein Chef möchte, dass ich das ganze möglichst in VBS mache. Ist Deine Lösung nicht ein Makro in Excel ? Vielleicht irre ich mich, aber es sollte als File außerhalb des Programms laufen.

Wäre wirklich super, wenn Du mir da helfen könntest. Mein Chef macht ständig nur Stress und im Internet finde ich nichts, was funktioniert.

Ein Skript, das ich entdeckt habe, lautet:

Dim sSQL As String
Dim sFileType As String
Dim sDestPath As String
Dim sExt As String
Dim sTableQuery As String

sFileType = "HTML Export;"
sExt = "htm"
sDestPath = "c:\temp"
sTableQuery = "user"

sSQL = "SELECT * INTO [" & sFileType & _
"DATABASE=" & sDestPath & "].[FileName" & _
sExt & "] " & "FROM [" & sTableQuery & "]"

DB.Execute sSQL, dbFailOnError

Das funktioniert aber leider nicht. Ich bekomm beim Ausführen eine Error-Meldung. Die Tabelle heißt "user", die mdb-File "rights.mdb".

Kannst Du etwas damit anfangen ?

Antwort 7 von KK

Versuche mal die Datenbank zu exportieren, und zwar ins Textformat mit Trennzeichen (zB |).

Anschließend versuche mal eine Website nach diesem Schema zu basteln:

http://comserv.urz.uni-magdeburg.de/uni/urz/html/books/muenz/tfbb.htm#a2

Dann bist Du schon nah dran.

Sorry, aber das Eingabefenster im SN schmiert immer ab, für mehr Text , Information und Details reicht es heute für mich nicht mehr.....


(grrrr, habe ungefähr 5 mal versucht was zu schreiben...........)

Antwort 8 von Anfänger2004

Danke für den Tip. Ich hab mich selbst ein wenig gespielt und versucht, die Datenbank zu exportieren, aber es klappt nicht. Ich bekomme immer Fehlermeldungen. Das Problem ist, dass ich noch nie mit VB oder VBScript gearbeitet habe und mich da nicht auskenne :-(

Hättest Du vielleicht ein einfaches Codebeispiel in diese Richtung, auf dem ich aufbauen könnte ? Das wäre mir eine große Hilfe ! Denn solange ich kein vollständiges, funktionsfähiges Programm in diese Richtung zusammenbringe, komm ich nie auf einen grünen Zweig, da ich nicht weiß, was fehlt.

Für Dich sind das vermutlich nur ein paar Zeilen. Wäre das möglich ? Dafür wäre ich Dir wahnsinnig dankbar !!!

Antwort 9 von Anfänger2004

Bitte melden, sonst weiß ich nicht weiter !

Antwort 10 von Anfänger2004

KK ? Bist Du noch da ?

Antwort 11 von Anfänger2004

und wieder nach oben

Antwort 12 von [Rocco]

Ich kenne mich in VBS auch nicht aus, aber vielleicht hilft dir das:

Bevor du los legst, mach eine Kopie der Datenbank, damit du erst mal an der Kopie herumtesten kannst. Für den Fall, dass es schief gehen sollte.

Falls du SQL - Kenntnisse hast, dann erstelle dir eine neue Tabelle in dieser Datenbank und übertrage mit SQL die gewünschten Spalten in die neue Tabelle. Diese kannst du dann als HTML exportieren und voilá!

An die SQL - Abfrage kommst du folgendermaßen: Access öffnen, in der Spalte "Objekte" auf "Abfrage" klicken. Im selben Fenster siehst du dann oben "Öffnen", "Entwurf", "Neu". Du klickst auf "Entwurf". Im nächsten Fenster wirst du gefragt auf welche Spalten du eine Abfrage starten möchtest. Hier wählst du deine benötigten Spalten aus! Nachdem das erledigt ist, wählst du unter "Ansicht" "SQL-Ansicht" aus und schon kannst du loslegen. Und um dies zu automatisieren, erstellst du dir einfach ein Makro. Fertig.

Antwort 13 von Anfänger2004

Danke für den Tipp, Rocco. Das Problem ist: mein Chef möchte unbedingt, dass ich das mit VBScript löse. Er möchte, dass das Skript dann quasi in eine HTML-Seite eingebaut wird, die das Programm automatisch ausführt und so Abfragen durchführt.

Antwort 14 von [Rocco]

Hm [ZENS] so einen Chef liebe ich, denn mit so einem muss ich mich auch tatäglich herumschlagen ;-)

Bist du dir da auch sicher, dass das VBScript in einer HTML Umgebung laufen soll? Denn meinem Kenntnisstand geht das gar nicht. Ich kann mich aber auch irren! Dafür gibt's ja Java oder PHP.

Das was du in Antwort 6 geschrieben hast sieht, denke ich, ganz brauchbar aus. Ich guck mal, ob ich da was hinbasteln kann. Aber wie gesagt, meine VBS-Kenntnisse sind äußerst minimal, also bloß keine Wunder erwarten! ;-)

Antwort 15 von [Rocco]

Sorry, ich nehme meine Aussage zurück! VBS läuft in einer HTML - Umgebung!

Antwort 16 von Anfänger2004

Danke ! Ich schätze, Deine Kenntnisse sind sicher besser, als meine. Ich hatte noch nie etwas mit VBScript am Hut.
Es wäre schon ein riesen Fortschritt, wenn ich es schaffen würde, eine einfache mdb-File (z.B. Access Tabelle mit 4 Spalten und ein paar Einträgen je Spalte) auslesen und in eine Text-File schreiben könnte.

Leider funktioniert das oben angegebene Skript nicht - oder doch ? Ich schaffs auf jeden Fall nicht, das zum Laufen zu bringen :-(

Antwort 17 von KK

Gib mir bitte eine E-Mail-Adresse.

Ich schick Dir dann ein einfaches Beispiel, auf das Du (eventuell) aufbauen kannst. Bitte erwarte aber keine superprofessionelle Highend-Lösung.

Sorry, dass ich mich in der Zwischenzeit nicht gemeldet hatte, aber ich hatte Wochenende - das ist für mich (fast) computerfreie Zeit, da ich mich die ganze Woche über mit PCs rumschlagen muss..... :-)


Antwort 18 von Anfänger 2004

Hab mich gespielt und bin nun auf folgendes gekommen:

dim conn
dim rs
dim query

set conn= createobject("ADODB.Connection")
set rs= createobject("ADODB.Recordset")

conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\test\db.mdb"
query = "select * from rechte"

rs.open query, conn

Ich möchte, dass db.mdb geöffnet wird, alles selektriert wird und dann als HTML-File ausgegeben wird. Die Ausgabe hab ich noch nicht. Wie sollte das aussehen ?

Antwort 19 von Anfänger2004

Hi KK, könntest Du Dein Ergebnis eventuell hier veröffentlichen ? Meine E-Mails kann ich hier nicht abfragen (erst zu Hause, da in der Firma mein Mail-Account gesperrt ist).

Antwort 20 von [Rocco]

Hi,

du sorry da muss ich mich leider ausklinken, das ist doch etwas zu hoch für mich. Der Ansatz ist sehr gut (Antwort 18), jetzt müsste nur noch ein Export der Tabelle in eine HTML - Datei stattfinden. Aber für solche kniffligen Angelegenheiten, braucht es von meiner Seite etwas mehr Zeit, tut mir leid.

Antwort 21 von Anfänger2004

Schon okay, vielen Dank für Deine Bemühungen. Leider hab ich auch nicht die Skills, um weiterzumachen :-( Ich werde halt weiter herumprobieren. Vielleicht kann mir jemand anderer hier helfen.

Antwort 22 von KK

siehe neuer Thread

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: