Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Textfeldinhalt eines Formulars in eine Tabelle übernehmen!
zurück: weiteres Problem mit SendObject... weiter: Maximieren des Start Formulars Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
gerald
Access-Einsteiger


Verfasst am:
01. März 2005, 21:30
Rufname:

Textfeldinhalt eines Formulars in eine Tabelle übernehmen! - Textfeldinhalt eines Formulars in eine Tabelle übernehmen!

Nach oben
       

Liebe User!

Ich habe folgendes Problem:

In der Tabelle "Praktika" habe ich eine Spalte "Dauer von" mit einem Datumsformat "tt.mm.jjjj"!
Die Datensätze werden über ein Formular in diese Tabelle eingegeben.
Dieses Formular nennt sich "form_praktika".
Direkt in diesem Formular wird das Feld "Datum von" in einem eigenen Textfeld "KW von" automatisch in eine Kalenderwoche umgewandelt (=Kalenderwoche([Dauer von];Wahr)!
Das Modul dafür ist wie folgt:
Code:
Option Compare Database
Option Explicit

Public Function GetDateFromWeek(ByVal nWeek As Integer, _
                                Optional ByVal nDayOfWeek As Integer = 1, _
                                Optional ByVal nYear As Integer = -1)
'*******************************************
'Name:      GetDateFromWeek (Function)
'Purpose:
'Author:    Dieter Otter, angepasst an VBA von Thomas Keßler
'Date:
'Called by:
'Calls:
'Inputs:
'Output:
'Example: vMonday = GetDateFromWeek(12, vbMonday, 2003)
'*******************************************
    Dim nCurWeek As Integer
    Dim vStart As Variant
    Dim vStart1 As Variant
    Dim vMonday As Variant
    Dim vSunday As Variant
    Dim nDay As Integer
   
    Select Case nDayOfWeek
      Case Is = 1: nDayOfWeek = vbMonday
      Case Is = 2: nDayOfWeek = vbTuesday
      Case Is = 3: nDayOfWeek = vbWednesday
      Case Is = 4: nDayOfWeek = vbThursday
      Case Is = 5: nDayOfWeek = vbFriday
      Case Is = 6: nDayOfWeek = vbSaturday
      Case Is = 7: nDayOfWeek = vbSunday
    End Select
    ' Kein Jahr angeben? Dann aktuelles Jahr verwenden!
    If nYear = -1 Then nYear = Year(Date)
    ' aktuelle Woche im Jahr nYear ermitteln
    vStart1 = DateSerial(nYear, Month(Date), Day(Date))
    nCurWeek = Val(Format$(vStart1, "ww", vbMonday))
    ' Datum der gewünschten Woche ermitteln
    vStart = DateAdd("ww", nWeek - nCurWeek, vStart1)
    ' Wochenanfang ermitteln
    nDay = Weekday(vStart, vbMonday)
    ' Datum des gewünschten Wochentags ermitteln
    If nDayOfWeek = vbSunday Then
        GetDateFromWeek = DateAdd("d", -nDay + 7, vStart)
      Else
        GetDateFromWeek = DateAdd("d", -nDay + nDayOfWeek - 1, vStart)
    End If
End Function

Function Kalenderwoche(XDatum As Variant, fModus As Boolean) As String
'Gibt Ein Datum als "ww\jjjj" String zurück
'Wenn eine Wochennummer in ein unterschiedliches Jahr fällt, so wird dies
'berücksichtigt d.h. 31.12.2002 = 01\2003 bzw. 1.1.1999 = 53\1998
    Dim x, y, z
   
    Kalenderwoche = ""
    If Not IsDate(XDatum) Then Kalenderwoche = "": Exit Function
        XDatum = CDate(XDatum)
        x = Year(XDatum)
        z = Format(XDatum, "ww", vbMonday, vbFirstFourDays)
        y = Int((XDatum - DateSerial(Year(XDatum), 1, 1) + _
                 ((Weekday(DateSerial(Year(XDatum), 1, 1)) + 1) Mod 7) - 3) _
                 / 7) + 1
        If y = 0 Then
            z = Format(DateSerial(x - 1, 12, 31), "ww", vbMonday, _
                       vbFirstFourDays)
            If z >= 52 Then x = x - 1
          ElseIf y > 52 And _
                 (Weekday(DateSerial(x, 12, 31)) - 1) Mod 7 <= 3 Then
            If Format(XDatum + 7, "ww", vbMonday, vbFirstFourDays) = 2 Then
                z = 1
            End If
            If z = 1 Then x = x + 1
    End If
    If fModus = True Then
        Kalenderwoche = Right("00" & z, 2) & "/" & Right("0000" & x, 4)
      Else
        Kalenderwoche = Right("00" & z, 2)
    End If
End Function

Public Function TagDesJahres(Optional ByVal TDatum) As Integer
' Konvertiert Datum in den Jahrestag (1-366)
    If IsNull(TDatum) Then
        TagDesJahres = 0
      Else
        TagDesJahres = TDatum - DateSerial(DatePart("yyyy", TDatum), 1, 1) + 1
    End If
End Function

Als Ergebnis bekomme ich z.B.: 34/2004
Soweit passt alles perfekt!

Wie kann ich mit diesem Textfeld "KW von" nun weiterarbeiten (z.B. in eine Abfrage integrieren!)?
Kann ich das Textfeld "KW von", das ja nur im formular "form_praktika" enthalten ist, ebenfalls in die Tabelle "Praktika" integrieren - wenn "Ja" wie?

Liebe Grüße und danke im voraus,

Gerald
stpimi
Moderator Access


Verfasst am:
02. März 2005, 09:30
Rufname:
Wohnort: Graz

AW: Textfeldinhalt eines Formulars in eine Tabelle übernehme - AW: Textfeldinhalt eines Formulars in eine Tabelle übernehme

Nach oben
       

In der Abfrage:

In einer leeren Spalte als Feldname:
Code:
DeinFeldname: GetDateFromWeek(DeineArgumentliste)

_________________
Lg, Michael

Dein Feedback hilft auch anderen - vergiß es nicht!
gerald
Access-Einsteiger


Verfasst am:
02. März 2005, 13:33
Rufname:


danke... - danke...

Nach oben
       

hat wunderbar funktioniert!

lg,
gerald
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: Eingabeaufforderung für "Tabelle umbenennen" 1 DJK_2000 823 06. Jul 2004, 11:05
Gast Eingabeaufforderung für "Tabelle umbenennen"
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage bei Tabelle mit leeren Zellen (?) 2 Gast 1045 23. Jun 2004, 15:14
lothi Abfrage bei Tabelle mit leeren Zellen (?)
Keine neuen Beiträge Access Tabellen & Abfragen: bei leeren Textfelder in Tabelle ein "-" einfügen 10 Henri 843 21. Jun 2004, 15:48
Henri bei leeren Textfelder in Tabelle ein "-" einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle mit Beziehung zu anderen Tabellen updaten - wie ? 4 miredoju 2684 15. Jun 2004, 10:24
miredoju Tabelle mit Beziehung zu anderen Tabellen updaten - wie ?
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle von Excel importieren 1 Sonnenschein 2640 15. Jun 2004, 06:57
stpimi Tabelle von Excel importieren
Keine neuen Beiträge Access Tabellen & Abfragen: Übergabe eines Feldinhaltes des akt. Formulars an Abfrage 2 NewAccess 479 19. Mai 2004, 06:28
NewAccess Übergabe eines Feldinhaltes des akt. Formulars an Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Bestehende Tabelle aufteilen - Eure Kommentare? 1 masta25 1040 17. Mai 2004, 21:19
mabe38 Bestehende Tabelle aufteilen - Eure Kommentare?
Keine neuen Beiträge Access Tabellen & Abfragen: aus einer Tabelle m.mehr.Spalten neue Tab mit 1 Spalte erste 4 Gingi 860 11. Mai 2004, 16:24
Gingi aus einer Tabelle m.mehr.Spalten neue Tab mit 1 Spalte erste
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle sichern 5 alfikoe 946 05. Mai 2004, 20:26
lothi Tabelle sichern
Keine neuen Beiträge Access Tabellen & Abfragen: Autowert in bestehende Tabelle 1 Gingi 729 23. Apr 2004, 11:45
mabe38 Autowert in bestehende Tabelle
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
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: einträge aus tabelle in formular anzeigen u. speichern 1 gast 1161 25. März 2004, 09:33
Willi Wipp einträge aus tabelle in formular anzeigen u. speichern
 

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