MS-Excel-OLE-Objekt mit aktuellen ACOS-Daten - PM Host

Werbung
JT 14. Mai. 2016 ACOS_EXCEL_OLE.DOC
MS-Excel-OLE-Objekt mit aktuellen ACOS-Daten
in einen ACOS-Terminplan dynamisch einfügen
0. Aufgabe:
Ein XLS-Objekt einfügen, das aus der Acos-Access-Datenbank (Andere DB siehe Anhang)
die gewünschten Informationen aus einer Abfrage holt. Letztere kann allerdings nur als SQLSkript in Access bearbeitet werden. Damit könnten beliebige Stempel selbst gestaltet werden.
1. SQL-Abfrage als Union esrtellen:
Acos-Job als Datei ZSN sichern.
Dann in Access-DB DSN=ACOS86_MDB speichern
In Access neue Abfrage erstellen
Tabelle PLSDAT_J
Entwurfsmodus
Ansicht SQL
Dieses Muster-Script einfügen:
Select 1 as ZEILE, JB_ID, 'P_TEXT1'as BESCHREIBUNG, mid(PLSDAT_J.P_TEXT,1,40) as P_TEXT1 FROM
`C:\daten\acos_web\db\acos86_2000`.PLSDAT_J PLSDAT_J WHERE (PLSDAT_J.JB_ID=2)
union
Select 2 as ZEILE, JB_ID, 'P_TEXT2'as BESCHREIBUNG,mid(PLSDAT_J.P_TEXT,41,40) as P_TEXT1 FROM
`C:\daten\acos_web\db\acos86_2000`.PLSDAT_J PLSDAT_J
union
Select 5 as ZEILE, JB_ID, 'P_MEMO_01'as BESCHREIBUNG,PLSDAT_J.MEMO_1 FROM
`C:\daten\acos_web\db\acos86_2000`.PLSDAT_J PLSDAT_J
union
Select 6 as ZEILE, JB_ID, 'P_MEMO_02'as BESCHREIBUNG,PLSDAT_J.MEMO_2 FROM
`C:\daten\acos_web\db\acos86_2000`.PLSDAT_J PLSDAT_J
union
Select 7 as ZEILE, JB_ID, 'P_MEMO_03'as BESCHREIBUNG,PLSDAT_J.MEMO_3 FROM
`C:\daten\acos_web\db\acos86_2000`.PLSDAT_J PLSDAT_J
UNION Select 7 as ZEILE, JB_ID, 'P_MEMO_03'as BESCHREIBUNG,PLSDAT_J.MEMO_3 FROM
`C:\daten\acos_web\db\acos86_2000`.PLSDAT_J PLSDAT_J
ORDER BY 1;
Ausführen und Abfrage speichern als ABFRAGE_STEMPEL
Das sind alle möglichen Spaltennamen aus PLSDAT_J.
Auch Daten aus anderen Tabellen könnten geholt werden.
PLSDAT_J.JB_ID,
PLSDAT_J.KONST,
PLSDAT_J.P_TEXT,
PLSDAT_J.DAT_AE,
PLSDAT_J.P_CODE,
PLSDAT_J.ERST_DAT,
PLSDAT_J.D_CODE,
PLSDAT_J.P_TRAEGER,
PLSDAT_J.BEARB,
PLSDAT_J.AENR,
PLSDAT_J.A_CASE,
PLSDAT_J.FREI1,
PLSDAT_J.UP_SOLL,
PLSDAT_J.SCHALTER,
PLSDAT_J.UP_DAT,
PLSDAT_J.AE_DAT,
PLSDAT_J.SOIDAT,
PLSDAT_J.SOINAM,
PLSDAT_J.SAVDAT,
PLSDAT_J.SAVNAM,
PLSDAT_J.ADDDAT,
PLSDAT_J.MEHRKA,
PLSDAT_J.RESMER,
PLSDAT_J.P_START,
PLSDAT_J.MTA_AN,
PLSDAT_J.ZEITEINH,
PLSDAT_J.ZEHNTELH,
PLSDAT_J.DATYP,
PLSDAT_J.UP_TMR,
PLSDAT_J.UP_PLAN,
PLSDAT_J.UP_DIAL,
PLSDAT_J.FREI2,
PLSDAT_J.UPD_ANZ,
PLSDAT_J.UPD_01,
PLSDAT_J.UPD_02,
PLSDAT_J.UPD_03,
PLSDAT_J.UPD_04,
PLSDAT_J.UPD_05,
PLSDAT_J.UPD_06,
PLSDAT_J.UPD_07,
PLSDAT_J.UPD_08,
PLSDAT_J.UPD_09,
PLSDAT_J.UPD_10,
PLSDAT_J.UPD_11,
PLSDAT_J.UPD_12,
PLSDAT_J.UPD_13,
PLSDAT_J.UPD_14,
PLSDAT_J.UPD_15,
PLSDAT_J.UPD_16,
PLSDAT_J.UPD_17,
PLSDAT_J.UPD_18,
PLSDAT_J.UPD_19,
PLSDAT_J.UPD_20,
PLSDAT_J.UPD_21,
PLSDAT_J.UPD_22,
PLSDAT_J.UPD_23,
PLSDAT_J.UPD_24,
PLSDAT_J.UPD_25,
PLSDAT_J.UPD_26,
PLSDAT_J.FREI3,
PLSDAT_J.MEMO_1,
PLSDAT_J.MEMO_2,
PLSDAT_J.MEMO_3,
PLSDAT_J.MEMO_4,
PLSDAT_J.MEMO_5,
PLSDAT_J.MEMO_6,
PLSDAT_J.MEMO_7,
PLSDAT_J.MEMO_8,
PLSDAT_J.MEMO_9,
PLSDAT_J.MEMO_10,
PLSDAT_J.MEMO_11,
PLSDAT_J.MEMO_12,
PLSDAT_J.MEMO_13,
PLSDAT_J.MEMO_14,
PLSDAT_J.MEMO_15,
PLSDAT_J.MEMO_16,
PLSDAT_J.MEMO_17,
PLSDAT_J.JOB_KEY1,
PLSDAT_J.JOB_KEY2,
PLSDAT_J.JOB_KEY3,
PLSDAT_J.ACOS_KAT,
PLSDAT_J.VOR_PA,
PLSDAT_J.VOR_PE,
PLSDAT_J.VOR_TYP,
PLSDAT_J.REST_GS,
PLSDAT_J.KRIT_WEG,
PLSDAT_J.KOMMA,
PLSDAT_J.RES_KAL,
PLSDAT_J.FERT_FUN,
PLSDAT_J.ON_TMR,
PLSDAT_J.HO_TMR,
PLSDAT_J.BV_TMR,
PLSDAT_J.RE_TMR,
PLSDAT_J.UP_CAL
2. Abfrage in Excel einfügen
2.1 Excel-Datei Neu Z.B. in Zelle B2 Focus setzen
Daten Externe Daten neue Abfrage erstellen
2.2 Datenquelle ACOS86_MDB wählen und OK
2.3 Abfrage_Stempel > Felder rüberholen
2.4 Weiter, Jobfilter für das aktuelle Projekt setzen- Fertigstellen
und Daten an Excel zurückgeben
2.5 Rechte Maus im Tabellenbereich Datenbereichseigenschaften
Aktualisieren beim Öffnen
Formeln in angrenzenden Zellen ausfüllen
OK
3. Rahmen formatieren
Format Bereich mit Rahmen versehen
XLS-Datei speichern z.B. in PLSDAT oder besser in den Projektordner z.B. als
ABFRAGE_STEMPEL.XLS
4. Ole-Objekt in Acos zuweisen
Balkenplan Format
Ausgabe formatieren unten rechts markieren
Typ=Objekt durchsuchen
ABFRAGE_STEMPEL.XLS auswählen
ok
ok
Seitenvorschau -fertig!
5. Nachträgliche Änderungen
In Access oder MSQUERY Abfrage per SQL ändern und Excel neu öffnen und speichern.
Bei Datenänderungen in der ACOS Projektbeschreibung:
In DB Speichern
Excel öffnen ok speichern
(kann offen bleiben)
In Acos
Format Ausgabe formatieren, bearbeiten, ok, ok
(Jetzt wird die OLE-Schnittstelle von Excel neu ausgeführt)
Seitenvorschau - fertig
6. Sonstiges
Die Qualität der Ausgaben mit XLS-Objekten ist sehr gut, alles ist beliebig
zoombar,
Bilder sind als Vektordaten in XLS importierbar, die Bildhöhen im Acos sind
variabel.
Das ganze Verfahren klingt komplex, da es einen Zyklus zwischen Acos und
Excel realisiert, ist aber im Wiederholungsfall einfach zu anzuwenden.
Abweichungen – je nach Excel-Version – sind möglich. Bei MS-Office 97
funktioniert das Aktualisieren nicht immer zuverlässig.
Anhang: Vereinfachtes Verfahren für andere Datenbanken:
Das Verfahren beginnt bei Schritt 2 bis zu 2.4
2.3a Auswahl des ODBC DSN und Eingabe des Datenbankpasswortes
2.4a Statt Daten an Excel, esrt zu MS-Query
2.4b SQL-Query-Abfrage mit SQL
2.4c Speichern der Abfrage
2.4d Daten an Excel zurückgeben
Alle anderen Schritte des Verfahrens bleiben davon unberührt.
Alternativ können Abfragen (Views) mit besonderer Berechtigung je User vom
Datenbankadministrator bereitgestellt wedren.
http://www.acos.com E-Mail: [email protected]
Herunterladen