fil пишет:
Примерно так
#include "adordd.ch"
oConx := TOleAuto():NEW( "ADODB.connection" )
oConx:ConnectionString := cStr
oConx:Open()
oRSet := TOleAuto():NEW( "ADODB.RecordSet" )
cSQL := "SELECT * FROM EVENTS" // к примеру из таблицы EVENTS
WITH OBJECT oRSet
:CursorLocation := adUseClient
:CursorType := adOpenDynamic
:LockType := adLockOptimistic
:ActiveConnection := oConx
:Source := cSQL
:Open()
END WITH
потом с рекордсетом делай чего надо ( в массив , в эксель и пр)
PS или вот еще от туда же примерчик
// Загрузка справочника сотрудников
oConnection := ConnectMdb(GetStartupFolder() + "\config.mdb", GetStartupFolder() + "\Gate.mdw", 'User', 'Password')
cSql := "SELECT Number, Фамилия, Имя, Отчество, GroupPtr, UserPtr FROM Users GROUP BY Number, Фамилия, Имя, Отчество, GroupPtr, UserPtr ORDER BY Фамилия"
oRecordSet:=CreateObject("ADODB.Recordset")
oRecordSet:Open(cSql,oConnection,3,3) // статический курсор
If !oRecordSet:Bof .and. !oRecordSet:Eof
oRecordSet:MoveFirst()
For i := oRecordSet:AbsolutePosition TO oRecordSet:RecordCount()
? cNumber := IF( Valtype(oRecordSet:Fields["Number"]:value) == 'C', oRecordSet:Fields["Number"]:value, '0' )
? cUser := IF( Valtype(oRecordSet:Fields["Фамилия"]:value) == 'C', oRecordSet:Fields["Фамилия"]:value + ' ', '')
? cUser += IF( Valtype(oRecordSet:Fields["Имя"]:value) == 'C', oRecordSet:Fields["Имя"]:value + ' ', '')
? cUser += IF( Valtype(oRecordSet:Fields["Отчество"]:value) == 'C', oRecordSet:Fields["Отчество"]:value + ' ', '')
? cGroupPtr := if( Valtype(oRecordSet:Fields["GroupPtr"]:value) == 'N', NTOC( oRecordSet:Fields["GroupPtr"]:value), '0' )
? cUserPtr := if( Valtype(oRecordSet:Fields["UserPtr"]:value) == 'N', NTOC( oRecordSet:Fields["UserPtr"]:value), '0' )
oRecordSet:MoveNext()
end
end
oRecordSet:Close()