Autor Thema: String nach Datum konvertieren  (Gelesen 2286 mal)

klaussal

  • Gast
String nach Datum konvertieren
« am: 19.04.05 - 15:00:25 »
Hi zusammen,

stehe heute etwas auf dem Schlauch.
Problem: bekomme beim Import drei String-Felder angeliefert, die das Datum (in der Form MM, TT, JJJJ) beinhalten. Daraus soll ein Feld vom Typ Datum/Zeit gebaut werden (ohne Zeitangabe).
Meine bisherigen Versuche mit Cdat, etc waren ein Satz mit x.
Wie geht's  ???

klaus
« Letzte Änderung: 19.04.05 - 15:47:18 von klauss »

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: String nach Datum konvertieren
« Antwort #1 am: 19.04.05 - 15:03:28 »
Hi,

versuch's mal mit

datum = DateValue(DatumalsString)


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Driri

  • Gast
Re: String nach Datum konvertieren
« Antwort #2 am: 19.04.05 - 15:04:58 »
Oder Alternativ mit

DateNumber ( year , month , day )

Allerdings müssen year, month und day dann als Zahl übergeben werden.

klaussal

  • Gast
Re: String nach Datum konvertieren
« Antwort #3 am: 19.04.05 - 15:05:48 »
@AXel,

gleiches Ergebnis, hinter dem Datum steht immer 00:00:00 CEDT  :'(

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: String nach Datum konvertieren
« Antwort #4 am: 19.04.05 - 15:07:26 »
DateValue würde dann nur auf einem englischen Client funktionieren.

DateNumber wäre richtig - vorher ist der String entsprechend auseinanderzunehmen (Mit Instr Kommaposition ermitteln, bis dorthin Left$, dann mit Mid$ den verbleiben Teil ausschnippeln - bis man alle Werte hat).

Bernhard

PS: Den Zeitwert bekommst Du allerdings kostenlos mitgeliefert in LS.

klaussal

  • Gast
Re: String nach Datum konvertieren
« Antwort #5 am: 19.04.05 - 15:15:40 »
@bernhard,

ich will aber keine Zeit, weil in einer Ansicht nur das Datum dargestellt werden soll...

Glombi

  • Gast
Re: String nach Datum konvertieren
« Antwort #6 am: 19.04.05 - 15:15:47 »
Solche Zeitwerte haue ich mit Formelsprache weg, die manchmal gegenüber Script echt besser ist  ;)

In Script sähe der Aufruf dann so aus:
dim ret_eval as variant
... set doc ...
... set mit DateNumber oder sonstwie  den Wert...
ret_eval = Evaluate( |FIELD DeinFeld := @Date(DeinFeld);@True| ,doc)

Andreas

klaussal

  • Gast
Re: String nach Datum konvertieren
« Antwort #7 am: 19.04.05 - 15:19:23 »
@Andreas,

und wie sieht der Inhalt von "DeinFeld" aus ?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: String nach Datum konvertieren
« Antwort #8 am: 19.04.05 - 15:22:51 »
Es ist DEIN Feld, Klaus - eines Deiner Wahl, das Du vorher mit DateNumber gefüllt hast.

Bernhard

Glombi

  • Gast
Re: String nach Datum konvertieren
« Antwort #9 am: 19.04.05 - 15:24:53 »
@Andreas,

und wie sieht der Inhalt von "DeinFeld" aus ?
vorher so:
19.04.2005 00:00:00 CEDT 
und danach so:
19.04.2005
 ;D

Andreas

klaussal

  • Gast
Re: String nach Datum konvertieren
« Antwort #10 am: 19.04.05 - 15:40:48 »
Code
Dim wrk00 As Variant
Dim wrk01 As Long
Dim wrk02 As Long
Dim wrk03 As Long
Dim ret_eval As Variant

wrk01 = Clng(temp5) <-- Tag / TT
wrk02 = Clng(temp6) <-- Monat /MM
wrk03 = Clng(temp7) <-- Jahr /JJJJ	
		
wrk00 = Datenumber(wrk03, wrk02, wrk01)
		
If wrk00 = 0 Then
	doc.geb_datum = ""
Else			
	ret_eval = Evaluate( |FIELD wrk00 := @Date(wrk00);@true |, doc)
		doc.geb_datum = wrk00
End If

wo steckt hier der doofe Fehler ?

Glombi

  • Gast
Re: String nach Datum konvertieren
« Antwort #11 am: 19.04.05 - 15:45:04 »
Das Feld ist noch nicht gesetzt:

Dim wrk00 As Variant
Dim wrk01 As Long
Dim wrk02 As Long
Dim wrk03 As Long
Dim ret_eval As Variant

wrk01 = Clng(temp5) <-- Tag / TT
wrk02 = Clng(temp6) <-- Monat /MM
wrk03 = Clng(temp7) <-- Jahr /JJJJ

wrk00 = Datenumber(wrk03, wrk02, wrk01)

If wrk00 = 0 Then
doc.geb_datum = ""
Else
doc.geb_datum  = wrk00
ret_eval = Evaluate( |FIELD geb_datum := @Date(geb_datum );@true |, doc)
End If

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: String nach Datum konvertieren
« Antwort #12 am: 19.04.05 - 15:45:12 »
If wrk00 = 0 Then
doc.geb_datum = ""
Else
doc.Geb_datum = wrk00
ret_eval = Evaluate( |FIELD wrk00 := @Date(Geb_datum)|, doc)
End If

Bernhard

klaussal

  • Gast
Re: String nach Datum konvertieren
« Antwort #13 am: 19.04.05 - 15:47:04 »
@Bernhard,

danke  ;)
Bin heute dermassen "zu" mit Anfragen, Ändg. etc, dass ich total vernagelt bin. Werde wohl gleich Feierabend machen..

klaus

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: String nach Datum konvertieren
« Antwort #14 am: 19.04.05 - 15:49:43 »
He, Andreas war aber 8 Sekunden schneller  ;D

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz