Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Datum konvertieren
zurück: Spalte hinzufügen und verschieben weiter: VBA Anweisungen vereinfachen/zusammenfassen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
barongsay
Langzeitstudent


Verfasst am:
19. Mai 2009, 11:34
Rufname:

Datum konvertieren - Datum konvertieren

Nach oben
       Version: Office 2007

Hallo liebe Forumsmitglieder,
ich möchte gerne den folgenden Code für meine Zwecke benutzen:
Code:
Sub setFieldConnections()
    Dim i As Integer

    '# Set up field connections for each of the regular comboboxes
    '# ATTENTION: Leaves Field-Cmb Conditions blank if "*" is selected,
    '# so that empty cells in are not filtered out
    '# by "fieldX LIKE '*'" statement
    For i = LBound(strRegularComboBoxSetupInformation, 1) To _
                                 UBound(strRegularComboBoxSetupInformation, 1)
        If Me.Controls("cmbFilterCrit" & i).Value <> "*" Then
            strFieldComboboxConnection(i) = _
                                  strRegularComboBoxSetupInformation(i, 3) & _
                                  "." & _
                                  strRegularComboBoxSetupInformation(i, 1) & _
                                  " Like '" & _
                                       Me.Controls("cmbFilterCrit" & i) & "' "
          Else
            strFieldComboboxConnection(i) = ""
        End If
    Next i
    '# Set up field connections for each of textbox
    strFieldTextboxConnection(1) = "(" & strDateTableName & "." & _
                                   strDateFieldName & " >= #" & _
                                   Format(Me!txtDateFrom, _
                                          "mm\/dd\/yyyy") & "#) "
    strFieldTextboxConnection(2) = "(" & strDateTableName & "." & _
                                   strDateFieldName & " <= #" & _
                                   Format(Me!txtDateUntil, _
                                          "mm\/dd\/yyyy") & "#) "
End Sub
In der Tabelle tblAccidents im Feld RCDATE, wo strFieldTextboxConnection(1) das Datum holen soll, ist der Felddatentyp=Zahl und das Datum ist folgendermaßengeschrieben: yyyymmdd, z.B. 19901203.

Wenn ich im Formular bin kommt die Fehlermeldung "Laufzeitfehler 3135 Syntaxfehler in JOIN-Operation" und im Direktbereich kommt folgendes raus:
Code:
SELECT COUNT(*) AS [All accidents],
       SUM([qryAccidentsProJahr].[CountYear]) AS [Summe Anzahl_Gesamt],
       SUM([qryVehiclesProJahr].[CountYear]) AS [Summe Anzahl_X]
FROM   ((((((tblAccidents
             LEFT JOIN tblAccidents
             ON tblAccidents.Compname = tblAccidents.Compname)
            LEFT JOIN tblAccidents
            ON tblAccidents.Mfgname = tblAccidents.Mfgname)
           LEFT JOIN tblAccidents
           ON tblAccidents.Mfgtxt = tblAccidents.Mfgtxt)
          LEFT JOIN tblAccidents
          ON tblAccidents.Yeartxt = tblAccidents.Yeartxt)
         LEFT JOIN tblAccidents
         ON tblAccidents.Automarke = tblAccidents.Automarke)
        LEFT JOIN tblAccidents
        ON tblAccidents.Automodell = tblAccidents.Automodell)
WHERE  (. >= #01/01/1933#)
AND    (. <= #05/19/2009#) ;
Vielleicht bringt diese Info was:
Code:
    datStandardDateFrom = #1/1/1933#
    datStandardDateUntil = Date
Code:
    strDateTableName = "tblAccidents"
    strDateFieldName = "RCDATE"
Ich denke mal, dass die Fehlermeldung wegen der Formatierung des Datums kommt weil im Direktbereich u.a. "WHERE (. >= #01/01/1933#)" steht.

Wie konvertiere ich das Datum, so dass ich den Sub benutzen kann?
Ich hoffe, ich hab mich klar ausgedrückt, falls nicht, einfach fragen!
Danke für Eure Hilfe!
LG
Brigitte
MissPh!
Office-VBA-Programmiererin


Verfasst am:
19. Mai 2009, 17:52
Rufname:
Wohnort: NRW


AW: Datum konvertieren - AW: Datum konvertieren

Nach oben
       Version: Office 2007

Nun, da hast du sicher recht, in der Whereklausel fehlen die Feldnamen. Aber ich denke, auch die äußere Klammer um die Tabellenjoins sollte zuviel sein.

Doch da ist noch etwas: Du willst eine Summe bilden von Datenfeldern, die gar nicht in der Abfrage enthalten sind!
Code:
SUM([qryAccidentsProJahr].[CountYear])
Du musst die beiden Abfragen entweder noch mit hinzu nehmen oder - wahrscheinlicher - die Summen per DSum-Funktion ermitteln.

Ohne nähere Hintergrundkenntnisse kann man da erstmal nur nur raten...

Nachtrag:
Ganz abgesehen von der Datumsformatierung sind die Variablen strDateTableName und strDateFieldName doch offensichtlich nicht belegt.
Wenn es sich beim Datum um ein Zahlenfeld handelt, sollte der Vergleich auch entsprechend vorgenommen werden:
Code:
strFieldTextboxConnection(1) = "(" & strDateTableName & "." & _
                                   strDateFieldName & " >= " & _
                                   Format(Me!txtDateFrom, "yyyymmdd") & ") "
barongsay
Langzeitstudent


Verfasst am:
25. Mai 2009, 11:00
Rufname:

AW: Datum konvertieren - AW: Datum konvertieren

Nach oben
       Version: Office 2007

Hallo MissPh!
Tut mir leid, dass ich mich erst jetzt melde.
Ich habe nicht alles verstanden, was Du geschrieben hast.
Was meintest Du mit "Du willst eine Summe bilden von Datenfeldern, die gar nicht in der Abfrage enthalten sind".
Ich habe eine tblAccidents, deren Inhalte ich alle löschen kann und neu importieren kann.
Zur tblAccidents gibt es qryAccidentsProJahr, qryVehiclesProJahr, die sehen nach Ausführung so aus:

Yeartxt | CountYear
1959 | 2

etc.
und analog qryVehiclesProJahr.

Grundsätzliche Frage: Kann man die Operation SUM auf qryAccidentsProJahr.CountYear durchführen, wenn die qryAccidentsProJahr erstmal ausgeführt werden soll bzw wenn die Inhalte von qryAccidentsProJahr sich ständig ändern (wegen alles löschen und neu importieren)?

Zur FROM-Klausel:
hab's zu FROM tblAccidents geändert.

Zum Thema "Variablen strDateTableName und strDateFieldName sind unbelegt":
Wie meinst Du soll ich sie denn sonst belegen als mit
strDateTableName = "tblAccidents"
und
strDateFieldName = "RCDATE" ?

Hab auch den Code mit Deinem Code umgeändert.
Es kommt zur Fehlermeldung [quote]Laufzeitfehler '3075':
Syntaxfehler (fehlender Operator) in Abfrageausdruck '(. <= #20090525#)'./quote]Direktbereich druckt das aus:
Code:
SELECT Count(*) AS [All accidents],
       Sum(qryAccidentsProJahr.CountYear) AS [Summe Anzahl_Gesamt],
       Sum(qryVehiclesProJahr.CountYear) AS [Summe Anzahl_X]
FROM   tblAccidents
WHERE  (. <= #20090525#) ;
Was ich mit dem Code bezwecke:
Ein Formular, in dem die ComboBoxes abhängig voneinander sind, außerdem die Auswahl von Datum um im Formular ein Timeline-Diagramm darstellen zu können.

Danke für Deine Hilfe!
Brigitte
MissPh!
Office-VBA-Programmiererin


Verfasst am:
25. Mai 2009, 11:39
Rufname:
Wohnort: NRW


Re: AW: Datum konvertieren - Re: AW: Datum konvertieren

Nach oben
       Version: Office 2007

Hallo,
barongsay - 25. Mai 2009, 11:00 hat folgendes geschrieben:

Was meintest Du mit "Du willst eine Summe bilden von Datenfeldern, die gar nicht in der Abfrage enthalten sind".
Die Tabellen oder Abfragen deren Felder du verwenden willst, müssen im FROM-Teil der Abfrage stehen.

Erst jetzt sehe ich, was du da für abenteuerliche Verknüpfungen stehen hast! Shock
Wozu die mehrfache Verknüpfung der Tabelle tblAccidents mit sich selbst?!
(hast du das nachträglich geändert?)
Zitat:
Grundsätzliche Frage: Kann man die Operation SUM auf qryAccidentsProJahr.CountYear durchführen, wenn die qryAccidentsProJahr erstmal ausgeführt werden soll bzw wenn die Inhalte von qryAccidentsProJahr sich ständig ändern (wegen alles löschen und neu importieren)?
Genau das ist der Sinn von Abfragen: Das Erstellen aktueller Datenauszüge.
Zitat:
Zum Thema "Variablen strDateTableName und strDateFieldName sind unbelegt":
Wie meinst Du soll ich sie denn sonst belegen als mit
strDateTableName = "tblAccidents"
und
strDateFieldName = "RCDATE"
?
Code:
...
WHERE  (. >= #01/01/1933#)
AND    (. <= #05/19/2009#)
Wie am Ergebnis der SQL-Code Erstellung zu sehen ist, sind die Stringvariablen ganz offensichtlich leer. Die Zuweisung (und Deklaration), die du irgendwo außerhalb der Sub machst, ist also nicht wirksam.
Zitat:
Hab auch den Code mit Deinem Code umgeändert.
Es kommt zur Fehlermeldung
Zitat:
Laufzeitfehler '3075':
Syntaxfehler (fehlender Operator) in Abfrageausdruck '(. <= #20090525#)'.
Direktbereich druckt das aus:
Code:
SELECT Count(*) AS [All accidents],
       Sum(qryAccidentsProJahr.CountYear) AS [Summe Anzahl_Gesamt],
       Sum(qryVehiclesProJahr.CountYear) AS [Summe Anzahl_X]
FROM   tblAccidents
WHERE  (. <= #20090525#) ;
Dass hier etwas fehlt ist doch offensichtlich, oder? Und auch hier gilt, du kannst kein Datenfeld aus einer Quelle ansprechen, ohne sie im From-Teil zu nennen.

Hoffe, das hilft dir weiter.
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: SQL-String mit Datum .... !? 2 DoMe 1128 07. Feb 2005, 14:03
DoMe SQL-String mit Datum .... !?
Keine neuen Beiträge Access Tabellen & Abfragen: Berechnung in Abhängigkeit vom Datum 1 Christian22 1004 03. Feb 2005, 14:00
lothi Berechnung in Abhängigkeit vom Datum
Keine neuen Beiträge Access Tabellen & Abfragen: Datum im Formularkopf 6 didide 821 06. Jan 2005, 17:19
lothi Datum im Formularkopf
Keine neuen Beiträge Access Tabellen & Abfragen: in einer Wenn dann Funktion aufs Datum gruppieren 10 Gast 691 06. Jan 2005, 10:22
Skogafoss in einer Wenn dann Funktion aufs Datum gruppieren
Keine neuen Beiträge Access Tabellen & Abfragen: Datum und Uhrzeit automatisch speichern 3 peinberger 1119 30. Dez 2004, 10:33
mapet Datum und Uhrzeit automatisch speichern
Keine neuen Beiträge Access Tabellen & Abfragen: Alter auf Basis akt. Datum ausrechnen 2 jomei 1634 22. Dez 2004, 09:15
jomei Alter auf Basis akt. Datum ausrechnen
Keine neuen Beiträge Access Tabellen & Abfragen: Access Abfrage mit größer als Parameter Datum 2 Terrific 14868 06. Dez 2004, 19:46
Gast Access Abfrage mit  größer als Parameter Datum
Keine neuen Beiträge Access Tabellen & Abfragen: Datum konvertieren 2 pad8626 1236 03. Dez 2004, 16:25
pad8626 Datum konvertieren
Keine neuen Beiträge Access Tabellen & Abfragen: Datum 5 Jogler 1001 29. Nov 2004, 13:27
borstel Datum
Keine neuen Beiträge Access Tabellen & Abfragen: Accessdaten Datum in Englischer Form in Serienbrief von Word 1 Hajo 1127 24. Nov 2004, 11:49
Gast Accessdaten Datum in Englischer Form in Serienbrief von Word
Keine neuen Beiträge Access Tabellen & Abfragen: 3. ältestes Datum 3 shaaree 793 27. Sep 2004, 11:03
Skogafoss 3. ältestes Datum
Keine neuen Beiträge Access Tabellen & Abfragen: Datum in Zahl umwandeln 2 Lorenz 1017 01. Sep 2004, 18:45
Lorenz Datum in Zahl umwandeln
 

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