Beste mensen,

'k Ben na veel ge-google ook nog niet veel verder gekomen en vraag het daarom hier even.

'k Wil via php direct data wegschrijven naar een ms access db. Dus zonder tussenkomst van wat dan ook.

Andersom lukt het al wel, dus data handmatig in ms access invoeren en vervolgens uitlezen via php.

Onderstaande heb ik dus tot op heden. Wie kan mij helpen?


<?

$db = 'C:\\Inetpub\\wwwroot\\mdb.mdb';

$conn = new COM('ADODB.Connection');

$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db");
//$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

$sql = 'SELECT naam, adres, woonplaats
FROM mdb
ORDER BY naam';
$rs = $conn->Execute($sql);

?>

<table>
<tr>
<th>Naam</th>
<th>Adres</th>
<th>Woonplaats</th>
</tr>
<? while (!$rs->EOF): ?>
<tr>
<td><?= $rs->Fields['naam']->Value ?></td>
<td><?= $rs->Fields['adres']->Value ?></td>
<td><?= $rs->Fields['woonplaats']->Value ?></td>
</tr>
<? $rs->MoveNext() ?>
<? endwhile ?>
</table>

<?

$rs->Close();
$conn->Close();

?>
<?

$db = 'C:\\Inetpub\\wwwroot\\mdb.mdb';

$conn = new COM('ADODB.Connection');

// Two ways to connect. Choose one.
$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db");
//$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

$sql = 'SELECT naam, adres, woonplaats
FROM mdb
ORDER BY naam';

$rs = $conn->Execute("INSERT INTO mdb (naam, adres, woonplaat) VALUES ('mijn naam', 'niet beschikbaar', 'leeuwarden')");
var_dump($rs);

$rs = $conn->Execute($sql);

?>

Deze foutmelding:

Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft JET Database Engine
Description: De bewerking moet worden uitgevoerd op een query die kan worden bijgewerkt.' in c:\Inetpub\wwwroot\mdb.php:15 Stack trace: #0 c:\Inetpub\wwwroot\mdb.php(15): com->Execute('INSERT INTO mdb...') #1 {main} thrown in c:\Inetpub\wwwroot\mdb.php on line 15

Reageren