OLE DB Verbindungen zu Excel: Unterschied zwischen den Versionen

Aus Asprova Hilfe
Wechseln zu: Navigation, Suche
K (Arbeitsschritte)
(Formatierung und Überarbeitung)
Zeile 7: Zeile 7:
 
Die Verwendung der Option OLE-DB für Datenimport- und -exporteinstellungen ermöglicht einen Datenaustausch mit Excel.
 
Die Verwendung der Option OLE-DB für Datenimport- und -exporteinstellungen ermöglicht einen Datenaustausch mit Excel.
  
<ol><li> Wählen Sie "OLE DB" als Datenquellentyp.</li>
+
===Datenquelle===
<li>Im Dialogfenster, das über [Verzeichnis/Datenbank] geöffnet wird, wählen Sie als Provider "Microsoft Office ''xx''.0 Access Database Engine OLE DB Provider" aus und klicken dann auf [Weiter >>].<br>[[Image:dbio-excel01.jpg]]</li>
+
Setzen Sie in den Schnittstelleneinstellungen für das Schnittstellenobjekt"OLE DB" als [Datenquelle].
<li>Datenquelle geben Sie nun den Pfad und Dateinamen der Excel-Datei ein, zu der Sie eine Verbindung herstellen wollen.<br>[[Image:dbio-excel02.jpg]]</li>
+
 
<li>Beim Reiter [Alle] legen Sie nun die Version der Excel-Datei im Feld [Extended Properties] fest.
+
===Provider===
 +
Im Dialogfenster, das über [Verzeichnis/Datenbank] geöffnet wird, wählen Sie als Provider "Microsoft Office ''xx''.0 Access Database Engine OLE DB Provider" aus und klicken dann auf [Weiter >>].<br>[[Image:dbio-excel01.jpg]]
 +
 
 +
===Dateipfad===
 +
Datenquelle geben Sie nun den Pfad und Dateinamen der Excel-Datei ein, zu der Sie eine Verbindung herstellen wollen.<br>[[Image:dbio-excel02.jpg]]
 +
 
 +
===Erweiterte Eigenschaften===
 +
Beim Reiter [Alle] legen Sie nun die Version der Excel-Datei im Feld [Extended Properties] fest.
 
{|
 
{|
 
|-
 
|-
Zeile 39: Zeile 46:
 
|}
 
|}
 
|-
 
|-
|}</li>
+
|}<br>So wie die Excel-Version, können auch weiter Attribute im Feld [Extended Properties] eingegeben werden:
<li>So wie die Excel-Version, können auch weiter Attribute im Feld [Extended Properties] eingegeben werden:
 
 
{| class ="wikitable"
 
{| class ="wikitable"
 
|-
 
|-
Zeile 51: Zeile 57:
 
|&emsp;Nein||Feldnamen werden automatisch erstellt, beginnend mit "F1", "F2" etc.
 
|&emsp;Nein||Feldnamen werden automatisch erstellt, beginnend mit "F1", "F2" etc.
 
|-
 
|-
|MAXSCANROWS||Bestimmt automatisch den Datentyp der Daten in Excel. Legen Sie die Anzahl der zu prüfenden Zeilen (von 1 - 16) fest.
+
|valign="top"|MAXSCANROWS||width="300"|Bestimmt automatisch den Datentyp der Daten in Excel. Legen Sie die Anzahl der zu prüfenden Zeilen (von 1 - 16) fest. Im Standard werden die ersten acht Zeichen für die Bestimmung betrachtet. Nachdem alle Zeilen geprüft wurden, wird der jeweils häufigste Datentyp ausgewählt.<br>Ist <code>MAXSCANROWS</code> nicht definiert, wird [TypeGuessRows] des Registry-Schlüssels <code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel</code> verwendet um die Anzahl zu prüfender Zeilen zu bestimmen, Standardwert hier ist 8. Wird 0 eingegeben, so werden alle Zeilen überprüft.
 
|-
 
|-
 
|}
 
|}
Für eine Excel 2016 Datei mit Spaltenköpfen würde der folgende String als Wert für [Extended Properties] genutzt:<br>&emsp;Excel 12.0;HDR=Yes</li></ol>
+
Für eine Excel 2016 Datei mit Spaltenköpfen würde der folgende String als Wert für [Extended Properties] genutzt:<br>&emsp;<code>Excel 12.0;HDR=Yes</code>
  
