Office: (Office 2003) aktuelles jahr in eine tabelle schreiben

Helfe beim Thema aktuelles jahr in eine tabelle schreiben in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich würde in der Tabelle eine Hilfstabelle führen z.B. mit Datumswerten von 2000 bis 2010 (oder länger) und auf das Erstellen zur Laufzeit... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von creative100, 28. Juni 2009.

  1. aktuelles jahr in eine tabelle schreiben


    Hallo,
    ich würde in der Tabelle eine Hilfstabelle führen z.B. mit Datumswerten von 2000 bis 2010 (oder länger) und auf das Erstellen zur Laufzeit verzichten.
    Dann braucht das Kombi nur eine Abfrage die das gewünschte Jahr einschränkt.
     
    gpswanderer, 30. Juni 2009
    #16
  2. Wobei er die ja auch irgendwie füllen muss. Entweder so, oder durch Kopie aus Excel *Smilie

    Die Idee ist also, aus der ad-hoc-Befüllung fürs Jahr eine permanentbefüllung für 10 Jahre zu machen. Kann man machen.
     
    Atrus2711, 30. Juni 2009
    #17
  3. also mit der MsgBox "Fertig" das geht auch nach der if abfrage. so langsam verstehe ich das, habe aber mit der syntax generell meine probleme. nun habe ich festgestellt, dass ich nachdem ich z.b. das jahr 2009 angelegt habe, dass selbige auch nochmals eintragen kann.

    hier währen jetzt doppelte werte vorhanden, was bei einer abfrage nicht gut ist. also doch nicht wie von euch vorausgesehen so erfolgreich meinerseits.

    ich kann mir jetzt nur noch vorstellen, zusätzlich eine if abfrage in den vba code zu implementieren, doch wie gesagt, ich habe grosse probleme mit der syntax. darf ich euch nochmals um rat bitten.

    mfg
     
    creative100, 30. Juni 2009
    #18
  4. aktuelles jahr in eine tabelle schreiben

    Hallo,
    das einfachste wäre die von mir vorgeschlagen Hilfstabelle, dann kann es auch keine doppelten Werte geben. Mit dem Formularfeldeintrag "2009" (oder so) wird einfach die Abfrage für das Kombi eingeschränkt. Es ist dann überhaupt nicht mehr möglich, dass das Kombi doppelte Werte enthält.
     
    gpswanderer, 30. Juni 2009
    #19
  5. ich glaub das ist ein mißverständnis? das kombifeld dient nicht für die einträge der kalendertage, also der vba funktion. es ist für die suche nach einem datum für einen tätigkeitsnachweis. am tag entstehen bis zu neun stunden. für diesen tag werden z.b. für heute neun einträge gemacht mit zugehörigen datum. dadurch entstehen die doppelten einträge im kombifeld.

    manchmal muss man einen eintrag zu einem bestimmten datum ändern oder nachholen. hierfür dient das kombifeld welches dann zu den gewählten datum (suchfunktion) die entsprechenden einträge im unterformular anzeigt. das klappt bisher ganz gut, jedoch mit allen doppelt vorhandenen datum. für heute würden nun 9 x 30.06.2009 im kombifeld stehen. ist aber blöd wenn doppelte werte im kombifeld stehen.

    der momentane stand ist:

    steuerelementeinhalt: der ist leer
    datensatzherkunft: SELECT DISTINCT tbl_nachweis.TagDat FROM tbl_nachweis GROUP BY tbl_nachweis.TagDat;

    die abfrage funktioniert, aber nur im sql editor mit rotem ausrufezeichen. im formular wird mir das kombifeld leer und ohne fehlermeldung angezeigt. komme hier nicht weiter?? mache ich die tbl_nachweis.nw_id in die abfrage bekomme ich eine fehlermeldung. die wird aber benötigt.

    mfg
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    creative100, 30. Juni 2009
    #20
  6. Das Kombifeld ist doch nur für die Eingabe des Suchdatums nötig. Es ersetzt gleichsam ein Textfeld, wo man das Datum eingeben könnte/müsste. Natürlich ist es leer. Aber seine Liste (Auswahlpfeil) sollte gefüllt sein.

    Und was die Mehrfachwerte in der Tabelle angeht: da hülfe ein primärschlüssel oder ein eindeutiger Index in der Tabelle.
     
    Atrus2711, 30. Juni 2009
    #21
  7. Lanz Rudolf, 1. Juli 2009
    #22
  8. aktuelles jahr in eine tabelle schreiben

    habe versucht die sub routine zu kommentieren, komme aber bei einigen dingen nicht so richtig dahinter was das alles bedeuten soll. so sieht das ganze bei mir aus:

    PHP:
             Private Sub btnGo_Click()
    'keine Ahnung was das ist
    Dim dte As Date
    '
    wenn das Jahr nicht numerisch ist
    If Not IsNumeric(Me!txtYearThen
    'dann Hinweis per Message Box
    MsgBox "Jahr nicht numerisch"
    '
    ansonsten
    Else
    'zähle das Jahr aus txtYear vom 1.1 bis 31.12
    For dte = DateSerial(Me!txtYear, 1, 1) To DateSerial(Me!txtYear, 12, 31)
    '
    GegenwärtigeDB.Ausführen füge in Tabelle tblKalender Spalte CalDatum den Wert dte ein ,ging es nicht dann error ausgabe
    CurrentDb
    .Execute "INSERT INTO tblKalender (CalDatum) VALUES (#" Format(dte"yyyy-mm-dd") & "#)"dbFailOnError
    'weiter mit dte
    Next dte
    '
    Message Box ausgeben
    MsgBox 
    "Jahr " Me!txtYear " wurde erzeugt."
    End If
    End Sub
     
    creative100, 3. Juli 2009
    #23
  9. Hi,
    die Kommentare sind schon mal ganz okay. Tipp: im Forum ist das besser zu lesen, wenn du normale Code-Tags drumrumsetzt, statt PHP-Tags.

    Zu den Zeichen # und ":
    Das # ist der Kennzeichner für Datumswerte,
    das " für Texte. beide kommen immer paarweise vor.

    Wo Anführungszeichen verschachtelt sind, kann es notwendig werden, sie durch Hochkommas zu ersetzen.
    z.B. hier:
    Code:
    Zur Wochentagsgeschichte:
    Das ist eigentlich unnötig, da Access den Wochentag aus dem Datum berechnen kann. Grundsäötzlich kann man aber natürlich mehrere Felder auf einmal einfügen. Dann brauchst du aber auch so viele VALUEs, wie due INSERT-Felder hast.
    Code:
    Das dbFailOnerror gehört übrigens nicht zum Insert (das ist SQL), sondern zum .Execute (das ist VBA).
     
    Atrus2711, 3. Juli 2009
    #24
  10. Zur Wochentagsgeschichte:
    Das ist eigentlich unnötig, da Access den Wochentag aus dem Datum berechnen kann. Grundsäötzlich kann man aber natürlich mehrere Felder auf einmal einfügen. Dann brauchst du aber auch so viele VALUEs, wie due INSERT-Felder hast.
    Code:
    Das dbFailOnerror gehört übrigens nicht zum Insert (das ist SQL), sondern zum .Execute (das ist VBA).

    habe es jetzt so gemacht, ist aber falsch bei mir:

    CurrentDb.Execute "INSERT INTO tblKalender (CalDatum, CalWt) VALUES (#" & Format(dte, "yyyy-mm-dd") & "#, " & Format(dte, "ddd") & ")", dbFailOnError

    laufzeitfehler '3061'
    ein parameter wurde erwartet, aber es wurden zu wenig parameter übergeben. was ist nun falsch, ich hänge den ganzen tag an der zeile????

    danke für deine hilfe. mfg
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    creative100, 3. Juli 2009
    #25
  11. hallo ihr vba fans,

    dieses problem

    Code:
    ist immenoch nicht gelöst.

    neues problem:

    möchte gerne in einer combobox alle word dateien aufgelistet haben eine datei in der combobox auswählen(ereignis) und vom aktuellen formular die daten in das word formular übergeben. dieses Beispiel

    Code:
    hat sogar einen filter und ist soweit ganz gut, aber mir fehlt hier halt die combobox. msoFileDialogFilePicker ist hier nicht erwünscht und müsste mit cboboxersetzt werden. es gibt genug beispiele im internet, doch nicht das was ich benötige. kann mir das mal jemand erweitern oder erläutern? db mit modul im anhang bei interesse.

    mfg
     
    creative100, 4. Juli 2009
    #26
  12. Zu Nr. 1, da fehlen die Hochkommata zum Schluss:
    CurrentDb.Execute "INSERT INTO tblKalender (CalDatum, CalWt) VALUES (#" & Format(dte, "yyyy-mm-dd") & "#, '" & Format(dte, "ddd") & "')", dbFailOnError
    maike
     
    maikek, 4. Juli 2009
    #27
  13. aktuelles jahr in eine tabelle schreiben

    Hi,

    ja, da habe ich die Hochkommas bei den Wochentagen (Mo,Di ...) unterschlagen... *redface Maike hat dir da schon den richtigen Tipp gegeben.

    Ungeklärt bleibt, warum du den Wochentag überhaupt extra speichern willst. Er kann von VBA jederzeit aus dem Datum berechnet werden. Wenn du ihn mitspeicherst, musst du ihn aktuell halten, wenn du das Datum mal änderst. Unnötiger Aufwand.

    Zur Dateiauswahlgeschichte:
    Wenn es viele und/oder lange Dateinamen sind, würde ich die Dateinamen, die bisher in den Direktbereich geschrieben werden, in eine Tabelle schreiben und diese Tabelle dann als Basis des Kombifelds nehmen. Zum Einfügen kannst du wieder eine Insert-Anweisung nutzen, so wie vorhin beim Datum (achte auch hier auf die Hochkommas, denn die Dateinamen sind Textwerte). Wenn die Dateinamen kurz und wenig sind, könnte man die vielleicht auch in einer Wertliste zusammenfassen und die direkt als Basis des Kombis nutzen (Ergebnis dann etwa: u:\file1.doc;u:\file2.doc;u:\file3.doc). Ich würde den Weg der Tabelle gehen, da die ANzahl der Dateinamen nicht begrenzt ist - die Wertlistenlänge aber schon.

    Zur Bestückung des Worddokuments mit Daten:
    Es kommt drauf an. Du könntest einfach einen Serienbrief draus machen, du könntest aber auch Textmarken im Dokument definieren und die mit Daten bestücken. Es gibt viele Wege. Die Frage bleibt, wie die Dokumente aufgebaut sind bzw. aufgebaut sein sollen.
     
    Atrus2711, 4. Juli 2009
    #28
  14. aus verständnis gründen, ich will auch verstehen was ich tuhe und nicht immer euch nerven, aber ganz ohne geht es leider nicht. in einer qry kann ich das ganze umwandeln mit CalTag:[funktion] ich weis, aber mit vba war ich am ende.

    es ist ein normales word dokument in einem ordner. nach und nach werden es mehr dokumente. diese werden nicht immer von mir angelegt, daher muss es für "dumme" einfach bleiben.

    im formular können über eine tabelle personen abgerufen werden. zu der gerade ausgewählten person, werden nun gelegentlich diese dokumente benötigt. innerhalb des formulares soll nun das combofeld alle word dokumente im vorgegebenen ordner listen. diese können dann gewählt werden und der datensatz wird in das word dukument übertragen.

    die word dokumente enthalten textmarken wie name, vorname usw. in der db siehe beispiel oben zum download wird in das formular nur diese kleine funktion eingebaut mehr nicht.

    ein code beispiel habe ich weiter oben vorliegen, jedoch benötige ich die namen der word dokumente in der combobox. beim ereignis wählen sollte sich das word dokument öffnen und die daten im aktuellen formular übertragen werden. insgesamt 3 schritte. ein serienbrief ist nicht gut, dass bekomme ich auch noch hin, doch es gibt immer probleme und ausserdem muss ich immer wieder die personen nummer suchen. das ich nicht gerade kompfortabel. dann auch noch die blöden hinweise, dass word auf eine datenbank zugreift. (msgBox: willste das... dann ja... ansonsten abbrechen und weiter........ mit der persnummer) ich denke du weist was ich meine.?

    für andere vorschläge bin ich zu haben, jedoch benötige beispiele, ich bin blutiger anfänger.

    mfg
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    creative100, 4. Juli 2009
    #29
  15. es hilft immer einige infos zu bekommen, doch ist es nicht das jetzige problem was mich mit deinem beispiel weiter bringt. trotzdem herzlichen dank. es kann sein, dass an einem tag mehrere einträge gemacht werden was dann so aussieht in meiner combobox, welche als suchfunktion über den assi in access erstellt wurde:

    1.1.2009
    1.1.2009
    1.1.2009
    1.1.2009
    1.1.2009

    möchte einfach nur, dass die einträge einmal gelistet werden. die abfrage für die combobox in der datensatzherkunft (eigenschaften fenster) lautet:

    Code:
    habe es schon mit select distinct... gemacht, geht aber auch nicht. group by geht auch nicht, da dann alles verschwunden ist in der combobox.

    mfg
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    creative100, 4. Juli 2009
    #30
Thema:

aktuelles jahr in eine tabelle schreiben

Die Seite wird geladen...
  1. aktuelles jahr in eine tabelle schreiben - Similar Threads - aktuelles jahr tabelle

  2. Nur aktuelles Jahr in Abfrage auslesen

    in Microsoft Access Hilfe
    Nur aktuelles Jahr in Abfrage auslesen: In meiner Abfrage habe ich eine Spalte AktJahr erstellet. Das Datum ermittle ich mit AktJahr: Datum(). Es soll nur die aktuelle Jahreszahl angezeigt werden. Mehrere Versuche mit der...
  3. Bedingte Formatierung aktuelles Jahr Zelle Färben

    in Microsoft Excel Hilfe
    Bedingte Formatierung aktuelles Jahr Zelle Färben: Hallo zusammen, hoffe ihr könnt mir weiterhelfen. Habe eine Tabelle in der ich ein bestimmtes Datum eingetragen habe (z.B. 20.11.2023) und hätte gern das immer das Aktuelle Jahr Grün markiert ist....
  4. aktuelles Jahr auslesen

    in Microsoft Access Hilfe
    aktuelles Jahr auslesen: sorry für dumme frage, aber wie leser ich das aktuelle jahr aus =date() aus? will in einem feld nur das aktuielle Jahr stehen habe! danke für antwort *Smilie 82804
  5. Abfrage Aktuelles Jahr minus 5 Jahr

    in Microsoft Access Hilfe
    Abfrage Aktuelles Jahr minus 5 Jahr: Hallo, ich habe zur Zeit ein Abfrage mit der ich mir alle Datensätze anzeigen kann, die aus dem jeweils aktuellem Jahr minus 5 Jahre stammen: Wie "*" & Jahr(Jetzt())-5 & "*" Jetzt möchte ich...
  6. aktuelles Jahr ermitteln

    in Microsoft Access Hilfe
    aktuelles Jahr ermitteln: Hallo, ich habe eine Frage. Mit welcher Funktion kann ich nur das aktuelle Jahr ermitteln (nicht das komplette Datum)? Gruss Robert 169995
  7. Wettkampfklasse nach aktuellen Jahr suchen

    in Microsoft Excel Hilfe
    Wettkampfklasse nach aktuellen Jahr suchen: Hallo, ich bin in dem Forum und habe folgendes Problem. Ich habe eine Datei mit 2 Tabellenblättern. Das Tabellenblatt 1 (Schützen). Wenn ich in dem Tabellenblatt 1 in der Spalte D1 (Geb.-Datum)...
  8. Geburtstag mit aktuellem Jahr abgleichen

    in Microsoft Excel Hilfe
    Geburtstag mit aktuellem Jahr abgleichen: Hallo, ich komme irgendwie nicht dahinter, wie ich das Geburtsdatum von Klienten mit dem aktuellen Monat abgleichen kann. Es geht darum, zu Prüfen, ob der Geburtsmonat dem aktuellen Monat im...
  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