Office: (Office 2016) Startdatum

Helfe beim Thema Startdatum in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Josef, finde ich gut noch mal anzufangen. es gibt ein ungebundenes Listenfeld welches mit mit folgender SQL Anweisung (strSql) gefüllt werden... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Petroj, 27. Oktober 2016.

  1. Startdatum


    Hallo Josef,

    finde ich gut noch mal anzufangen.

    es gibt ein ungebundenes Listenfeld welches mit mit folgender SQL Anweisung (strSql) gefüllt werden soll.

    strSql = "SELECT tbl_akquisen.akAkquiseID, tbl_akquisen.akFirmenNR, tbl_akquisen.akFirmenNR, tbl_firmen.fiFirmenID, tbl_firmen.fiName, tbl_kontakte.koVorname, tbl_kontakte.koNachname, tbl_akquisen.akWiedervorlage " & vbCrLf & _
    "FROM (tbl_firmen INNER JOIN tbl_kontakte ON tbl_firmen.fiFirmenID = tbl_kontakte.koFirmenNR) INNER JOIN tbl_akquisen ON (tbl_kontakte.koKontakteID = tbl_akquisen.akKontakteNR) AND (tbl_firmen.fiFirmenID = tbl_akquisen.akFirmenNR);"

    Es gibt nur ein Feld im Listenfeld welches gefiltert werden soll, das der Wiedervorlage und die dazugehören Daten wie Anprechpartner Firma siehe oben.

    Der Filter (startdatum und enddatum) sind zwei ungebundene Datumsfelder, diese sollen einen Zeitraum im Listenfeld filtern in dem das Wiedervorlagedatum liegt. Natürlich erst dann wenn die Datumseingaben korrekt sind.

    VG

    Peter
     
  2. Hallo!

    Dann bringe ich das einmal in Code-Form (nur Luft-Code!), um zu prüfen, ob du das so willst:
    Code:
    Das wirkt sich auf die Funktion GetListBoxFilterString aus.


    mfg
    Josef
     
    Josef P., 8. November 2016
    #32
  3. Hallo Josef,

    erst einmal Danke für deine Geduld.

    Code:
    Wohin damit, bzw. bei welchem Ereignis?

    Code:
    VG
    Peter
     
  4. Startdatum

    Hallo!

    const ListBoxSelectFromSql as String = ... kannst du im Kopf des Formular-Moduls definieren.

    Müssen alle Steuerelement mit Filterwerten befüllt sein, oder dürfen auch einige Steuerelemente leer bleiben?

    mfg
    Josef
     
  5. Hallo Josef,

    ich habe Const ListBoxSelectFromSql beim laden hineinkopiert. Ich habe dir mal einen Sreenshot von dem Formular gemacht.

    Wenn ich die Daten im Startdatum und im Enddatum eingebe und das Formular im Entwurfsmodus schalte und wieder in der Formular Ansicht öffne werden schon ein Teil der Daten gefiltert. Siehe Screenshot.

    VG
    Peter
     
  6. Wo hast du den Inhalt der Konstanten hineinkopiert und warum?

    mfg
    Josef
     
  7. Hallo,

    weil ich es nicht besser weiß? *upps

    Sorry bin noch Anfängerniveau auch wenn ich hier schon länger angemeldet bin. Ich habe schon ewig lange nichts mehr mit Access gemacht.

    Vielleicht bist Du ja so nett und sagst mir wohin damit.

    VG
    Peter
     
  8. Startdatum

    Bitte nicht falsch verstehen. Ich will dich nur dahin bringen, den Code so zu gestalten, damit er das macht, was du von ihm erwartest.
    Einfach Code irgendwo hinkopieren, ohne eine Erwartung der Funktionsweise zu haben, wird schwierig für eine Fehlersuche. ;-)

    Die Deklaration der Konstante schreibst du in den Kopf des Codemoduls vom Formular - also direkt unter die Zeilen mit "Option Explicit" und "Option Compare ...".

    Für den ersten Test verwendest du z. B. deinen Suchen-Button und startest als Reaktion auf das Click-Ereignis die Prozedur "RefreshListboxSource".

    Code wie bereits gezeigt:
    Code:
    Anm.: RefreshListboxSource erstmal nur von dieser Stelle aus aufrufen.

    mfg
    Josef
     
  9. Hallo Josef,

    der Luftcode funktioniert schon mal bestens. Nur ich muß die Datenherkunft ändern damit ich besser die auf die Rowsources zugreifen kann.

    Deine Funktion:
    Code:
    Neue Datenherkunft:
    Code:
    Mein Versuch für die neue Datenherkunft nach deinem Muster anzupassen funktioniert leider noch nicht:
    Code:
    Wäre nett wenn Du mal drüber schauen könntest ob dir der Fehler auffällt.

    VG
    Peter
     
  10. Hallo!

    Erstmal nur die SQL-Anweisung:
    Code:
    Zur Erklärung:
    "tbl_firmen F" hätte ich besser "tbl_firmen As F" schreiben sollen. Sobald so ein Alias gesetzt wird, muss/kann statt "tbl_firmen.Feldname" nur noch "F.Feldname" geschrieben werden.
    Das hast du bei "tbl_kontakte.koKontakteID = tbl_akquisen.akKontakteNR" übersehen.

    Korrigierter SQL-Code:
    Code:
    => Code für die VBA-Konstante:
    Code:
    Weiters:
    Den "Order By"-Teil musst du extra als Konstante abspeichern bzw. in der Prozedur RefreshListboxSource ergänzen, da noch der Where-Teil dazwischen kommt.

    Code:
    Diesen Code müsstest du um den OrderBy-Teil ergänzen.
    Code:
    Das ergibt dann mit der OrderBy-Konstante:
    Code:
    mfg
    Josef
     
  11. Hallo Josef,

    Danke!

    Beim Öffnen des Formulars bekomme ich die Fehlermeldung: Falsch - Parameterwert eingeben.

    Sobald ich danach auf OK klicke: Syntaxfehler in JOIN-Operation.

    VG
    Peter
     
  12. Vorab: im letzten Beitrag vergaß ich die Alias-Verwendung zu korrigieren.
    Ich gehe aber davon aus, dass du nicht 1:1 kopiert hast und es dir aufgefallen ist.

    Code:
    vs.

    Code:
    Code:
    Weist du beim Öffnen des Formulars bereits der Listbox eine Datenquelle zu?
    Wie sieht die Datenquelle des Formulars aus?

    mfg
    Josef
     
  13. Startdatum

    Hallo Josef,

    Ist mir nicht aufgefallen. *entsetzt Muss ich jetzt wieder ins Straflager und Steine klopfen?

    Nein.

    Aber da ich den Code mal hinkopiert habe wo er nichts zu suchen hatte, kam irgendwann mal Return ohne Gosub. Die DB ist nun decompiliert und kompiliert, ich erhalte mit dem neuen Code keine Fehlermeldungen mehr.

    Die Datenherkunft ist die tbl_akquisen. Da es sich im ganzen Formular um ungebundene Elemente handelt, könnte die Datenquelle überflüssig sein.

    Code:
    Sobald ich auf den Button klicke wird ein Datensatz angezeigt, welcher mit dem GetListBoxFilterString hinterlegt ist.

    Also bis jetzt alles ok. Jetzt müssen wir Access das richtige filtern beibringen.

    VG
    Peter

    PS: Ich dachte mir zu Anfangs, ach das kann ja nicht so schwer sein.
    Bisher habe ich noch kein Beispiel gesehen, was so gelöst werden kann.
    Ich weiß nicht wie Du das mit dem Code für das Listenfeld hingebracht hast. Oder gibt es ein Tool was das etwas vereinfacht?
     
  14. Hallo!

    Es reicht aus, wenn du 100x "Trau keinem Luftcode" schreibst. Aber nicht per Copy&Paste! *wink.gif*

    Ich verwende MyBrain 1.0 mit einem Erweiterungpacket für Access/VBA. *biggrin.gif*


    Dafür erweitern wir die Prozedur GetListBoxFilterString.

    Falls ich dich richtig verstanden haben, soll ein Filter nur gesetzt werden, wenn alle Filterfelder befüllt sind. => Abbruch (=leerer Filterstring) sobald eines der Felder leer ist.
    Code:
    Falls bei nciht vollständigen Filterfeldern die Listbox keine Datensätze anzeigen soll, ist der Code in RefreshListboxSource anzupassen.

    Code:
    mfg
    Josef
     
  15. Hallo Josef,

    Filter auf fiFirmenID ... ist das auch ein Pflichtfilter?
    Nein, es gibt nur die Felder txtStartdatum und txtEnddatum.

    Private Function GetListBoxFilterString() As String

    Dim FilterString As String

    'Bedingung: Startdatum muss kleiner als Enddatum (inkludiert Null-Prüfung)
    If Me.txtStartdatum.Value < Me.txtEnddatum.Value Then
    FilterString = "A.Wiedervorlagedatum between " & Format(Me.txtStartdatum.Value, "\#yyyy-mm-dd\#") & " And " & Format(Me.txtEnddatum.Value, "\#yyyy-mm-dd\#")
    Else 'Abbruch
    GetListBoxFilterString = vbNullString
    Exit Function
    End If

    ' Filter auf fiFirmenID ... ist das auch ein Pflichtfilter?
    With Me.DeinFirmenIdFilterSteuerelment
    If Not IsNull(.Value) Then
    FilterString = FilterString & " And F.fiFirmenID = " & .Value
    Else 'Abbruch .. oder doch kein Abbruch?
    GetListBoxFilterString = vbNullString
    Exit Function
    End If


    GetListBoxFilterString = FilterString

    End Function

    VG
    Peter
     
Thema:

Startdatum

Die Seite wird geladen...
  1. Startdatum - Similar Threads - Startdatum

  2. Werte auf Zeitraum verteilen

    in Microsoft Excel Hilfe
    Werte auf Zeitraum verteilen: Hallo, aktuell bin ich dabei eine Mittelabflussplanung in Excel zu erstellen. Zu diesem Zweck will ich alle Aufträge die ein definiertes Start- und Enddatum haben auf die jeweiligen Monate...
  3. Anzahl Tage berechnen, inclusiv Startdatum

    in Microsoft Excel Hilfe
    Anzahl Tage berechnen, inclusiv Startdatum: Guten Tag zusammen, ich benötige einmal Hilfe für eine Funktion (wenn es sie denn gibt) für die Berechnung von Anzahl Tagen, jedoch inclusiv des Starttages. Ich kenne es so, dass man den...
  4. Suche Datum mit >= "Startdatum" und <= "Enddatum

    in Microsoft Excel Hilfe
    Suche Datum mit >= "Startdatum" und <= "Enddatum: Hallo Forengemeinde, ich versuche derzeit eine Tabelle mit Daten mit Daten aus einer anderen Tabelle zu kombinieren. Hierzu soll ein Wert, in Abhängigkeit des Datums herausgesucht werden. In...
  5. Feldauswahl - neu Spalte mit Datumauswahl

    in Microsoft Outlook Hilfe
    Feldauswahl - neu Spalte mit Datumauswahl: Hallo, ich habe in Outlook 365 eine Aufgabenliste mit benutzerdefinierten Spalten angelegt. Nun möchte ich eine Spalte mit der selben Funktion wie die vorhandene Spalte Startdatum hinzufügen. Bei...
  6. Startdatum bei benutzerdefinierter Nachverfolgung

    in Microsoft Outlook Hilfe
    Startdatum bei benutzerdefinierter Nachverfolgung: Hallo liebe Office-Helfer, *:)* bei uns ist ein ganz neues Phänomen aufgetreten - Start- & Fälligkeitsdatum sind bei einigen Kollegen auf "Ohne" gesetzt, bei anderen auf das heutige Datum. Gerne...
  7. Neue Farbgebung für ein Startdatum bei Eingabe eines Enddatums + Übertrag des Formats

    in Microsoft Excel Hilfe
    Neue Farbgebung für ein Startdatum bei Eingabe eines Enddatums + Übertrag des Formats: Hallo zusammen, ich möchte den Baufortschritt von Anlagen überwachen. Daher ist folgende Funktion gewünscht: Wenn ein Startdatum eingetragen wird färbt sich die Zelle hellgrün (als Zeichen...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden