Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Abfragen per VBA erstellen und Ergebnisse an Excel
zurück: Eine Aktion exakt einmal im Monat ausführen weiter: Aufruf einer Funktion wenn Button geclickt wird Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Kai_Syke
Einsteiger


Verfasst am:
26. Jan 2006, 15:20
Rufname:
Wohnort: Syke

Abfragen per VBA erstellen und Ergebnisse an Excel - Abfragen per VBA erstellen und Ergebnisse an Excel

Nach oben
       

Kai_Syke am 26. Jan 2006 um 09:46 hat folgendes geschrieben:
Hallo Forum,

ich habe schon viel gesucht, aber nichts gefunden was mir weiterhilft.

Also mein Problem:
Ich möchte per VBA eine (oder mehrere) Abfrage(n) formulieren und die Ergebnisse dann an Excel übergeben. Schön wäre es wenn das Datum in der Abfrage per Variable geändert werden könnte, da ich mehrere Zeiträume auswerten muß.
Die Ergebnisse der einzelnen Zeiträume sollten dann in der Excel Tabelle in vordefinierten Zellen stehen.

Ich probiere jetzt schon lange rum und bekomme es nicht zum laufen. Vielleicht hat jemand von euch ein einfaches Beispiel für mich?

Ich wäre für jeden Lösungsschnipsel dankbar.

Viele Grüße und vielen Dank schon mal,

Kai

Hallo nochmal,

habe nochmals viele Möglichkeiten probiert und habe auch Daten in meine Excel-Tabelle bekommen. Dies waren aber nur Dummy-Werte.
Jetzt habe ich meine "richtige" SQL-Abfrage eingebaut und die funktioniert leider nicht... Crying or Very sad Hat jemand eine Idee was ich falsch mache?

Es kommt ein Syntaxfehler mit dem markierten SQL-Code im bereich "BETWEEN" Laufzeitfehler 3075
Code:
Private Sub Befehl10_Click()
    Dim varDate As Date
    Dim zeitr As String
    Dim Datum1 As Variant
    Dim Datum2 As Variant
    Dim sql As String
    Dim ftok As Recordset
    Dim DB As Database
    Dim objname As String
    Dim excexp As Object
   
    varDate = Date
    zeitr = "W"
    Datum1 = CalcDate(varDate, -15, -1, zeitr)
    Datum2 = CalcDate(varDate, -10, 0, zeitr)
    sql = "SELECT abfIntStückzahl.Datum, " & _
                 "abfIntStückzahl!gesamt-" & _
                     "Nz(abfIntFehlerEOL!SummevonAnzahl) AS FirstTimeOK, " & _
                 "abfIntStückzahl.gesamt, " & _
                 "abfIntFehlerEOL.SummevonAnzahl AS [Fehler am EOL], " & _
                 "Round(([FirstTimeOK]/[gesamt]),4) " & _
                                          "AS [First Time OK prozentual] " & _
            "FROM abfIntStückzahl " & _
                 "LEFT JOIN abfIntFehlerEOL " & _
                 "ON abfIntStückzahl.Datum = abfIntFehlerEOL.Datum " & _
           "WHERE abfIntStückzahl.Datum Between " & Datum1 & _
                                          " And " & Datum2 & ");"
    Set DB = CurrentDb
    Set ftok = DB.OpenRecordset(sql, dbOpenSnapshot)
    'ftok.MoveFirst
    objname = "C:\ftok.xls"
    Set excexp = CreateObject("Excel.Application")
    Set excexp = GetObject("objname")
    excexp.Worksheets(1).Range("A1").Value = ftok![First Time OK prozentual]
    excexp.Windows("ftok.xls").Visible = True
    excexp.Save
    excexp.Close
    Set excexp = Nothing
    ftok.Close
    DB.Close
End Sub
Nochmals vielen Dank für Eure mühen,

Kai
TommyK
Im Profil kannst Du frei den Rang ändern


Verfasst am:
26. Jan 2006, 15:56
Rufname:
Wohnort: Sachsen

AW: Abfragen per VBA erstellen und Ergebnisse an Excel - AW: Abfragen per VBA erstellen und Ergebnisse an Excel

Nach oben
       

Hallo,

die Funktion "CalcDate" gibt aber eine Wert vom Typ Date zurück.
Du hast diese aber als Variant deklariert.

Hast Du mal die Abfrage direkt im Abfrage-Editor erstellt und getestet.
Du kannst der Abfrage ja die CalcDate-Funktion direkt übergeben. s. meine Bsp-DB bzw. HP
Zitat:
2. Möglichkeit:
Die Funktion "CalcDate" direkt der Abfrage als Kriterium übergeben. (Tabelle „tbl_Zeiträume“ wird nicht benötigt)
z.B. die letzen 4 Monate, Referenz Datum Heute:
Code:
Zwischen CalcDate(Datum();-4;-1;"M") Und CalcDate(Datum();-1;0;"M")

_________________
Gruß Tommy
Kai_Syke
Einsteiger


Verfasst am:
27. Jan 2006, 14:03
Rufname:
Wohnort: Syke


AW: Abfragen per VBA erstellen und Ergebnisse an Excel - AW: Abfragen per VBA erstellen und Ergebnisse an Excel

Nach oben
       

Kai_Syke am 26. Jan 2006 um 17:03 hat folgendes geschrieben:
Hallo Tommy,

danke für Deine Hilfe. Ich habe das jetzt mal so geändert wie du beschrieben hast, bekomme aber immer noch eine Fehlermeldung. Kann es sein, daß die "Between" Anweisung irgendwie falsche Werte bekommt? Falsches Format oder so?

Der Fehleranzeiger (gelber Balken) steht auf
Code:
    Set ftok = DB.OpenRecordset(sql, dbOpenSnapshot)
In einer "normalen" Abfrage geht es wunderbar. Da ich aber Werte von:
letzte Woche (täglich, 5 Werte)
vor 2 Wochen(1 Wert)
vor 3
vor 4
vor 5 Wochen(1Wert)
letzten Monat(1Wert)
vor 2 Monaten
vor 3 Monaten
laufendes Jahr

benötige wäre es in VBA einfacher und vielleicht flexibler.

Gruß, Kai

Hallo Forum nochmal,
Hallo Tommy,

ich habe das mit der SQL-Abfrage schon mal hinbekommen.

Ich habe es jetzt so gelöst:
Code:
Private Sub Befehl10_Click()
    Dim DatumS As String
    Dim DatumE As String
    Dim sql As String
    Dim ftok As DAO.Recordset
    Dim DB As DAO.Database
    Dim objname As String
    Dim excexp As Object

    DatumS = Format(CalcDate(Date, -15, -1, "W"), "\#yyyy\-mm\-dd\#")
    DatumE = Format(CalcDate(Date, -10, -0, "W"), "\#yyyy\-mm\-dd\#")
    'DatumE = Format("13.01.2006", "\#yyyy\-mm\-dd\#")
    sql = "SELECT abfIntStückzahl.Datum, " & _
                 "abfIntStückzahl!gesamt-" & _
                     "Nz(abfIntFehlerEOL!SummevonAnzahl) AS FirstTimeOK, " & _
                 "abfIntStückzahl.gesamt, " & _
                 "abfIntFehlerEOL.SummevonAnzahl AS [Fehler am EOL], " & _
                 "Round(([FirstTimeOK]/[gesamt]),4) " & _
                                          "AS [First Time OK prozentual] " & _
            "FROM abfIntStückzahl " & _
                 "LEFT JOIN abfIntFehlerEOL " & _
                 "ON abfIntStückzahl.Datum = abfIntFehlerEOL.Datum " & _
           "WHERE abfIntStückzahl.Datum Between " & DatumS & _
                                          " And " & DatumE & ");"
    Set DB = CurrentDb
    Set ftok = DB.OpenRecordset(sql, dbOpenSnapshot)
    'ftok.MoveFirst
    objname = "C:\Dokumente und Einstellungen\koopmannk\Desktop\" & _
              "Berichtswesen\ftok.xls"
    Set excexp = CreateObject("Excel.Application")
    Set excexp = GetObject(objname)
    excexp.Worksheets(1).Range("A1").Value = ftok![First Time OK prozentual]
    excexp.Windows("ftok.xls").Visible = True
    excexp.Save
    excexp.Close
    Set excexp = Nothing
    ftok.Close
    DB.Close
End Sub
Diese Seite hat mir dabei geholfen: FAQ 1. Grundlagen

Nun habe ich aber ein neues Problem. Access gibt mir nur einen Wert an Excel weiter. Wenn ich die selbe Abfrage "normal" durchführe bekomme ich aber meine gewünschten 5 Werte.

Kann mir dabei vielleicht jemand helfen? Ich bin der Lösung ja schon ein wenig näher gekommen.

Vielen, vielen Dank

Kai
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: spezielle Abfragen 1 Hilfe 704 27. Sep 2004, 17:47
Skogafoss spezielle Abfragen
Keine neuen Beiträge Access Tabellen & Abfragen: Einen Wert per Abfrage in mehreren Tabellenspalten suchen 2 Danny G. 606 10. Sep 2004, 18:22
Danny G. Einen Wert per Abfrage in mehreren Tabellenspalten suchen
Keine neuen Beiträge Access Tabellen & Abfragen: Eingabefelder in Abfragen?!?! 6 Diovan80 609 28. Jun 2004, 09:51
Diovan Eingabefelder in Abfragen?!?!
Keine neuen Beiträge Access Tabellen & Abfragen: Unterformular austauschen per button 3 TeeJay 687 04. Jun 2004, 13:59
Willi Wipp Unterformular austauschen per button
Keine neuen Beiträge Access Tabellen & Abfragen: Relativ komplexes PRoblem mit erstellen von Datensätzen 5 feri 808 02. Jun 2004, 14:21
stpimi Relativ komplexes PRoblem mit erstellen von Datensätzen
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Zahlen in Abfragen Aufrunden 1 GAST 575 28. Mai 2004, 13:42
lothi Zahlen in Abfragen Aufrunden
Keine neuen Beiträge Access Tabellen & Abfragen: mehrere Abfragen in einem Formular zum Auswerten 2 bpointz 1086 27. Mai 2004, 10:39
bpointz mehrere Abfragen in einem Formular zum Auswerten
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle aus Abfrage erstellen 1 dasti 3317 09. Apr 2004, 12:14
Gast Tabelle aus Abfrage erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Teile eines Memofeldes abfragen 8 hYpa 869 30. März 2004, 10:06
hYpa Teile eines Memofeldes abfragen
Keine neuen Beiträge Access Tabellen & Abfragen: neue Tabellen erstellen aus vorhandener Tabelle 6 moni 2010 29. März 2004, 15:39
moni neue Tabellen erstellen aus vorhandener Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: 2 Textboxen und 2 Kombifelder mit UND (ODER) abfragen 1 Gast 486 03. März 2004, 09:57
lothi 2 Textboxen und 2 Kombifelder mit UND (ODER) abfragen
Keine neuen Beiträge Access Tabellen & Abfragen: Problem mit Abfragen & Beziehungen! 1 zulupower 691 25. Feb 2004, 18:20
faßnacht(IT); Problem mit Abfragen & Beziehungen!
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML CSS