Datenexport von MySql in ACCESS

johp

Grünschnabel
Folgendes Szenario versuche ich zu lösen:
Auf unserer Homepage melden sich Kursteilnehmer zu Kursen an. Die Daten werden in einer MySql Datenbank erfasst.
Lokal werden die Kurse mittels ACCESS Datenbank verwaltet. Ich möchte nun folgenden automatisierten Vorgang realisieren. ACCESS Benutzer drückt Button und Anmeldungen werden (ohne ODBC) importiert.
Bereits realisiert habe ich:
PHP Script das Daten als CSV exportiert. Drücke ich in ACCESS auf einen Button wird das Script ausgeführt und die Daten heruntergeladen. Sie stehen nun in einem schreibgeschützten EXCEL Datenblatt. Dieses mit neuem Namen abzuspeichern und mittels Verknüpfung von ACCESS darauf zuzugreifen ist kein Problem, ich will es aber noch einfacher haben. Klick auf Importbutton -> Daten werden heruntergeladen und überschreiben die alten ohne dass etwas angezeigt wird.
Bin für jeden Tipp dankbar
Hans
 
Wenn Du das schon geschafft hast, Respekt.

Als Lösung würde ich Dir folgendes probieren.
1.Script zum runterladen und neu abspeichern (hast Du ja schon)
2.Import aus der neuen Datei

Du könntest einerseits eine neue Verknüpfung auf Deine neue Datei legen, allerdings würde ich das nicht empfehlen.

Ich hab hier mal was geschrieben: Klick

Meinen Workaround habe ich ebenfalls notiert.

Ich würde Dir empfehlen, alle Einzelschritte des gesamten Ablaufs einzeln zu programmieren. Die Einzelschritte fasst Du dann entweder in einer extra Prozedur zusammen oder läßt die Einzelschritte sich gegenseitig, nacheinander aufrufen. Das schafft Übersichtlichkeit.
 
Danke für die rasche Antwort. Habe mir die drei Prozeduren bereits heruntergeladen und werde sie so bald wie möglich ansehen.
Wie gesagt, der Datenimport ist für einen versierten Benutzer an sich kein Problem, der funktioniert. Das PHP Script liegt abgesichert auf dem Web Server (muss ja) stellt Verbindung zur Datenbank her und erzeugt die CSV. Die wird heruntergeladen aber nun kommt es. Meine Mitarbeiterin soll nicht mit einem Fenster konfrontiert werden, wo sie was aussuchen muss, geschweige denn Daten auswählen, Dateien umbenenne, kopieren usw.
Meine Bat Datei, die ich auch aus Access aufrufen kann macht alles automatisch, nur wird immer Excel gestartet und die Daten werden angezeigt. Das will ich verhindern. Ich will nur erreichen, dass die CSV Datei mit einem bestimmten, immer gleichbleibendem Namen in ein vorgegebenes Verzeichnis gespeichert wird. Dann kann ich über Access automatisieren, dass diese Datei importiert wird und die vorhandene überschreibt. Damit sollen die Anmelde Daten auf Knopfdruck aktuell sein.
Vielleicht kann man das PHP Script (ist nicht von mir, sondern aus dem Internet) so ändern, dass die CSV Datei gespeichert wird?
<?php

$DatabaseHost = "localhost";
$DatabaseUser = "****";
$DatabasePassword = "****";
$Database = "vhsmelk0";
$Table = "course";

header('Content-Type: text/x-csv');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: attachment; filename=download.csv');
header('Pragma: no-cache');

$DatabasePointer = mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword);
mysql_select_db($Database, $DatabasePointer);

$ResultPointer = mysql_query("SELECT course_id, category_id, title, abstract FROM $Table");

for($i=0, $Export=""; $i<mysql_num_rows($ResultPointer); $i++)
{
$Daten = mysql_fetch_object($ResultPointer);

$Spalte[] = str_replace("\"", "\"\"", $Daten->course_id);
$Spalte[] = str_replace("\"", "\"\"", $Daten->category_id);
$Spalte[] = str_replace("\"", "\"\"", $Daten->title);
$Spalte[] = str_replace("\"", "\"\"", $Daten->abstract);

for($j=0; $j<count($Spalte); $j++)
{
$Export .= "\"" . $Spalte[$j] . "\"";
if($j!=count($Spalte)-1)
{
$Export .= ";";
}
}
$Export .= "\r\n";
$Spalte = "";
}

echo$Export;

?>

Ich blicke auch nicht durch, wie der Name der CSV Datei erzeugt wird.
Danke für die Hilfe und liebe Grüße aus Melk
Hans
 

Neue Beiträge

Zurück