Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
928to932
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
928to932
928to932
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit Kriterium bei Import

Problem mit Kriterium bei Import
26.11.2007 12:55:27
Sebastian
Hallo,
ich importiere abfragen von einer access datenbank in ein excel sheet. Das funktioniert auch ohne probleme bis jetzt. Nur bei einer Abfrage hab ich jetzt ein Problem. Dort habe ich als Kriterium bei einem feld Wie "ab51*" stehen. in access selbst führt der die abfrage mit dem kriterium auch aus. Nur in excel nicht. da hat der dann anscheinen keine daten im recordset stehen.
Hier mein code:

Private Sub CommandButton_Qry_Click()
If ListBox_Query.Text = "" Then
MsgBox Prompt:="No Query selected!", Buttons:=vbOKOnly + vbQuestion, title:="Information"
Else
'Verbindung
Set objConnection = New ADODB.Connection
Set objRecSet = New ADODB.Recordset
'Datenbank oeffnen
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFile + ";"
objRecSet.ActiveConnection = objConnection
objRecSet.ActiveConnection.CommandTimeout = 0
'Tabellenblatt leeren
Sheets("data").Range("A1:IV65536").Clear
'Daten nach Excel uebertragen
With objRecSet
.Open "[" & ListBox_Query.Text & "]", objConnection, adOpenStatic, adLockOptimistic
If .EOF = True Then 'falls keine Daten vorhanden
MsgBox Prompt:="No datasets found!", Buttons:=vbOKOnly + vbCritical, title:=" _
Information"
Unload AccImport
Worksheets("statistic").Activate
Exit Sub
Else    'falls Daten vorhanden
.MoveLast
Anz = .RecordCount    'Anzahl Datensaetze
.MoveFirst
End If
Worksheets("data").Activate
If Not .EOF Then
For i = 0 To .Fields.Count - 1
Cells(1, i + 1).Value = .Fields(i).Name
Next
Range("A2").CopyFromRecordset objRecSet
End If
End With
'Verbindung schließen
objRecSet.Close
objConnection.Close
'Cmd.ActiveConnection.Close
'Verweise freigeben
Set objRecSet = Nothing
Set objConnection = Nothing
'Set Cmd = Nothing
Worksheets("statistic").Activate
MsgBox Prompt:=Anz & " datasets transferred!", Buttons:=vbOKOnly + vbInformation, title:=" _
Information"
Worksheets("statistic").[B1] = ListBox_Query.Text
Unload AccImport
End If
Exit Sub
Unload AccImport
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Kriterium bei Import
26.11.2007 14:01:00
Luschi
Hallo Sebastian,
schreibe noch 1 Abfrage mit dieser Schreibweise: Wie "ab51%"
Dann liefert zwar Access keine Datensätze mehr aber ADODXB ist zufrieden damit.
ADODB ist für den Zugriff auf Datenbanken wie Oracle, MS-SQL-Server, Informix usw. gedacht und da gelten folgende Ersetzungszeichen gegenüber Access:
statt * --» %
statt ? --» _ (Unterstreich)
Wenn man bedenkt, das Access und MS-SQL-Server aus dem gleichen Hause kommt, könnte man schon stutzig werden.
Gruß von Luschi
aus klein-Paris
Solltest Du daran interessiert sein, die Filterbedingung für die Access-Abfrage in Excel zu definieren und dann diese an Access zu schicken, dann melde Dich nochmals.
Habe im letzten halben Jahr hier und bei Spotlight.de einige Beispiele zu diesem Thema veröffentlicht.

Anzeige
AW: Problem mit Kriterium bei Import
26.11.2007 14:15:05
Sebastian
Hallo Luschi,
ok danke das geht.
Wäre nett wenn du mir sagen könntest wie das geht die Filterbedingung in Excel zu definieren.
mfg
Sebastian

AW: Problem mit Kriterium bei Import
26.11.2007 14:46:04
Luschi
Hallo Sebastian,
hier mal 1 Beispiel, wie man eine einzelne Person anhand der Personal-Nr. aus der Access-Datenbank ausliest oder durch die Angabe 'alle' eben alle vorhandenen Personen in Excel auflistet.
Im Vba-Code der Exceldatei sind ein paar kurze Kommentare, die das Vorgehen beschreiben sollen.
Dabei spielt die Zugriffsmethode ADOX eine wesentliche Rolle. Damit kann man Objekte in Access manipulieren; also auch den SQL-Text von Access-Abfragen verändern. Der neue SQL-Text wird in Excel anhand der Eingabewerte als Textvariable an Access übergeben und dann die Manipulation vollzogen.
Wenn etwas nicht klar ist, dann einfach fragen. Sollten Datumsangaben in Deinem Fall bedeutsam sein, dann sind dabei Besonderheiten zu beachten. Mehr dann später, falls sowas wichtig ist.
https://www.herber.de/bbs/user/48063.zip
Gruß von Luschi
aus klein-Paris
PS:Promis zeigen ihre Wohnung, ich nur meinen Vba-Code!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige