3 V4.22 15 Apr 2004 (c) 2000-2004 John Lim (jlim@natsoft.com.my). All rights reserved.
4 Released under both BSD license and Lesser GPL library license.
5 Whenever there is any discrepancy between the two licenses,
6 the BSD license will take precedence. See License.txt.
7 Set tabs to 4 for best viewing.
9 Latest version is available at http://php.weblogs.com/
11 Microsoft Access data driver. Requires ODBC. Works only on MS Windows.
13 if (!defined('_ADODB_ODBC_LAYER')) {
14 include(ADODB_DIR . "/drivers/adodb-odbc.inc.php");
16 if (!defined('_ADODB_ACCESS')) {
17 define('_ADODB_ACCESS', 1);
19 class ADODB_access extends ADODB_odbc
21 var $databaseType = 'access';
22 var $hasTop = 'top'; // support mssql SELECT TOP 10 * FROM TABLE
23 var $fmtDate = "#Y-m-d#";
24 var $fmtTimeStamp = "#Y-m-d h:i:sA#"; // note not comma
25 var $_bindInputArray = false; // strangely enough, setting to true does not work reliably
26 var $sysDate = "FORMAT(NOW,'yyyy-mm-dd')";
27 var $sysTimeStamp = 'NOW';
28 var $hasTransactions = false;
30 function ADODB_access()
32 global $ADODB_EXTENSION;
34 $ADODB_EXTENSION = false;
48 function IfNull($field, $ifNull)
50 return " IIF(IsNull($field), $ifNull, $field) "; // if Access
53 function &MetaTables()
55 global $ADODB_FETCH_MODE;
57 $savem = $ADODB_FETCH_MODE;
58 $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
59 $qid = odbc_tables($this->_connectionID);
60 $rs = new ADORecordSet_odbc($qid);
61 $ADODB_FETCH_MODE = $savem;
62 if (!$rs) return false;
64 $rs->_has_stupid_odbc_fetch_api_change = $this->_has_stupid_odbc_fetch_api_change;
66 $arr = &$rs->GetArray();
69 for ($i=0; $i < sizeof($arr); $i++) {
70 if ($arr[$i][2] && $arr[$i][3] != 'SYSTEM TABLE')
71 $arr2[] = $arr[$i][2];
77 class ADORecordSet_access extends ADORecordSet_odbc
80 var $databaseType = "access";
82 function ADORecordSet_access($id, $mode = false)
84 return $this->ADORecordSet_odbc($id, $mode);