vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Datumsformat 
Autor: ModeratorDieter (Moderator)
Datum: 02.01.02 23:52

Hi Michael,

hier ein Korrektur-Code (hab scheinbar vergessen, den online zu stellen):
<code><font color=green>' Datum aus Plausibilität prüfen</font>
<font color=green>' Rückgabewert: formatierte Datumsangabe oder 
' Leerstring,</font>
<font color=green>'               wenn ungültiges Datum (Thomas Steinl)</font>
 
<font color=#000099>Public</font> <font color=#000099>Function</font> _
  CheckDatum(<font color=#000099>ByVal</font> Datum <font _
  color=#000099>As</font> <font color=#000099>String</font>) <font _
  color=#000099>As</font> <font color=#000099>String</font>
  <font color=#000099>Dim</font> Result <font color=#000099>As</font> <font _
  color=#000099>Boolean</font>
  <font color=#000099>Dim</font> TT <font color=#000099>As</font> <font _
  color=#000099>Integer</font>
  <font color=#000099>Dim</font> MM <font color=#000099>As</font> <font _
  color=#000099>Integer</font>
  <font color=#000099>Dim</font> JJ <font color=#000099>As</font> <font _
  color=#000099>Integer</font>
  <font color=#000099>Dim</font> sPos <font color=#000099>As</font> <font _
  color=#000099>Integer</font>
  <font color=#000099>Dim</font> Entry <font color=#000099>As</font> <font _
  color=#000099>String</font>
 
 
  Result = <font color=#000099>False</font>
  <font color=green>' Ist überhaupt ein Datum eingetragen?</font>
  <font color=#000099>If</font> Trim$(Datum) <> ".  ." <font _
    color=#000099>And</font> Datum <> "" <font color=#000099>Then</font>
 
     <font color=green>' keine Punkte im Datum vorhanden</font>
    <font color=#000099>If</font> InStr(Datum, ".") = 0 <font _
      color=#000099>Then</font>
 
      <font color=green>' Eingabelänge mindestens 4-stellig</font>
      <font color=#000099>If</font> Len(Datum) > 3 <font _
        color=#000099>Then</font>
        TT = Val(Left$(Datum, 2))
        MM = Val(Mid$(Datum, 3, 2))
 
        <font color=#000099>If</font> Trim$(Mid$(Datum, 5)) = "" <font _
          color=#000099>Then</font>
          <font color=green>' Jahresangabe fehlt -> aktuelles Jahr 
          ' annehmen</font>
          JJ = Val(Right$(Date$, 4))
        <font color=#000099>Else</font>
          JJ = Val(Mid$(Datum, 5))
        <font color=#000099>End</font> <font color=#000099>If</font>
        Result = <font color=#000099>True</font>
      <font color=#000099>End</font> <font color=#000099>If</font>
    <font color=#000099>Else</font>
 
      <font color=green>' Eingabe enthält Punktangaben</font>
      Entry = Datum
 
      <font color=green>' Tag ermitteln</font>
      sPos = InStr(Entry, ".")
      TT = Val(Left$(Entry, sPos - 1))
      Entry = Mid$(Entry, sPos + 1)
 
      <font color=green>' Monat ermitteln</font>
      sPos = InStr(Entry, ".")
      <font color=#000099>If</font> sPos <font color=#000099>Then</font>
        MM = Val(Left$(Entry, sPos - 1))
        Entry = Mid$(Entry, sPos + 1)
 
        <font color=green>' keine Jahresangabe -> aktuelles Jahr annehmen</font>
        <font color=#000099>If</font> Trim$(Entry) = "" <font _
          color=#000099>Then</font>
          Entry = Right$(Date$, 4)
        <font color=#000099>End</font> <font color=#000099>If</font>
 
        JJ = Val(Entry)
        Result = <font color=#000099>True</font>
      <font color=#000099>End</font> <font color=#000099>If</font>
    <font color=#000099>End</font> <font color=#000099>If</font>
 
    <font color=#000099>If</font> Result <font color=#000099>Then</font>
      Result = <font color=#000099>False</font>
 
      <font color=green>' Tag prüfen (Bereich 1-31)</font>
      <font color=#000099>If</font> TT > 0 <font color=#000099>And</font> TT  0 _
        <font color=#000099>And</font> MM  Day(DateSerial(JJ, MM + 1, 1) - 1) _
        <font color=#000099>Then</font>
            <font color=green>' Tagesangabe korrigieren</font>
            TT = Day(DateSerial(JJ, MM + 1, 1) - 1)
          <font color=#000099>End</font> <font color=#000099>If</font>
 
          Result = <font color=#000099>True</font>
        <font color=#000099>End</font> <font color=#000099>If</font>
      <font color=#000099>End</font> <font color=#000099>If</font>
 
      <font color=#000099>If</font> Result <font color=#000099>Then</font>
        <font color=green>' wenn alles OK - Datum formatieren</font>
        <font color=green>' tt.mm.jjjj</font>
        Datum = Format$(DateSerial(JJ, MM, TT), _
          "dd.mm.yyyy")
      <font color=#000099>End</font> <font color=#000099>If</font>
    <font color=#000099>End</font> <font color=#000099>If</font>
  <font color=#000099>Else</font>
    Result = <font color=#000099>True</font>
    Datum = ""
  <font color=#000099>End</font> <font color=#000099>If</font>
 
  <font color=#000099>If</font> Result = <font color=#000099>False</font> <font _
    color=#000099>Then</font>
    CheckDatum = "00.00.00"
  <font color=#000099>Else</font>
    CheckDatum = Datum
  <font color=#000099>End</font> <font color=#000099>If</font>
 
<font color=#000099>End</font> <font color=#000099>Function</font></code>
Cu
Dieter
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datumsformat60Michael02.01.02 19:25
Re: Datumsformat301ModeratorDieter02.01.02 19:27
Re: Datumsformat41Michael02.01.02 23:48
Re: Datumsformat306ModeratorDieter02.01.02 23:52
Re: Datumsformat42Michael03.01.02 10:00

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel