Michael Böcher: Mit HTML-Forms auf Access Dastenbanken zugreifen

Hallo allerseits...

Wir möchten aus einer Access Datenbank per Suchroutine gezielt Daten ausgeben, bzw. auch über HTML-Forms Daten eingeben. Mit was kann man das am besten realisieren, bzw. wie müßen wir die Sache angehen ???

Für Tips wären wir sehr dankbar...

MfG
Michael vom CCE (Computer Club Eisenbach)

  1. Hallo Michael,

    Wir möchten aus einer Access Datenbank per Suchroutine gezielt Daten ausgeben, bzw. auch über HTML-Forms Daten eingeben. Mit was kann man das am besten realisieren, bzw. wie müßen wir die Sache angehen ???

    Nur allgemein als Orientierungshilfe (viel mehr kann ich dazu auch gar nicht sagen, weil ich das bislang selbst nie probiert habe):
    1. braucht ihr eine WWW-Server-Software. In dem Fall ist vermutlich ein Web-Server von Microsoft am besten geeignet. Den Internet Information Server (IIS) zum Beispiel.
    2. braucht ihr ein CGI-Script oder eine vergleichbare Technologie (z.B. ASP?), die als Schnittstelle zwischen Datenbank und HTML-Input/Output fungiert. Die CGI-Schnittstelle wird von jedem Web-Server unterstuetzt. Wenn man sich z.B. zusaetzlich einen Perl-Interpreter installiert, kann man CGI-Scripts in Perl schreiben.
    3. muss ein "Kanal" zum Austausch von Daten mit der Datenbank konfiguriert werden - unter MS Windows ist das ueblicherweise die ODBC-Schnittstelle.
    4. muss das CGI-Script den Suchinput aus dem HTML-Formular in eine Datenbankabfrage umformulieren. Die uebliche Datenbankabfrage dafuer ist SQL. Das Script muss also eine ODBC-Verbindung zur Datenbank aufbauen und dann eine SQL-Abfrage senden.
    5. muss das CGI-Script die Antwortdaten der Datenbank auslesen und daraus mit Hilfe von print-Befehlen dynamisch HTML-Code an den wartenden Browser senden.

    Viele Gruesse
      Stefan Muenz

    1. Hi Michael!

      Die einfachste Loesung die ich kenne lautet Cold Fusion. Dieses Ding laeuft als eigener Server (Cold Fusion Application Server) unter der Voraussetzung dass ein Webserver installiert ist (z.B. MS IIS).
      Der Zugriff auf die Access-Datenbank wird ueber ODBC realisiert, die Programmierung erfolgt durch das sogenannte CFML. Im Prinzip ist das eine Erweiterung der HTML-Befehle, d.h. du schreibst ganz normale HTML-Seiten mit Abfragen auf die Datenbank (SQL ähnlich).
      Die Handhabung und Programmierung ist genial einfach und es lassen sich sehr leicht auch Loesungen wie z.B. Mailinglists aus einer Datenbank, Guestbooks, ... realisieren.
      Ich hab selbst schon einige Anwendungen damit erstellt und bis jetzt noch nichts besseres kennengelernt.

      Einziger Haken an dem Ganzen: Das Ding ist kommerziell und auch nicht ganz billig und laeuft meines Wissens nach nur unter Win95/98,
      WinNT und Sun Solaris.
      Falls du trotzdem Interesse hast: http://www.allaire.com ist die HP des Herstellers.

      Viele Gruesse aus Linz
      Markus

      1. Hi Markus!

        Wie ist das mit dem Cold Fusion? Bin ich da an das Programm gebunden wie z.B. bei Frontpage oder kann ich, wenn es mein Wissen zuläßt, später auch eigenen Code entwickeln und benutzen, ohne ein komplettes Chaos erwarten zu müssen. Ich soll unter Umständen für das Geschäft, in dem ich einen kleinen Job bekommen habe, eine Abfragefunktion entwickeln, die es dem "Surfer" erlaubt Daten aus einer Accessdatenbank abzurufen. Wenn ich denen aber eine Lösung präsentiere, die auf ein bestimmtes Programm eingrichtet ist und nicht unabhängig davon verändert werden kann, dann werden die nicht zufrieden sein.

        Über nähere Informationen, auch was den Preis betrifft (wenigstens in ca. x-hundert Mark), währe ich sehr erfreut, denn die "allaire-" Adresse gibt für mich nicht sehr viel her.

        Danke im voraus,

        Alex

  2. Hallo Michael,

    mit ASP-Scripten kannst du auf eine Access Datenbank zugreifen. Diese muß vorher auf dem Webserver als Datei DNS im ODBC Dialog eingetragen werden. Dies funktioniert auf jeden Fall mit einem Webserver von Microsoft. Bei anderen Webservern weiß ich nicht, ob es funktioniert.
    ASP Scripte sind relativ einfach zu lernen. Hierfür brauchst du nur Html und Visual Basic Script Kenntnisse und am besten das Microsoft Developer Studio. Eigentlich mache ich keine Schleichwerbung, aber die Hilfe ist wirklich gut.
    Um auf die Datenbank zu greifen zu können, mußt du folgendes im ASP Script schreiben:
    <%
    Set Connection = Server.CreateObject("ADODB.Connection")
    Connection.open "name"
    sql = "SELECT * FROM Tabelle "
    sql = sql & "Where dtm_Datum < #1/1/94# "
    sql = sql & "ORDER BY Feldnamen;"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.CursorType = 3
    rs.LockType = 3
    rs.Open sql, Connection %>

    name mußt du durch die Bezeichnung, die du der Datenbank im ODBC Dialog gegeben hast, ersetzen.
    In der Access Hilfe kannst du mehr über die SQL Syntax erfahren. Mit Hilfe der Where Klausel kannst du eine Suche realisieren.
    Nun kannst du über <% rs.Fields("Feldname")%> auf die Daten zugreifen. Mit <%rs.MoveNext%> kommst du zum nächsten Datensatz usw.

    Das alles ist nicht so einfach, besonders wenn du keine Kenntnisse von ASP hast. Vielleicht gibt es ja noch eine leichtere Lösung.

    Frank

  3. Hallo allerseits...

    Wir möchten aus einer Access Datenbank per Suchroutine gezielt Daten

    ausgeben, bzw. auch über HTML-Forms Daten eingeben. Mit was kann man das am
    besten realisieren, bzw. wie müßen wir die Sache angehen ???

    Für Tips wären wir sehr dankbar...

    MfG
    Michael vom CCE (Computer Club Eisenbach)

    In der aktuellen Ausgabe der Zeitschrift "Internet Professionell" befindet
    sich ein sher ausführlicher Artikel zu diesem Thema

    Till Qu

  4. Wir möchten aus einer Access Datenbank per Suchroutine gezielt Daten ausgeben, bzw. auch über HTML-Forms Daten eingeben. Mit was kann man das am besten realisieren, bzw. wie müßen wir die Sache angehen ???

    Eine andere Lösung als die bisher beschriebenen:

    PHP 3 (www.php3.de) ist ein kostenlose dolle Skriptsprache, die angeblich nun auch auf Win Rechnern läuft. Die kann über ODBC eine Verbindung zu ACCESS Daten aufbauen.

    Auch bessere Lösungen als LAMP sind damit machbar.
    (L)inux als OS
    (A)pache als Webserver
    (M)ysql als SQL Server
    (P)hp als die verbindende Skriptsprache.

    Ich bin da selbst noch newbie...

    Stefan Cullmann