Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ADO / Query Überschrift

ADO / Query Überschrift
31.01.2023 09:30:59
Christian
Guten Morgen,
ich habe noch ein Problem mit ADO und Query..., gestern wurde mir ja bereits super geholfen. Jedoch habe ich mit einer Überschrift einer intelligenten Tabelle ein Problem,
bei der zu importierenden Tabelle ist eine Überschrift 'Gesamtwert exkl. Metall' (Basis) mit Apostrophen und Klammern versehen, trotz dessen das ich diese
in die eckige Klammer setzte kommt ein Fehler... wenn ich diese Spalte weg lasse funktioniert es.
Kann mir jemand einen Tipp geben.
Vielen Dank
Christian
Query = "SELECT [Firmen-VBD], [Handelsspanne (EU1)], [Gültig bis],['Gesamtwert exkl. Metall' (Basis)] FROM [Tabelle1$]"

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ADO / Query Überschrift
31.01.2023 11:31:24
Yal
Hallo Christian,
zwecks ADO werden manchmal einige Überschriften von Excel ungestaltet.
Am besten holst Du dir alle Bezeichnungen. Normalerweise können diese unverändert zwischen eckige Klammer verwendet.
Sub ADO()
'Unter Anbindung von "Microsoff ActiveX DataObjects 6.1" ("Extras", "Verweise..," ..)
Dim Connection As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim F
' Connection herstellen
    Connection.Open "Provider=MSDASQL.1;DSN=Excel Files;DBQ=C:\Tagesangebot\CRM_DATEN.xlsx;HDR=Yes';"
' Query definieren und ausführen
    rs.Open "SELECT * FROM [Tabelle1$]", Connection
' Felderbezeichnung heraugeben
    For Each F In rs.Fields
        Debug.Print F.Name
    Next
    rs.Close
' Connection schließen
    Connection.Close
End Sub
Wenn diese 'Tabelle1$' tatsächlich das Ergebnis einer Power Query Abfrage ist, könnte man vielleicht die PQ-Abfrage so ändern, dass es die problematischen Spalteüberschriften anders benennt. Und wenn, warum eine PQ in einer anderen Datei dazwischen? Warum nicht direkt auf der Quelle dieser Tabelle1$ ?
VG
Yal
Anzeige
AW: ADO / Query Überschrift
31.01.2023 13:00:20
ChrisL
Hi
Query = "SELECT ""Firmen-VBD"", ""Handelsspanne (EU1)"", ""Gültig bis"", ""Gesamtwert exkl# Metall' (Basis)"" FROM [Tabelle1$]"
Auf die Lösung haben mich diese Zeilen gebracht:
For i = 0 To rs.Fields.Count - 1
    Debug.Print rs.Fields(i).Name
Next i
Ziemlich unvorhersehbar. Punkt wird zu # und das erste Apostroph wird "verschluckt". Eine *-Abfrage wäre vielleicht doch zuverlässiger. Oder noch besser, die Spalten werden für SQL umbenannt.
cu
Chris
AW: ADO / Query Überschrift
31.01.2023 13:06:49
Luschi
Hallo Christian,
bei den Feldnamen (In Excel Spaltenüberschriften) im Zusammenhang mit AdoDB/DAO halte ich mich an die Regeln:
- nur Buchstaben und Ziffern sowie der Unterstrich
- keine Leer- und Sonderzeichen
- das einfache Hochkomma spielt in SQL eine besondere Rolle bei Textvergleichen
  sql = "Select * From blablabla Where AliasName = 'Luschi';"
In Deinem Fall wird das 1. führende ' von Excel verschluckt, da dieses Zeichen früher, aber auch heute noch als Erkennungstyp des Zellinhaltes als Textkette verwendet wird und
n i c h t zum Inhalt der Zelle zählt.
AdoDB meckert, weil das '-Zeichen dann nicht paarig auftritt.
Es ist besser, Du hältst Dich an die Spielregeln der Datenbank-Verwaltung und verzichtest auf mögliche Umschiffung mit Kniffen, die nicht ganz koscher sind.
Gruß von Luschi
aus klein-Paris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige