Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage ...
zurück: Feldinhalt vom Unterformular ins Hauptformular kopieren weiter: Verschiedene Formulare aus einem Textfeld aufrufen 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
Roliviech
Einsteiger


Verfasst am:
13. Okt 2009, 12:30
Rufname:

Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage ... - Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage ...

Nach oben
       Version: Office 2k (2000)

... übergeben.

Ich hab 1 Kombifeld und 1 Textfeld. In dem Kombifeld kann ich die Kalenderwoche auswählen (somit 1 bis 52). Im Textfeld geb ich manuell das Jahr ein.

Als Beispiel wähl ich KW "42" aus und Jahr "2009". Nun möchte ich dies in ein Anfangs- und ein Enddatum umrechnen. Hier wäre das dann 12.10.2009 und 18.10.2009.

Diese 2 Daten möchte ich anschließend in meine funktionierende Abfrage einbinden und als Filter benutzen.

Zitat:
HAVING (((taet_kultur_haus.Datum) Between [Forms]![formdatum]![tfAnfang] And [Forms]![formdatum]![tfEnde])


Wo bzw wie setze ich die Berechnung am besten um? In VBA oder im SQL?

Bitte um Hinweise. Vielen Dank.
Roliviech
Einsteiger


Verfasst am:
13. Okt 2009, 12:37
Rufname:


AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Die Berechnung wäre im Excel derart:
Code:
A1=42
A2=2009
A3=DATUM(A2;1;7*A1-3-WOCHENTAG(DATUM(A2;;);3))


Nun stellt sich mir die Frage, wie ich diese Formel an Access anpasse und wie das Ergebnis an die Abfrage weiterleite.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
13. Okt 2009, 17:20
Rufname:
Wohnort: NRW

AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Hallo,

in Access könntest du die Berechnung mit folgender Funktion vornehmen:
Code:
Function kw2FirstDayOfWeek(KW, JAHR)
    kw2FirstDayOfWeek= DateSerial(JAHR, 1, 7 * KW - 2 - Format(DateSerial(JAHR, 0, 0), "w", 2, 2))
End Function


Weitere Anregungen findest du hier oder einfach mal nach "Kalenderwoche umrechnen" suchen! ;)

_________________
Gruß MissPh!
Roliviech
Einsteiger


Verfasst am:
14. Okt 2009, 10:06
Rufname:

AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Danke für die Hilfe.

Die Berechnung funktioniert. Ich hab nur noch Probleme bei der Übergabe des Funktionsergebnisses an meine Abfrage.

Mein VBA-Code sieht so aus:
Code:
Private Sub Befehl5_Click()
On Error GoTo Err_Befehl5_Click
Dim stDocName As String
Dim KWAnfang As Date
Dim KWEnde As Date
KWAnfang = kw2FirstDayOfWeek(combKW, tfJahr)
KWEnde = kw2FirstDayOfWeek(combKW, tfJahr) + 6

    stDocName = "kopie_von_summe_abfrage"
    DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Befehl5_Click:
    Exit Sub

Err_Befehl5_Click:
    MsgBox Err.Description
    Resume Exit_Befehl5_Click
   
End Sub
Function kw2FirstDayOfWeek(KW, JAHR)
    kw2FirstDayOfWeek = DateSerial(JAHR, 1, 7 * KW - 2 - Format(DateSerial(JAHR, 0, 0), "w", 2, 2))
End Function


Teil der Abfrage:
Code:
HAVING (((taet_kultur_haus.Datum) Between [Forms]![formdatum]![KWAnfang] And [Forms]![formdatum]![KWEnde]))


Dh ich möchte das Ergebnis KWAnfang und KWEnde an die Abfrage weiterleiten.
Scheinbar mach ich da was falsch.
Nur was?
MissPh!
Office-VBA-Programmiererin


Verfasst am:
14. Okt 2009, 13:10
Rufname:
Wohnort: NRW


AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Hi,
im Klickereignis hast du Variablen deklariert, denen du die Datumswerte zuweist, diese sind aber bei Beendigung des Codes nicht mehr verfügbar und auch sowieso nicht außerhalb der Prozedur ansprechbar.
Du brauchst hier entweder Formularsteuerelemente, so wie du es ja auch in der Abfrage schon stehen hast, oder du setzt den Funktionsaufruf in die Abfrage:
Code:
HAVING (((taet_kultur_haus.Datum) Between
        kw2FirstDayOfWeek([Forms]![formdatum]!combKW, [Forms]![formdatum]!tfJahr) And
        kw2FirstDayOfWeek([Forms]![formdatum]!combKW, [Forms]![formdatum]!tfJahr) +6))

Da es sich hier um ein Datenfeld und nicht um ein berechnetes Feld handelt, würde ich es vorziehen, das Kriterium (mit WHERE anstelle von HAVING) vor die Gruppierung zu legen.

_________________
Gruß MissPh!
Roliviech
Einsteiger


Verfasst am:
15. Okt 2009, 08:47
Rufname:

AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Danke für Deine Antwort.

Ich bekomme nun folgende Fehlermeldung:
Zitat:
Undefinierte Funktion 'kw2FirstDayOfWeek' in Ausdruck.


Mein Formular hat wie berichtet eine Combobox und ein Textfeld.
Combobox hat den Namen "combKW".
Textfeld hat den Namen "tfJahr".
Steuerelementinhalte hab ich keine definiert.

Im VBA-Code ist nun nur der Aufruf der Abfrage "summe_abfrage" enthalten.


Den Funktionsaufruf hab ich nun in der Abfrage "summe_abfrage" wie vorgeschlagen:
Code:
WHERE (((taet_kultur_haus.Datum) Between kw2FirstDayOfWeek([Forms]![formdatum]!combKW, [Forms]![formdatum]!tfJahr) And kw2FirstDayOfWeek ([Forms]![formdatum]!combKW, [Forms]![formdatum]!tfJahr) +6))


Was überseh ich hier?
Vielen Dank für Hinweise.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
15. Okt 2009, 10:32
Rufname:
Wohnort: NRW

AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Verschiebe die Funktion in ein allgemeines Objektmodul. Die Abfrage hat keinen Bezug zu einem Klassenmodul.
_________________
Gruß MissPh!
Roliviech
Einsteiger


Verfasst am:
15. Okt 2009, 11:03
Rufname:

AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Die Funktion befindet sich nun in einem normalen Modul. Somit in keinem Klassenmodul.

Code:
MsgBox (kw2FirstDayOfWeek(combKW, tfJahr))

liefert mir jetzt das richtige Ergebnis.

Wenn ich jedoch mit dem Formular die Abfrage öffne, an die die Werte der Felder übergeben werden sollen, kommt folgende Fehlermeldung:
Zitat:
Sie haben die vorherige Operation abgebrochen.


Was bedeutet das nun? Die SuFu hat mir zu diesem Thema leider auch nichts gebracht.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
15. Okt 2009, 11:06
Rufname:
Wohnort: NRW

AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Wie sieht denn jetzt der VBA-Code im Formular und der SQL-Code der Abfrage aus?
Zeige doch bitte nochmal deinen aktuellen Stand.

BTW: Warum öffnest du überhaupt eine Abfrage und kein Formular, das auf dieser Abfrage basiert?

_________________
Gruß MissPh!
Roliviech
Einsteiger


Verfasst am:
15. Okt 2009, 11:16
Rufname:

AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Mein Formular:
Code:
Private Sub Befehl5_Click()
On Error GoTo Err_Befehl5_Click
Dim stDocName As String

    stDocName = "summe_abfrage"
DoCmd.OpenQuery stDocName, acNormal, acEdit
'MsgBox (kw2FirstDayOfWeek(combKW, tfJahr))

Exit_Befehl5_Click:
    Exit Sub

Err_Befehl5_Click:
    MsgBox Err.Description
    Resume Exit_Befehl5_Click
   
End Sub


Meine Abfrage:
Code:
SELECT [taet_kultur_haus].[Name], [taet_kultur_haus].[Datum], [taet_kultur_haus].[Taetigkeit_Kuerzel], [taet_kultur_haus].[SAP_Code], Sum([taet_kultur_haus].[Arbeitsstunden]) AS [Summe von Arbeitsstunden]
FROM taet_kultur_haus
WHERE ((([taet_kultur_haus].[Datum]) Between kw2FirstDayOfWeek([Forms]![formdatum]![combKW],[Forms]![formdatum]![tfJahr]) And kw2FirstDayOfWeek([Forms]![formdatum]![combKW],[Forms]![formdatum]![tfJahr])+6))
GROUP BY [taet_kultur_haus].[Name], [taet_kultur_haus].[Datum], [taet_kultur_haus].[Taetigkeit_Kuerzel], [taet_kultur_haus].[SAP_Code]
ORDER BY [taet_kultur_haus].[Name], [taet_kultur_haus].[Datum];


Zitat:
Warum öffnest du überhaupt eine Abfrage und kein Formular, das auf dieser Abfrage basiert?


Ich möchte mit dem Formular nur eine bestimmte Abfrage filtern und das Ergebnis angezeigt bekommen. Wie man das am besten umsetzt war mir bisher nicht klar.
Wenn man das Ergebnis gleich in diesem Formular anzeigen lassen kann, wärs mir auch sehr recht. Nur weiß ich dabei nicht wie ich das angehen soll.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
15. Okt 2009, 11:55
Rufname:
Wohnort: NRW

AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Die Abfrage wird gar nicht erst geöffnet?

Versuche es mal mit folgender Änderung:
Code:
Function kw2FirstDayOfWeek(KW, JAHR) AS Double
    kw2FirstDayOfWeek = CDbl(DateSerial(JAHR, 1, 7 * KW - 2 - Format(DateSerial(JAHR, 0, 0), "w", 2, 2)))
End Function

_________________
Gruß MissPh!
Roliviech
Einsteiger


Verfasst am:
15. Okt 2009, 12:13
Rufname:

AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Wahnsinn. Es funktioniert. Ich bin glücklich.

Vielen, vielen Dank.

Mich würde aber trotzdem noch der Hinweis bzgl. der Einbindung der Abfrage ins Formular interessieren, wie ich das umsetzen könnte.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
15. Okt 2009, 12:43
Rufname:
Wohnort: NRW

AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Lass dir ein Formular auf Basis dieser Abfrage generieren, das kannst du dann öffnen oder als Unterformular einbinden.
_________________
Gruß MissPh!
Roliviech
Einsteiger


Verfasst am:
15. Okt 2009, 15:52
Rufname:


AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage . - AW: Mit Wert aus Kombifeld rechnen und Ergebnis an Abfrage .

Nach oben
       Version: Office 2k (2000)

Habs geschafft die Abfrage in einem Unterformular umzusetzen.

Nochmals vielen Dank.
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: Access Abfrage Uhrzeit (von bis) 1 new 2078 02. März 2004, 11:12
new Access Abfrage Uhrzeit (von bis)
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Parameter Abfrage 3 shorty 2270 29. Feb 2004, 15:07
Willi Wipp Parameter Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage nach Berufssparten 3 Fabian_bkk 1537 20. Feb 2004, 10:25
Willi Wipp Abfrage nach Berufssparten
Keine neuen Beiträge Access Tabellen & Abfragen: Problem im Abfrage Generator mit Wenn() und Zwischen() 1 snowman 4094 13. Feb 2004, 10:42
Willi Wipp Problem im Abfrage Generator mit Wenn() und Zwischen()
Keine neuen Beiträge Access Tabellen & Abfragen: Wie kann ich mehr als 255Felder in eine Abfrage legen? 1 D.R. 2235 12. Feb 2004, 09:05
faßnacht(IT); Wie kann ich mehr als 255Felder in eine Abfrage legen?
Keine neuen Beiträge Access Tabellen & Abfragen: Suche Hilfe zu SQL (DAO 351 MS) - Abfrage 3 Berny_H 1005 04. Feb 2004, 11:41
borstel Suche Hilfe zu SQL (DAO 351 MS) - Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Diese Abfrage geht nicht. Kann ir jemand helfen 4 Oliver 1438 02. Feb 2004, 13:21
Willi Wipp Diese Abfrage geht nicht. Kann  ir jemand helfen
Keine neuen Beiträge Access Tabellen & Abfragen: In Abfrage nach Monat sortiert ausgeben 3 Torsten 2150 29. Jan 2004, 19:52
Torsten In Abfrage nach Monat sortiert ausgeben
Keine neuen Beiträge Access Tabellen & Abfragen: Unterscheid zwischen 2 Daten berechnen in Abfrage 2 itarus 1441 26. Jan 2004, 17:01
i_tarus Unterscheid zwischen 2 Daten berechnen in Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Verschachtelte Abfrage? 3 Fragesteller 2581 22. Jan 2004, 08:46
ffdabei Verschachtelte Abfrage?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage in Kombifeld 3 Gast 1255 06. Jan 2004, 19:21
Krokette Abfrage in Kombifeld
Keine neuen Beiträge Access Tabellen & Abfragen: kommentare im sql code einer abfrage? 1 Caladan 1744 22. Dez 2003, 20:15
Ludger kommentare im sql code einer abfrage?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Word VBA