{|
+
[[Image:Excel07.png|frame]]
|- valign="top"
+
 
|Wurden diese Einstellungen vorgenommen und eine Verbindung zu Excel hergestellt, so kann das zu verwendende Tabellenblatt auf die herkömmliche Weise in der Eigenschaft [Externer Tabellenname] des DBIO-Objekts ausgewählt werden. Tabellenblattnamen enthalten ein Dollarzeichen am Ende des Namens (z.B. "Tabelle1$"). Wählen Sie das zu verwendende Tabellenblatt aus der Liste aus. Der Rest der Einstellungen ([Field-Mapping] etc.) entsprechen denen anderer OLE DB-Verbindungen.||[[Image:dbio-excel04.jpg]]
+
===Externe Tabelle===
|-
+
Wurden diese Einstellungen vorgenommen und eine Verbindung zu Excel hergestellt, so kann das zu verwendende Tabellenblatt auf die herkömmliche Weise in der Eigenschaft [Externer Tabellenname] des DBIO-Objekts ausgewählt werden. Neben Tabellenblättern können auch benannte Zellbereiche als externe tabelle dienen. Tabellenblattnamen enthalten ein Dollarzeichen am Ende des Namens (z.B. "Tabelle1$"), Zellbereiche nicht.<br />Innerhalb eines Tabellenblatts können vErbindungen zu mehreren benannten Zellbereichen hergestellt werden. Zellbereiche werden komplett importiert (selbst wenn keine Daten enthalten sind). Es kann also sein, dass leere Zeilen importiert werden. Um dies zu vermeiden, kann <code>FValid(ME.Code)</code> als [Externe Importfilterformel] gesetzt werden.
|}
+
 
 +
===Weitere Einstellungen===
 +
Die weiteren Einstellungen([Field-Mapping] etc.) entsprechen denen anderer OLE DB-Verbindungen.
  
 
==Spaltenköpfe==
 
==Spaltenköpfe==
 
Abhängig von [Extended Properties] können in Excel-Dateien Spaltenköpfe verwendet werden.
 
Abhängig von [Extended Properties] können in Excel-Dateien Spaltenköpfe verwendet werden.
  
;<code>HDR=Yes</code>
+
===Mit Spaltenköpfen===
: In der Excel-Datei werden Spaltenköpfe erwartet, die erste Zeile mit Daten wird als Spaltenköpfe interpretiert.
+
<code>HDR=Yes</code> - In der Excel-Datei werden Spaltenköpfe erwartet, die erste Zeile mit Daten wird als Spaltenköpfe interpretiert.
 
{|
 
{|
 
|-
 
|-
Zeile 89: Zeile 97:
 
|}
 
|}
  
;<code>HDR=No</code>
+
===Ohne Spaltenköpfe===
: In der Excel-Datei werden keine Spaltenköpfe erwartet. Die erste Spalte mit Daten darin wird als erstes Datenfeld interpretiert, weiter bis zur letzten Spalte mit darin enthaltenen Daten. Feldnamen werden automatisch erstellt, beginnend mit "F1", "F2", etc.
+
<code>HDR=No</code>- In der Excel-Datei werden keine Spaltenköpfe erwartet. Die erste Spalte mit Daten darin wird als erstes Datenfeld interpretiert, weiter bis zur letzten Spalte mit darin enthaltenen Daten. Feldnamen werden automatisch erstellt, beginnend mit "F1", "F2", etc.
 
 
 
{|
 
{|
 
|-
 
|-
Zeile 104: Zeile 111:
 
==Einschränkungen==
 
==Einschränkungen==
 
<ul><li>Da die SQL-Befehle <code>DELETE</code> (Datensatz löschen) und <code>DROP</code> (Tabelle löschen) nicht unterstützt werden, wird der Wert der Eigenschaft [Tabelle vor Export leeren] ignoriert.</li>
 
<ul><li>Da die SQL-Befehle <code>DELETE</code> (Datensatz löschen) und <code>DROP</code> (Tabelle löschen) nicht unterstützt werden, wird der Wert der Eigenschaft [Tabelle vor Export leeren] ignoriert.</li>
<li>&emsp;
+
<li>Die SQL-Befehle <code>COMMIT</code> und <code>ROLLBACK</code> werden nicht unterstützt.</li>
 +
<li><!--&emsp;-->
 
{|
 
{|
 
|- valign="top"
 
|- valign="top"
Zeile 121: Zeile 129:
 
|-
 
|-
 
|}</li>
 
|}</li>
<li>Beim Prüfen einer verbundenen Datei zur Feststellung des Typs der Werte ist die Standardeinstellung, bis zu 8 Stellen zu prüfen. <br />Nachdem die Zeilen, die Daten enthalten, geprüft wurden, wird der am meisten verwendete Typ der Werte verwendet.
+
</ul>
Das Attribut MAXSCANROWS kann zu den erweiterten Eigenschaften hinzugefügt werden, um dieses Verhalten zu ändern. <br />Eine Anzahl zu prüfender Zeilen von 1 - 16 kann angegeben werden.
 
 
 
Wenn nichts festgelegt wurde, wird "TypeGuessRows" der Wert des Registry-Schlüssels <code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel</code> verwendet, als Anzahl zu prüfender Zeilen. Der Standardwert hierfür ist 8.
 
 
 
Durch Festlegen eines Wertes zwischen 0 - 16 in diesem Registry-Schlüssel, kann das Verhalten ohne das Attribut MAXSCANROWS kontrolliert werden. Einstellen des Wertes Null führt dazu, dass alle Zeilen geprüft werden.</li>
 
<li>Die Verbindung zu passwortgeschützten Exceldateien wird nicht unterstützt.</li>
 
<li>Excel Datenblätter und Bereiche mit Namen können verbunden werden. <br />Datenblätter haben Dollarzeichen im Namen, Bereiche mit Namen nicht. <br />Es ist möglich innerhalb eines Datenblattes mehrere Bereiche mit Namen zu verbinden.
 
Bereiche mit Namen werden als Ganzes importiert (selbst wenn keine Daten enthalten sind). Das bedeutet, es ist möglich, leere Zeilen zu importieren. Um dies zu vermeiden, stellen Sie <code>FValid(ME.Code)</code> in der Filterformel für externen Import ein.</li>
 
<li>Die SQL-Befehle <code>COMMIT</code> und <code>ROLLBACK</code> werden nicht unterstützt.</li></ul>
 
  
 
<hr>
 
<hr>
 
<div align="right">Hilfe Nummer: 757700</div>
 
<div align="right">Hilfe Nummer: 757700</div>

Version vom 17. Juli 2017, 20:54 Uhr

Hilfe Nummer: 757700
Übersicht Datenimport und -export

Arbeitsschritte

Die Verwendung der Option OLE-DB für Datenimport- und -exporteinstellungen ermöglicht einen Datenaustausch mit Excel.

Datenquelle

Setzen Sie in den Schnittstelleneinstellungen für das Schnittstellenobjekt"OLE DB" als [Datenquelle].

Provider

Im Dialogfenster, das über [Verzeichnis/Datenbank] geöffnet wird, wählen Sie als Provider "Microsoft Office xx.0 Access Database Engine OLE DB Provider" aus und klicken dann auf [Weiter >>].
Dbio-excel01.jpg

Dateipfad

Datenquelle geben Sie nun den Pfad und Dateinamen der Excel-Datei ein, zu der Sie eine Verbindung herstellen wollen.
Dbio-excel02.jpg

Erweiterte Eigenschaften

Beim Reiter [Alle] legen Sie nun die Version der Excel-Datei im Feld [Extended Properties] fest.

Dbio-excel03.jpg
Version der
Excel-Datei
Excels interne
Versionsnummer
Einzugebender
Wert
Excel 2016 16 Excel 12.0
Excel 2013 15 Excel 12.0
Excel 2010 14 Excel 12.0
Excel 2007 12 Excel 12.0
Excel 2003 11 Excel 8.0
Excel 2002 10 Excel 8.0
Excel 2000 9 Excel 8.0
Excel 97 8 Excel 7.0
Excel 95 7 Excel 5.0

So wie die Excel-Version, können auch weiter Attribute im Feld [Extended Properties] eingegeben werden:
Wert Bedeutung
HDR Definiert ob die erste Zeile Spaltenköpfe oder Daten enthält
 Yes Die Daten der erste Reihe, die in Excels Tabellenblatt Werte enthält, werden als Spaltenköpfe interpretiert.
Leeren Zellen in dieser Zeile werden automatisch generierte Feldnamen "F1", "F2" etc. zugewiesen.
 Nein Feldnamen werden automatisch erstellt, beginnend mit "F1", "F2" etc.
MAXSCANROWS Bestimmt automatisch den Datentyp der Daten in Excel. Legen Sie die Anzahl der zu prüfenden Zeilen (von 1 - 16) fest. Im Standard werden die ersten acht Zeichen für die Bestimmung betrachtet. Nachdem alle Zeilen geprüft wurden, wird der jeweils häufigste Datentyp ausgewählt.
Ist MAXSCANROWS nicht definiert, wird [TypeGuessRows] des Registry-Schlüssels HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel verwendet um die Anzahl zu prüfender Zeilen zu bestimmen, Standardwert hier ist 8. Wird 0 eingegeben, so werden alle Zeilen überprüft.

Für eine Excel 2016 Datei mit Spaltenköpfen würde der folgende String als Wert für [Extended Properties] genutzt:
Excel 12.0;HDR=Yes

Excel07.png

Externe Tabelle

Wurden diese Einstellungen vorgenommen und eine Verbindung zu Excel hergestellt, so kann das zu verwendende Tabellenblatt auf die herkömmliche Weise in der Eigenschaft [Externer Tabellenname] des DBIO-Objekts ausgewählt werden. Neben Tabellenblättern können auch benannte Zellbereiche als externe tabelle dienen. Tabellenblattnamen enthalten ein Dollarzeichen am Ende des Namens (z.B. "Tabelle1$"), Zellbereiche nicht.
Innerhalb eines Tabellenblatts können vErbindungen zu mehreren benannten Zellbereichen hergestellt werden. Zellbereiche werden komplett importiert (selbst wenn keine Daten enthalten sind). Es kann also sein, dass leere Zeilen importiert werden. Um dies zu vermeiden, kann FValid(ME.Code) als [Externe Importfilterformel] gesetzt werden.

Weitere Einstellungen

Die weiteren Einstellungen([Field-Mapping] etc.) entsprechen denen anderer OLE DB-Verbindungen.

Spaltenköpfe

Abhängig von [Extended Properties] können in Excel-Dateien Spaltenköpfe verwendet werden.

Mit Spaltenköpfen

HDR=Yes - In der Excel-Datei werden Spaltenköpfe erwartet, die erste Zeile mit Daten wird als Spaltenköpfe interpretiert.

Excel-Datei [Field-Mapping]
Excel01.png Excel02.png
1. Leere Zeilen werden übersprungen
2. Diese Zeile wird für die Spaltenköpfe genutzt

Leeren Zellen in der Spaltenkopfzeile werden die automatisch generierte Feldnamen "F1", "F2" etc. zugewiesen.

Excel-Datei [Field-Mapping]
Excel03.png Excel04.png
Feldname für leere Zelle wird automatisch gesetzt

Ohne Spaltenköpfe

HDR=No- In der Excel-Datei werden keine Spaltenköpfe erwartet. Die erste Spalte mit Daten darin wird als erstes Datenfeld interpretiert, weiter bis zur letzten Spalte mit darin enthaltenen Daten. Feldnamen werden automatisch erstellt, beginnend mit "F1", "F2", etc.

Excel-Datei [Field-Mapping]
Excel06.png
Da keine Spaltenköpfe erwartet werden, werden Feldnamen automatisch erstellt.

Einschränkungen

  • Da die SQL-Befehle DELETE (Datensatz löschen) und DROP (Tabelle löschen) nicht unterstützt werden, wird der Wert der Eigenschaft [Tabelle vor Export leeren] ignoriert.
  • Die SQL-Befehle COMMIT und ROLLBACK werden nicht unterstützt.
  • Während eines Exports, bei dem Daten hinzugefügt werden, werden die neuen Daten immer ans Ende der bereits bestehenden Daten gesetzt. Es ist möglich, dass Fehler auftreten, wenn durch die hinzugefügten Zeilen die maximale Anzahl Zeilen in Excel überschritten wird.
    Version der
    Excel-Datei
    Maximale Zeilenanzahl Maximale Spaltenanzahl
    Excel 2007 und neuer 1.048.576 16.384
    Excel 97-2003 65.535 256
    Excel 95 und älter 16.384 256

Hilfe Nummer: 757700