Keresés
Hírlevél
 
Kiemelt témák
»Hogyan védjem meg a portálomat?
»Google wave
»Assembly :: röviden
Állás/munka
»IPhone App elkészítése
»PHP Fejlesztőt keresünk Miskolcon!
»Profi sitebuildert keresünk projekt alapon
»PHP állás azonnali belépéssel Budaörsön
»PHP programozó munkát vállal
» több téma
Tudástár
?Php oldal sebessége.
Több adat kiírása.
?Flash-XML kommunikáció
?Eseménykezelés, form és usercontroll kapcsolat
?Javascript űrlapok
?Adatok táblába írás után kód van ékezet helyett
?C# progira skin
PHP-ban az if nem fut le
?Datagrid frissítése vb .net
?C# Linq"Sql Insert Sequence
?Visual basic - goto
Mi az a __nonnull() ???
?Bibrálás Nokia 3720-ban J2ME-vel
*Child class visible vagy sem?
*JAVA event a JPANEL-hez
» több téma
Társalgó
»Clipper kontra XP
»Melyik főiskola vagy egyetem?
»Programozás Nokia 3720c-2-re
»HTML szerkesztő
»Weblap véleményezés
»"Márió" jellegű játék írása pascal nyelven
»Windows Mobile programozás egyszerű programmal
»Html oldal küldése outlookkal
»Lelkesítő topic
»Javascript forrás visszaalakítása
» több téma
Cikkek
»Bevezetés a genetikus algoritmusokba
»Bevezetés az adatkezelésbe
»Bevezetés a CSS alapjaiba
»GroupWise-kiegészítők készítése Python-ban
»Aspektus-orientált programozás
» több cikk
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Cikkek

»

Adatbázisok

»

Microsoft Access

»

Access adatbázis használata

A sorozat további cikkei:
szerző: cett, idő: 2004.08.02., értékelés: 5 (16 szavazat)
  Betűméret növelése Betűméret csökkentése Kapcsolódó fórum Felvétel kedvencekhez Küldés emailben Nyomtatható verzió
A Microsoft Office programcsalád elterjedtsége miatt gyakran lehet szükség arra, hogy bizonyos összetevőit Delphi programból elérjük. Kétrészes sorozatommal a szándékom annak bemutatása, hogy miként lehet egyszerűen és viszonylag könnyen elérni és saját céljainkra felhasználni a Microsoft Office programcsalád elemeit.

A Microsoft Office programcsalád elterjedtsége miatt gyakran lehet szükség arra, hogy bizonyos összetevőit Delphi programból elérjük. Ezzel a cikkel az a szándékom, hogy bemutassam, miként lehet egyszerűen és viszonylag könnyen elérni a Microsoft Office programcsalád elemeit. Nem célom az Office programok összes lehetőségének bemutatása, csupán egy kezdő lökés megadása, melyet felhasználva később már könnyebben tud a cikk olvasója bonyolultabb programokat is létrehozni. A cikk írásánál feltételezem, hogy az olvasó már rendelkezik a Delphi-vel fejlesztői környezetének, a Delphi adatkezelési modelljének, és a BDE komponensek megfelelő ismeretével.

