Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
680to684
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
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SQL-Query verwenden ...

SQL-Query verwenden ...
14.10.2005 01:40:29
Norbert
Hallo,
von einer UserForm aus, soll in dem dazugehoerigen Tabellenblatt ein SQL-Query ausgefuehrt werden. Wie man auf die Nordwind.mdb zugreift wird allerortens in der Hilfe erklaert, aber wie greift man auf das eigene Dokument zu?
Muss ich da auch ein Connections-Object erstellen oder geht das irgendwie anders.
Hoffe auf zielfuehrende Hinweise ...
Ein simples Beispiel waere noch besser ... :-)
m. b. G. Norbert
_____________________
e.o.m.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SQL-Query verwenden ...
14.10.2005 08:50:33
Rolf
Hallo Norbert,
hier mal ein simples Beispiel
fG
Rolf
Option Explicit
Option Base 1

Sub Pivot_via_Query_demo()
Dim NewSheet As Worksheet
Dim con$, sql$, A
Const qfpath$ = "C:\Quellpfad\"
Const qf$ = "Quellfile"
A = Array("Datum", "Produkt", "Region", "Umsatz") 'Liststruktur
con = "ODBC;DSN=Excel-Dateien;DBQ=" & qfpath & qf & ".xls" _
& ";DefaultDir=" & Left(qfpath, Len(qfpath) - 1)
sql = "SELECT * FROM `" & qfpath & qf & "`.Umsatz Umsatz" '"Umsatz" = benannter Bereich in Quellfile
Set NewSheet = Sheets.Add
With NewSheet
.PivotTableWizard SourceType:=xlExternal, SourceData:=parti(sql), _
TableDestination:="R1C1", TableName:="PT", Connection:=con
With .PivotTables("PT").PivotFields(A(4))
.Orientation = xlDataField
.NumberFormat = "#,###"
End With
End With
End Sub

'Sqlstring partitionieren

Function parti(ql As String) As Variant
Dim p%, i%                              'Anzahl Partitionen,Schleifenindex
p = Int(Len(ql) / 200) + 1
ReDim x(p)                              'Datenfeld zur Aufnahme der Partitionen
If p > 1 Then                           'Sql-Text >=200
For i = 1 To p - 1                  'Partitionsschleife
x(i) = Mid$(ql, (i - 1) * 200 + 1, 200)
Next
End If
x(p) = Right$(ql, Len(ql) - (p - 1) * 200) 'erste bzw letzte Partition
parti = x
End Function

Anzeige
AW: SQL-Query verwenden ...
14.10.2005 13:50:34
Norbert
Hallo Rolf,
das scheitert schon an der Einrichtung der DNS.
Die Aussendienstler bekommen ein Excelfile mit eineindeutigem Namen per Mail und haben keine Adminrechte auf ihrem LapTop. Ausserdem sollte es IMHO doch moeglich sein, innerhalb des Dokumentes sowas abzuhandeln, oder nicht ?
Also wenn Du oder jemand anderes etwas findet, wo man nicht erst den PC "einrichten" muss, waere ich sehr daran interessiert. Das naechste Problem lauert bestimmt schon irgendwo.
PS:
Findest Du das wirklich simpel ... ?
Habe zwischenzeitlich eine Loesung mit VBA geschrieben, also wo die Prozedur alle Records durchwandert und den Check durchfuehrt. Das sind auch nur 50 Zeilen geworden.
m. b. G. Norbert
_____________________
e.o.m.
Anzeige
AW: SQL-Query verwenden ...
14.10.2005 14:50:39
Rolf
Hallo Norbert,
ich habe versucht, deine Frage, wie man mittels Query auf eine
Excel-Datei zugreift, zu beantworten.
Wenn das in der von dir geschilderten Umgebung keinen Sinn macht,
musst du halt mit deiner handgestrickten Lösung leben.
fG
Rolf
AW: SQL-Query verwenden ...
14.10.2005 16:06:50
Norbert
Hallo Rolf,
es tut mir ja auch leid, dass es offensichtlich keine passende Loesung gibt. Du kannst da auch nix dafuer, allenfalls irgendwelche Leute aus irgendwelchen ehemaligen Garagen ... ;-)
PS:
Aber irgendwie komisch finde ich es schon, wenn man sich z.B. ueber den Fuellstand seines Benzintankes im Auto fremde Servicedienste bemuehen muss. Wobei ja nicht mal sichergestellt ist, ob die in jedem Dorf(PC) auch immer verfuegbar sind. Auch bemerke ich soeben, dass der Vergleich nicht mal so doll hinkt, wie man auf den ersten Blick annehmen koennte.
m. b. G. Norbert
_____________________
e.o.m.
Anzeige
AW: SQL-Query verwenden ...
14.10.2005 17:43:15
Rolf
Hallo Norbert,
um im Bild zu bleiben:
normalerweise schaust du auf die Tankanzeige -
in Excel also auf die Auswertungsbordmittel
Filter, Teilergebnisse, Pivottabellen, womit
ich z.B. 80 bis 90 % aller diesbezüglichen Probleme löse.
hG + schönes Wochenende
Rolf

AW: SQL-Query verwenden ...
14.10.2005 18:13:40
Norbert
Hi Rolf,
wer hat denn dieses Forum programmiert ... grrr ...
Jetzt ist mir zum drittenmal ein Beitrag von der Vorschau zum Editieren verloren gegangen. Statt der Seite zum korrigieren wird die Forumsliste geladen ... :-(((
m. b. G. Norbert
_____________________
e.o.m.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige