Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Guten Morgen zusammen,

folgendes Problem mit Visual Basic:

ich muss irgendwie das Systemdatumformat unter WinNT ändern können, dafür muss ich das Format einlesen können (habe ich schon realiesiert) und verändern (also z.B. von TT.MM.JJJJ nach JJJJ-MM-TT - noch NICH realisiert). Bräuche den Befehl unter VB (falls es sowas gibt)

MfG LoneGunman

Geschrieben

Hallo,

Unter VB gibt es die Funktion Date die dass Systemdatum verändern kann.

Ich hab dass bisher nur unter Win 9x gemacht, ich kann daher nicht garantieren dass es unter Win NT auch klappt, aber versuch es mal damit :

Date = DD.MM.JJJJ

Das Datum muss dabei korrekt sein, also nicht 31.02.2001 oder so was, da bekommst du eine Fehlermeldung. Soweit ich weiß kannst du auch andere Formate eingeben, zumindest alles was du mit FormatdateTime formatieren kannst.

Solltest du übrigens immer zu einem bestimmten Datum zurück rechnen wollen dann kann ich dir dateAdd in Verbindung mit datediff empfehlen, mit Datediff ermittelst du die Differenz zwischen heute und dem Wunschdatum und mit Dateadd addierst du die negative Differenz zum aktuellen Datum hinzu.

So long

Feivel

Geschrieben

Hmm, ich müsste aber das SystemdatumFORMAT aus VB heraus ändern. Also von TT.MM.JJJJ nach JJJJ-MM-TT.

Ist im Prinzip dasselbe wie unter "Systemsteuerung" -> "Ländereinstellungen" -> "Datum" -> "Kurzes Datumsformat", nur halt aus VB heraus.

Geschrieben
Original geschrieben von LoneGunman

Hmm, ich müsste aber das SystemdatumFORMAT aus VB heraus ändern. Also von TT.MM.JJJJ nach JJJJ-MM-TT.

Ist im Prinzip dasselbe wie unter "Systemsteuerung" -> "Ländereinstellungen" -> "Datum" -> "Kurzes Datumsformat", nur halt aus VB heraus.

Hi !

Okay, dann hab ich deinen ersten Eintrag falsch verstanden. :rolleyes:

Also, mir fällt jetzt keine Funktion ein die eine Formatierung so umwandelt, ich hab es gerade mal mit FormatdateTime versucht, aber da bekommen ich auch nur immer wieder DD.MM.YYYY zurück.

Die einzige Lösung die mir einfällt ist dass du dir einzeln den Tag, den Monat und dass Jahr aus dem Datum extrahierst und es neu mit Hilfe eines Array´s oder mehreren Variablen wieder zusammen setzt.

Das hat bei mir funktioniert :

Dim Tag As Integer

Dim Monat As Integer

Dim Jahr As Integer

Dim ergebnis As String

Tag = Day(Now)

Monat = Month(Now)

Jahr = Year(Now)

ergebnis = Jahr & "-" & Monat & "-" & Tag

MsgBox(ergebnis)

Copy & Paste sollte funktionieren. Das ist aber nur ein kleiner Trick um an dass gewünschte Ergebnis zu kommen, ich glaube nicht daran dass es besonders zweckmässig ist, vom Programmierstyle ganz zu schweigen.

Nimm es erstmal als Notlösung, ich bin selber gespannt ob jemand eine bessere Idee hat.

Gruß

Feivel

Geschrieben

Ja, hab es auch so versucht. Das Problem was ich hierbei habe ist folgendes:

Wenn ich das Datum wieder zurückschreibe in eine Datenbank, schreibt mit VB immernoch im ungewünschten Format, da VB das Systemdatumsformat benutzt. Deswegen wollte ich "hardcore" in das Betriebssystem eingreifen.

Geschrieben

Hi,

tja, soweit hab ich jetzt selber nicht gedacht. Ich find´s aber interessant dass die Datenbank scheinbar kein Problem damit hat dass Format wieder umzuwandeln. Dann kann die Umkehrung auch nicht schwer sein.

Wie gesagt, die perfekte Lösung kenn ich nicht, aber wie wärs wenn du den Wertebereich der Datenbank von Date in String änders ? Dann ist Schluss mit der Umwandlung und wenn du nicht unbedingt die Datumsfunktionen brauchst kannst du dass Feld genauso wieder auslesen.

Oder du machst aus meinem Beispiel eine Funktion und rufst sie bei jedem Auslesen des Datums auf und bekommst als Rückgabewert den String wie du ihn brauchst.

Das ist schon wieder "gemogelt", aber zur Not......!?

Ansonsten bin ich mit meinem Latein am Ende, alles andere wäre geraten & gemogelt. Hoffe trotzdem dass ich dir helfen konnte.

Viel Spass noch !

Feivel

Geschrieben

Hat mir geholfen auf den richtigen Einsatz zu kommen. Habe Variant genommen.:D

MfG LoneGunman

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...