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

Datenbankabfrage aus Excel

Datenbankabfrage aus Excel
11.05.2006 09:53:36
Hubert Z.
Hallo liebe Forumsmitglieder,
seit zwei Tagen suche ich nach einer Lösung für mein Problem und google mich noch verrückt. Ich hoffe hier kann mir jemand helfen.
In Access liegt eine Abfrage vor. Die Ausgabe von Datensätzen lässt sich mit einem Parameter einschränken (also z.B. nur Datensätze mit einem Timestamp TS=20060424). Starte ich diese Abfrage in Access fragt ein Dialog nach TS und alle Datensätze werden korrekt angezeigt. Alles bestens.
Ich möchte jetzt diese Abfrage aus Excel starten, den Parameter von Excel aus übergeben und den Recordset in Excel auswerten/weiterbearbeiten. Derzeitiger Code ist:
Public

Sub testabfrage()
Dim rs As ADODB.Recordset, cmd As ADODB.Command, P As ADODB.Parameter
Dim zaehler As Long, wert As Long
Set cmd = New ADODB.Command
With cmd
.CommandText = "BezeichnungderAccessAbfrage"
.CommandType = adCmdStoredProc
.ActiveConnection = db
End With
wert = 20060424
Set P = cmd.CreateParameter("TS", adInteger, adParamInput, 4, wert)
cmd.Parameters.Append P
Set rs = cmd.Execute
Do While Not rs.EOF = True And rs.BOF = True
zaehler = zaehler + 1
rs.MoveNext
Loop
rs.Close
MsgBox zaehler & " Einträge gefunden"
End Sub

Wichtig:
- Die Message-Box zeigt an, dass keine Werte gefunden wurden.
- wert ist hier im Makro wie auch in der Access-Tabelle als long deklariert.
- db (adodb.connection) ist zum Zeitpunkt des Makrolaufs offen.
- Fehlermeldung bekomme ich keine (ich nehme an, dass die Syntax also prinzipiell richtig ist aber ein logischer Fehler vorliegt).
Vielen Dank für Eure Hilfe im voraus.
HZ

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenbankabfrage aus Excel
11.05.2006 10:04:05
EtoPHG
Hallo Hubert,
Ist denn die Variable 'db' als Public definiert ?
Falls nicht könnte das der Wurm sein.
Gruss Hansueli
AW: Datenbankabfrage aus Excel
11.05.2006 10:09:45
Hubert Z.
Hallo Hansueli,
das ganze läuft im größeren Rahmen in einem Klassenmodul ab. db ist darin private deklariert. Ich habe es aber mal public gemacht und es liefert das gleiche ergebnis. alle anderen datenbankspezifischen Operationen innerhalb dieses Klassenmoduls funktionieren auch einwandfrei. Was ich damit sagen will ist, dass db eigentlich funktionieren müsste.
Hast du noch eine Idee. Ich habe auch schon 420-seitige Access-Bücher gelesen. Kein Hinweis. Verzweiflung pur!!
Anzeige
AW: Datenbankabfrage aus Excel
11.05.2006 10:09:56
Hubert Z.
Hallo Hansueli,
das ganze läuft im größeren Rahmen in einem Klassenmodul ab. db ist darin private deklariert. Ich habe es aber mal public gemacht und es liefert das gleiche ergebnis. alle anderen datenbankspezifischen Operationen innerhalb dieses Klassenmoduls funktionieren auch einwandfrei. Was ich damit sagen will ist, dass db eigentlich funktionieren müsste.
Hast du noch eine Idee. Ich habe auch schon 420-seitige Access-Bücher gelesen. Kein Hinweis. Verzweiflung pur!!
AW: Datenbankabfrage aus Excel
11.05.2006 10:10:35
Hubert Z.
Hallo Hansueli,
das ganze läuft im größeren Rahmen in einem Klassenmodul ab. db ist darin private deklariert. Ich habe es aber mal public gemacht und es liefert das gleiche ergebnis. Alle anderen datenbankspezifischen Operationen innerhalb dieses Klassenmoduls funktionieren auch einwandfrei. Was ich damit sagen will ist, dass db eigentlich funktionieren müsste.
Hast du noch eine Idee. Ich habe auch schon 420-seitige Access-Bücher gelesen. Kein Hinweis. Verzweiflung pur!!
Anzeige
AW: Datenbankabfrage aus Excel
11.05.2006 10:10:38
Hubert Z.
Hallo Hansueli,
das ganze läuft im größeren Rahmen in einem Klassenmodul ab. db ist darin private deklariert. Ich habe es aber mal public gemacht und es liefert das gleiche ergebnis. Alle anderen datenbankspezifischen Operationen innerhalb dieses Klassenmoduls funktionieren auch einwandfrei. Was ich damit sagen will ist, dass db eigentlich funktionieren müsste.
Hast du noch eine Idee. Ich habe auch schon 420-seitige Access-Bücher gelesen. Kein Hinweis. Verzweiflung pur!!
AW: Datenbankabfrage aus Excel
11.05.2006 10:11:15
Hubert Z.
Hallo Hansueli,
das ganze läuft im größeren Rahmen in einem Klassenmodul ab. db ist darin private deklariert. Ich habe es aber mal public gemacht und es liefert das gleiche ergebnis. Alle anderen datenbankspezifischen Operationen innerhalb dieses Klassenmoduls funktionieren auch einwandfrei. Was ich damit sagen will ist, dass db eigentlich funktionieren müsste.
Hast du noch eine Idee. Ich habe auch schon 420-seitige Access-Bücher gelesen. Kein Hinweis. Verzweiflung pur!!
Anzeige
AW: Datenbankabfrage aus Excel
11.05.2006 10:12:03
Hubert Z.
Hallo Hansueli,
das ganze läuft im größeren Rahmen in einem Klassenmodul ab. db ist darin private deklariert. Ich habe es aber mal public gemacht und es liefert das gleiche Ergebnis. Alle anderen datenbankspezifischen Operationen innerhalb dieses Klassenmoduls funktionieren auch einwandfrei. Was ich damit sagen will ist, dass db eigentlich funktionieren müsste.
Hast du noch eine Idee. Ich habe auch schon 420-seitige Access-Bücher gelesen. Kein Hinweis. Verzweiflung pur!!
AW: Datenbankabfrage aus Excel
11.05.2006 10:12:05
Hubert Z.
Hallo Hansueli,
das ganze läuft im größeren Rahmen in einem Klassenmodul ab. db ist darin private deklariert. Ich habe es aber mal public gemacht und es liefert das gleiche Ergebnis. Alle anderen datenbankspezifischen Operationen innerhalb dieses Klassenmoduls funktionieren auch einwandfrei. Was ich damit sagen will ist, dass db eigentlich funktionieren müsste.
Hast du noch eine Idee. Ich habe auch schon 420-seitige Access-Bücher gelesen. Kein Hinweis. Verzweiflung pur!!
Anzeige
AW: Datenbankabfrage aus Excel
11.05.2006 10:12:06
Hubert Z.
Hallo Hansueli,
das ganze läuft im größeren Rahmen in einem Klassenmodul ab. db ist darin private deklariert. Ich habe es aber mal public gemacht und es liefert das gleiche Ergebnis. Alle anderen datenbankspezifischen Operationen innerhalb dieses Klassenmoduls funktionieren auch einwandfrei. Was ich damit sagen will ist, dass db eigentlich funktionieren müsste.
Hast du noch eine Idee. Ich habe auch schon 420-seitige Access-Bücher gelesen. Kein Hinweis. Verzweiflung pur!!
AW: Datenbankabfrage aus Excel
11.05.2006 10:12:06
Hubert Z.
Hallo Hansueli,
das ganze läuft im größeren Rahmen in einem Klassenmodul ab. db ist darin private deklariert. Ich habe es aber mal public gemacht und es liefert das gleiche Ergebnis. Alle anderen datenbankspezifischen Operationen innerhalb dieses Klassenmoduls funktionieren auch einwandfrei. Was ich damit sagen will ist, dass db eigentlich funktionieren müsste.
Hast du noch eine Idee. Ich habe auch schon 420-seitige Access-Bücher gelesen. Kein Hinweis. Verzweiflung pur!!
Anzeige
AW: Datenbankabfrage aus Excel
11.05.2006 10:12:07
Hubert Z.
Hallo Hansueli,
das ganze läuft im größeren Rahmen in einem Klassenmodul ab. db ist darin private deklariert. Ich habe es aber mal public gemacht und es liefert das gleiche Ergebnis. Alle anderen datenbankspezifischen Operationen innerhalb dieses Klassenmoduls funktionieren auch einwandfrei. Was ich damit sagen will ist, dass db eigentlich funktionieren müsste.
Hast du noch eine Idee. Ich habe auch schon 420-seitige Access-Bücher gelesen. Kein Hinweis. Verzweiflung pur!!
AW: Datenbankabfrage aus Excel
11.05.2006 10:12:07
Hubert Z.
Hallo Hansueli,
das ganze läuft im größeren Rahmen in einem Klassenmodul ab. db ist darin private deklariert. Ich habe es aber mal public gemacht und es liefert das gleiche Ergebnis. Alle anderen datenbankspezifischen Operationen innerhalb dieses Klassenmoduls funktionieren auch einwandfrei. Was ich damit sagen will ist, dass db eigentlich funktionieren müsste.
Hast du noch eine Idee. Ich habe auch schon 420-seitige Access-Bücher gelesen. Kein Hinweis. Verzweiflung pur!!
Anzeige
AW: Datenbankabfrage aus Excel
11.05.2006 10:36:02
EtoPHG
Hallo Hubert,
Versuch's mal mit
Set P = cmd.CreateParameter("TS", adInteger, adParamInput, , wert)
d.h. den Size-Parameter weglassen (ist eigentlich nur bei Text nötig)
Gruss Hansueli
AW: Datenbankabfrage aus Excel
11.05.2006 10:42:57
Hubert Z.
Hallo Hansueli,
immernoch das gleiche. Hast du noch eine Idee?
PS: Sorry für die 10 Beiträge. Der Browser hat immer gesagt ich müsse den Beitrag überprüfen. Beim Klicken kam aber keine Bestätigung, dass dieser schon eingestellt wurde.
AW: Datenbankabfrage aus Excel
11.05.2006 11:26:28
EtoPHG
Hallo Hubert,
Mein letzter Versuch:

Sub testabfrage()
Dim rs As ADODB.Recordset, cmd As ADODB.Command, P As ADODB.Parameter
Dim zaehler As Long, wert As Long
Set cmd = New ADODB.Command
wert = 20060424
With cmd
.CommandText = "BezeichnungderAccessAbfrage"
.CommandType = adCmdStoredProc
.ActiveConnection = db
.Parameters.Append .CreateParameter("TS", adInteger, adParamInput, 4, wert)
Set rs = .Execute
End With
Do While Not rs.EOF
zaehler = zaehler + 1
rs.MoveNext
Loop
rs.Close
MsgBox zaehler & " Einträge gefunden"
End Sub

Gruss Hansueli
Anzeige
AW: Datenbankabfrage aus Excel
11.05.2006 11:51:33
Hubert Z.
Hallo Hansueli
das gleiche Ergebnis. Ich weiß, es war dein letzter Versuch aber ich komme auch nicht mehr weiter und brauche einen "Fresh-eye" Ansatz. Vielleicht noch ein einziger Versuch?
Wenn nicht dann trotzdem danke für deine Mühe bisher
HZ
AW: Datenbankabfrage aus Excel
11.05.2006 13:31:34
EtoPHG
Hallo Hubert,
Ich geb's auf. Habe noch einige Versuche angestellt und bei mir klappt's reibungslos.
Einziger Unterschied: Ich liess mein Code in einem normalen Modul laufen.
Vielleicht kannst'e ja mal den Versuch noch unternehmen.
Ich bin mit meinem Latein zu Ende.
Gruss Hansueli
AW: Datenbankabfrage aus Excel
11.05.2006 16:00:12
Hubert Z.
Trotzdem danke für deine Hilfe.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige