Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.03.2024 14:58:14
19.03.2024 13:26:50
Anzeige
Archiv - Navigation
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SQL- Anweisung

SQL- Anweisung
28.04.2006 21:12:20
Jürgen
Hallo zusammen,
kann mir einer von Euch vielleicht einen Tipp geben wie ich es schaffe verschiedene Bereiche in einer SQL - Anweisung unterzubringen.
dbSheet wäre immer gleich, möchte nur bei dbRange verschiedene Bereiche gleichzeitig auswählen.
xSQL = "SELECT * FROM [" & dbSheet$ & "$" & dbRange$ & "];"
Gruss
Jürgen

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

Betreff
Datum
Anwender
Anzeige
AW: nähere Erkläung vielleicht ?
29.04.2006 01:06:33
Solaiman
Hallo Jürgen,
kannst du vielleicht deine Frage etwas detailliert stellen?
Wie soll die Abfrage am Ende aussehen? SELECT * FROM Tabelle ....?
Was ist dbSheet, dbRange?
Gruß
Solaiman
AW: nähere Erkläung vielleicht ?
29.04.2006 07:17:24
Jürgen
Hallo Solaiman,
dbSheet= Angabe des Tabellenblatt, dbRange= Bereichsangabe

Sub importIt()
GetSheet "H:\Sicher\test.xls", "Ausw.-Monat 4", _
"A1:IV6500", Sheets("Tabelle2").Range("A1"), True ' True = Überschriften Mit-Ohne
End Sub

Public

Sub GetSheet(dbfile As Variant, dbSheet As String, _
dbRange As String, newRange As Range, hdRow As Boolean)
Dim rs As ADODB.Recordset, cnt$, xSQL$, i&
If Range(dbRange).Rows.Count = 1 Then
cnt = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & dbfile & ";" & _
"Extended Properties=""Excel 8.0;HDR=No"";"
Else
cnt = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & dbfile & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes"";"
End If
xSQL = "SELECT * FROM [" & dbSheet$ & "$" & dbRange$ & "];"
On Error GoTo Mistake
Set rs = New ADODB.Recordset
rs.Open xSQL, cnt, adOpenForwardOnly, _
adLockReadOnly, adCmdText
If Not rs.EOF Then
If Range(dbRange).Rows.Count = 1 Then
newRange.Cells(1, 1).CopyFromRecordset rs
Else
If hdRow Then
For i = 0 To rs.Fields.Count - 1
newRange.Cells(1, 1 + i).Value = _
rs.Fields(i).Name
Next i
newRange.Cells(2, 1).CopyFromRecordset rs
Else
newRange.Cells(1, 1).CopyFromRecordset rs
End If
End If
Else
MsgBox "No records returned from : " & dbfile, vbCritical
End If
rs.Close
Set rs = Nothing
Exit Sub
Mistake:
MsgBox "The file name, Sheet name or Range is invalid of : " & dbfile, _
vbExclamation, "Error"
On Error GoTo 0
End 

Sub
Gruss
Jürgen

Anzeige
AW: nähere Erkläung vielleicht ?
29.04.2006 13:33:31
Jürgen
Hallo Solaiman,
hier nochmal eine kleine Erläuterung, was ich eigentlich möchte.
Will anstatt nur den Bereich "A1:IV6500" diesen aufsplitten. Möchte z.B. den Bereich A1:IV5 und A39:IV43 und A52:IV141 zusammengefasst in einer Anweisung.
Gruß
Jürgen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige