# SQL-Query in Excel



## remy (31. Mrz 2011)

Hi,

in einer Excel-Datei lese ich per SQL (ADO) Werte aus einer anderen Excel-Datei aus. Klappt auch alles ganz gut, aber wenn die Spalten nicht richtig benannt sind, hab ich ein Problem.

Bsp: select Person from [Tabelle$] where [Nr -] = " & persoNr

Dabei sucht Excel anscheinend in der ersten Zeile nach den Spaltennamen wie Person und "Nr -". Nun habe ich aber eine andere Tabelle, in der man zwei Zeilen für die Überschriften benutzt und das Feld der gewünschten Spalten nun einfach leer sind. Ich habe keinerlei Einfluss auf die entfernte Tabelle.
Wie kann ich nun den Query so umschreiben, dass ich z.B. statt Spaltennamen die übliche Bezeichnung wie eben "E" nehme? Ich stelle mir das so ungefähr vor:

select Spalte(E) from [Tabelle$] where Spalte(G) = " & persoNr

Nur leider kennt er "Spalte()" nicht 

Freue mich über eure Vorschläge!


----------



## Gast2 (31. Mrz 2011)

Vielleicht hilft dir das hier weiter:


			
				http://support.microsoft.com/kb/257819/de hat gesagt.:
			
		

> Weitere Verbindungseinstellungen des ODBC-Anbieters
> 
> Spaltenüberschriften: Es wird standardmäßig davon ausgegangen, dass die erste Zeile Ihrer Excel-Datenquelle Spaltenüberschriften enthält, die als Feldnamen verwendet werden können. Wenn dies nicht der Fall ist, müssen Sie diese Einstellung deaktivieren, ansonsten "verschwinden" die Einträge in der erste Datenzeile und werden als Feldnamen verwendet. Fügen Sie hierzu die optionale Einstellung FirstRowHasNames= zur Verbindungszeichenfolge hinzu. Standardmäßig lautet die Einstellung FirstRowHasNames=1; hierbei ist 1 = Wahr, und muss nicht festgelegt werden. Wenn Ihre Spalten keine Spaltenüberschriften haben, müssen Sie FirstRowHasNames=0 festlegen; hierbei ist 0 = Falsch. Der Treiber benennt Ihre Felder F1, F2, usw. Diese Option ist im Dialogfeld für die DSN-Konfiguration nicht verfügbar.
> 
> ...



Verwenden von ADO mit Excel-Daten von Visual Basic oder VBA


----------



## remy (31. Mrz 2011)

Danke dir, werde morgen mal mit dieser Einstellung experimentieren


----------

