Fehler: Excel ODBC-Treiber ignoriert die FirstRowHasNames oder Header festlegen

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 288343
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Problembeschreibung
Wenn Sie den ODBC Microsoft Excel öffnen Database Connectivity (-) Treiber, verwenden um ein Excel-Arbeitsblatt als ODBC-Datenquelle herstellen, der Treiber standardmäßig davon ausgegangen, dass die erste Zeile von Arbeitsblattdaten Spaltenheader (Feldnamen) enthält. Gemäß der Treiberdokumentation zu kann optional FirstRowHasNames -Verbindungseinstellung verwendet werden, um dieses Standardverhalten ändern, mit 0 für False und 1 für True. Jedoch tatsächlich der Treiber ignoriert diese Einstellung und die erste Datenzeile wird immer als Spaltenüberschriften behandelt. Wenn die erste Zeile der Daten keine Spaltenüberschriften oder andere Einträge enthält, ist das effektive Ergebnis, dass die erste Datenzeile "ausgeblendet."
Ursache
Der Wert des FirstRowHasNames oder Header (HDR) Parameter ist nie an der Excel-ODBC-Treiber übergeben.
Lösung
Die HDR = Einstellung ist verfügbar und funktionsfähig, wenn Sie die Microsoft Jet-OLE DB-Provider und der Excel-ISAM-Treiber verwenden. Daher ist die beste Lösung der Jet-Provider anstelle der Excel-ODBC-Treiber verwenden.

Da der Excel-ODBC-Treiber immer vorausgesetzt, dass die erste Zeile Feldnamen enthält, muss die erste Zeile entweder gültigen Feldnamen oder dummy Einträge, die der Entwickler bereit, zu ignorieren ist immer enthalten.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel Microsoft-Produkten handelt.
Weitere Informationen

Schritte zum Reproduzieren des Verhaltens

  1. Erstellen Sie eine neue Excel-Arbeitsmappe und speichern Sie es mit dem Standardnamen in den Ordner, in dem Sie Visual Basic-Testprojekt erstellen.
  2. Füllen Sie in Zelle A1 ein paar Zellen in der ersten Spalte mit zufälligen Daten.
  3. Erstellen Sie ein neues Visual Basic-Projekt und legen Sie einen Verweis ActiveX Data Objects (ADO).
  4. Eingeben und Ausführen des folgenden Codes:
    Private Sub Form_Load()  Dim cn As ADODB.Connection  Dim rs As ADODB.Recordset  Set cn = New ADODB.Connection  With cn    .Provider = "MSDASQL"    .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & App.Path & "\Book1.xls;FirstRowHasNames=0;"    .Open  End With  Set rs = New ADODB.Recordset  With rs    Set .ActiveConnection = cn    .Source = "[Sheet1$]"    .Open  End With  Debug.Print rs.Fields(0).Value  Debug.Print rs.Fields(0).Name  rs.Close  cn.CloseEnd Sub					
Normalerweise würden Sie erwarten, um finden Sie in den Excel-Treiber die Spalte von Daten der Standardfeldname "F1" zuweisen und die Daten beginnend mit dem ersten Datensatz anzuzeigen, die Sie in Zelle A1 eingegeben haben. Beachten Sie, die jedoch in das Testfenster der Wert, der Eingabe in Zelle, die a2 als der Wert des ersten Datensatzes trotz des ihr Vorhandensein FirstRowHasNames auf false festgelegt gedruckt. "Der Wert in Zelle A1 verschwunden" den Feldnamen für die Spalte zu.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 288343 – Letzte Überarbeitung: 12/06/2015 00:26:48 – Revision: 3.2

Microsoft Data Access Components 2.1, Microsoft Data Access Components 2.1 Service Pack 2, Microsoft Data Access Components 2.1 Service Pack 1, Microsoft Data Access Components 2.1 Service Pack 2, Microsoft Data Access Components 2.5 Service Pack 1, Microsoft Data Access Components 2.5

  • kbnosurvey kbarchive kbmt kbbug kbmdacnosweep kbpending KB288343 KbMtde
Feedback