A cikkhez tartozó példaprogramban a következőket fogjuk megvalósítani:

  • Access adatbázisban tárolt tábla elérése ADO-n keresztül,
  • Access tábla mezőnkénti exportálása Excel-be OLE Automatizmuson keresztül,
  • Outlook-ban HTML levél létrehozása OLE Automatizmuson keresztül,
  • végezetül Word-ben létrehozunk egy új dokumentumot (szintén OLE Automatizmus), s mintegy "állatorvosi lóként" a leggyakrabban előforduló formázási műveletekkel ellátjuk.
  • A cikkhez mellékelt program működéséhez szükségesek az alábbi Microsoft Office programok feltelepítése:

  • Microsoft Access,
  • Microsoft Excel,
  • Microsoft Outlook (nem Outlook Express!),
  • Microsoft Word.
  • Ahhoz, hogy eredményesen tudjunk kommunikálni az Office programjaival szükséges két fogalom ismerete:

  • ADO (ActiveX Data Object)
  • Type Library
  • Az ADO, és az ADO komponensek Delphi-ben

    Az ADO a Microsoft OLE DB technológiájára épül, melyet a 1996-ban jelentetett meg OLE DB SDK néven. Az OLE DB bármely táblázatos adatszolgáltató (provider) számára COM felületet biztosít. Az OLE DB hasonló az ODBC API-hoz, azonban néhány eltérést felfedezhetünk közöttük. Például az OLE DB is közvetlenül kommunikál az adatforrással, akárcsak az ODBC, azonban ehhez az adatforrásnak rendelkeznie kell egy providerrel (OLE DB provider). Szerencsére azonban a Microsoft az ODBC-hez is elkészítette az OLE DB providert MSDASQL néven, így bármilyen ODBC adatforrás elérhető OLE DB-vel.

    Az OLE DB sok előnye mellett meg kell említeni azt a többletmunkát is, amelyet egy-egy alkalmazás implementálásába kell befektetni. Ennek kivédésére készítette el a Microsoft az OLE DB SDK-hoz mellékelt ADO felületet. Az ADO a felületet biztosítja a programozók számára az OLE DB réteg eléréséhez, mely segítségével egységes felületen keresztül férhetnek hozzá különböző relációs és nem relációs adatbáziskezelőktől kezdve akár file-rendszerekhez is. Az ADO segítségével bármely olyan fejlesztőrendszer - vagy akár egy egyszerű script-nyelv is - amely támogatja az ActiveX technológiát, felhasználhatja a Microsoft OLE DB adatelérési technológiáját. Az ADO több lépcsős fejlődése révén mára már kiforrottsága miatt valós ellenfelévé vált a DAO-nak és az RDO-nak.

    Miért is jó az ADO?

  • Mivel COM serverként DLL-ből töltődik be, így a kliens alkalmazás címterében futhat, ez teljesítmény szempontjából kifejezetten előnyös.
  • Saját automation interface-e segítségével könnyen elérhető bármilyen alkalmazásból.
  • Támogatja a OLE-t és a COM-ot (Type Library-n keresztüli elérést).
  • Az esetek döntő többségében nem szükséges a telepítése, így elkerülhetjük a BDE alkalmazásoknál tapasztalt, kezdő programozók számára nagy bosszúságot okozó telepítőkészlet-összeállítást.
  • Segítségével többrétegű alkalmazásoknál jelentősen csökkenthetjük az adatforgalmat a BDE-hez képest.
  • Az ADO beszerzése több helyről is lehetséges. Egyrészt a Windows NT óta az operációs rendszer része az éppen aktuális verzió, másrészt az Office programcsalád telepítőjének is részét képezi, harmadrészt pedig a Microsoft web oldaláról is ingyenesen letölthető a legújabb verziója. (http://www.microsoft.com/data)

    Ahhoz, hogy ADO-val dolgozzunk Delphi fejlesztőrendszer alatt Professional vagy nagyobb verziójú Delphi-vel kell rendelkeznünk. A Personal verziónak nem részei az ADO eléréséhez szükséges komponensek. A Delphi-hez adott ADO komponensek remekül illeszkednek a Delphi adatkezelési modelljébe, megtalálhatók közöttük a BDE alapú Database, Table, Query, és StoredProc komponensek ADO megfelelői, mivel mindannyian a TDataset osztály leszármazottjai. E miatt egy vizuális komponens (DBEdit, DBGrid) egy DataSource komponensen keresztül ugyanúgy csatlakozhat egy ADO komponensre, mint BDE-s megfelelőjére.

    ADO komponensek, és feladatuk:

  • ADOConnection: Adatbáziskapcsolat felépítése data providerekkel, a kapcsolódási karakterlánc segítségével. Kapcsolódáskor a felhasználó azonosítását is könnyen elvégezhetjük segítségével. BDE megfelelője a TDatabase.
  • ADOCommand: Közvetlen SQL parancsok kiadására az ADO data providerek számára, eredményhalmaz nélkül (Insert, Update, stb.) BDE megfelelője a TDatabase.Execute vagy a TQuery.ExecSQL metódus.
  • ADODataset: Általános adatelérési komponens ADO táblák eléréséhez, BDE megfelelője nincs.
  • ADOTable: ADO táblák elérésére szolgáló komponens, BDE megfelelője a TTable.
  • ADOQuery: Egy vagy több tábla adatainak elérésére szolgáló komponens, BDE megfelelője a TQuery.
  • ADOStoredProc: Tárolt eljárások végrehajtására szolgáló komponens, BDE megfelelője a TStoredProc.
  • RDSConnection: Többrétegű alkalmazások fejlesztésénél az eredményhalmaz mozgatását végzi különböző folyamatok vagy számítógépek között. BDE megfelelője nincs.
  • Küldés emailben Küldés emailben Nyomtatható verzió Nyomtatható verzió
    Belépés
    E-mail cím:
    Jelszó:

    RSS források
    -Hírek
    -Cikkek
    -Fórumok
    Top pontgyűjtők
    »Micu1.770
    »Árnyék810
    »vinie530
    »Frostech0440
    »Riha400
    »pelz350
    »djjjozsi310
    »stl290
    »klorand250
    »NevemTeve230
    Hírek
    »Letölthető a Mozilla Jetpack SDK első kiadása
    »Saját alkalmazásboltot nyitott a Google
    »Súlyos sebezhetőség minden Apache kiszolgálóban
    »Natív 3D-s támogatás a legújabb Android fejlesztőkészletben
    »A Windows titkos eredete
    » több hír
    PC Fórum hírek
    »Nem boldogul az legújabb merevlemezekkel az XP és a Linux
    »Átírják a Firefox licencszerződését
    »Több tízezer nebuló a Microsuliban
    »Sebezhető az Internet Explorer és az Opera is
    »Még márciusban megjelenik az Intel nyolcmagos szerverlapkája
    »Hamis Core i7 processzorokat árultak a neten
    »Korábban jön a Windows 7 Service Pack 1
    »Április elejétől lesz kapható az iPad
    Tagi blogok
    »USB
    »PHP, mint sablonmotor egyszerűen
    »Én és linux
    »Coming out