I use
this script
Code:
$dsn='DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=c:\journal.mdb'
$sql="INSERT INTO PARAMETROS VALUES('eee','fff')"
$recordset = DBCommand($dsn,$sql)
? 'Error = '+@ERROR+' - '+@SERROR
$sql="SELECT Field1, Field2 FROM Table1"
$recordset = DBCommand($dsn,$sql)
? 'Error = '+@ERROR+' - '+@SERROR
For $row=0 to Ubound($recordset,1)
For $column=0 to Ubound($recordset,2)
? 'Field(row='+$row+', column='+$column+') ='+$recordset[$row,$column]
Next
Next
Function DBCommand($ConnDSN,$sql)
Dim $objConn, $adStateOpen
Dim $Conntimeout, $CmdTimeout
Dim $cmdCommand, $rsRecordset
Dim $Records, $FinalRecords
Dim $adCmdText, $adLockReadOnly, $adOpenStatic
Dim $row, $rows, $column, $columns
$ConnDSN=Trim($ConnDSN)
If NOT $ConnDSN
Exit 87
EndIf
$sql=Trim($sql)
If NOT $sql
Exit 87
EndIf
; default database parameters
$adStateOpen=1
$ConnTimeout=15
$CmdTimeout=30
$adCmdText = 1
$adOpenStatic = 3
$adLockReadOnly = 1
; open the database connection
$objConn = CreateObject("ADODB.Connection")
If @ERROR
Exit @ERROR
EndIf
$objConn.ConnectionTimeout = $ConnTimeout
If @ERROR
Exit @ERROR
EndIf
$objConn.CommandTimeout = $CmdTimeout
If @ERROR
Exit @ERROR
EndIf
$objConn.Open($ConnDSN)
If @ERROR
Exit @ERROR
EndIf
If NOT $objConn.State=$adStateOpen
$objConn=''
$DBCommand=''
Exit @ERROR
EndIf
; create the database command object
$cmdCommand = CreateObject('ADODB.Command')
If @ERROR
Exit @ERROR
EndIf
$cmdCommand.ActiveConnection = $objConn
If @ERROR
Exit @ERROR
EndIf
$cmdCommand.CommandType = $adCmdText
If @ERROR
Exit @ERROR
EndIf
$cmdCommand.CommandText = $sql
If @ERROR
$DBCommand=@ERROR
Exit @ERROR
EndIf
If InStr($sql,'SELECT')=1
; create the recordset object
$rsRecordSet = CreateObject('ADODB.Recordset')
If @ERROR
Exit @ERROR
EndIf
$rsRecordset.CursorType = $adOpenStatic
If @ERROR
Exit @ERROR
EndIf
$rsRecordset.LockType = $adLockReadOnly
If @ERROR
Exit @ERROR
EndIf
$rsRecordset.Open($cmdCommand)
If @ERROR
Exit @ERROR
EndIf
If $rsRecordset.EOF AND $rsRecordSet.BOF
; recordset is empty
$FinalRecords=''
Else
If @ERROR
Exit @ERROR
EndIf
; retrieve all records at once and transpose into tabular format
$Records = $rsRecordset.GetRows()
$columns=Ubound($records,1)
$rows=Ubound($records,2)
ReDim $FinalRecords[$rows,$columns]
For $row=0 to $rows
For $column=0 to $columns
$FinalRecords[$row,$column]=$records[$column,$row]
Next
Next
EndIf
; close recordset
If $rsRecordset.state=$adStateOpen
$rsRecordset.Close()
If @ERROR
Exit @ERROR
EndIf
EndIf
$rsRecordset=''
$cmdCommand=''
$DBCommand=$FinalRecords
Else
$rsRecordset=$cmdCommand.Execute()
$cmdCommand=''
$rsRecordset=''
If @ERROR
Exit @ERROR
EndIf
$DBCommand=0
EndIf
; close the database connection
If $objConn.State = $adStateOpen
$objConn.Close()
If @ERROR
Exit @ERROR
EndIf
EndIf
$objConn=''
Exit 0
EndFunction
and return
Error = -2147352567 - COM exception error "Open" (Microsoft OLE DB Provider for
ODBC Drivers - [Microsoft][Administrador de controladores ODBC] El nombre del or
igen de datos no se encontró y no se especificó ningún controlador predeterminad
o) [-2147352567/80020009]
Error = -2147352567 - COM exception error "Open" (Microsoft OLE DB Provider for
ODBC Drivers - [Microsoft][Administrador de controladores ODBC] El nombre del or
igen de datos no se encontró y no se especificó ningún controlador predeterminad
o) [-2147352567/80020009]
C:\>