Autor Thema: einen eingegebenen String 2 Variablen zuweisen?  (Gelesen 2327 mal)

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
einen eingegebenen String 2 Variablen zuweisen?
« am: 28.11.05 - 14:14:53 »
Hallo zusammen,

schaut euch mal diese Zeile bitte an:

intWochentag = Weekday(Cint(intdatum = Inputbox("Datum_ angeben")))

Die Zahl die Weekday übergeben bekommt ist 7. Ich verstehe nur nicht warum.

Folgendes: ich möchte, dass man in einer InputBox ein Datum eintippen kann. Dieses Datum soll dann erstmal an die Variable IntDatum übergeben werden. Diese Variable möchte ich später in einer  andern Zeil verwenden.

Das an die Variable übergebene Datum soll dann an Weekday übergeben werden, dass aus diesem Datum dann den Wert des jeweiligen Wochentages ermittelt und zurückgibt.

Der 20.11.2005 ist z.b. ein Sonntag, also müsste die Zahl 1 übergeben werden.

Warum kommt bei dieser Formel die 7 raus?

Was mache ich falsch?

Driri

  • Gast
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #1 am: 28.11.05 - 14:19:49 »
Du wandelst das Datum aus intdatum erst in einen Integer um und willst dann den Weekday ermitteln. Ich denke mal, daß das in die Hose geht. Laß mal das CInt weg.

intWochentag = Weekday(intdatum=Inputbox("Datum"))

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #2 am: 28.11.05 - 14:20:09 »
intdatum = InputBox$ ist keine Zuweisung, sondern ein Vergleich. Bei dem kommt logischerweise Falsch heraus, also 0. Der 30.12.1899 hat die Datumsseriennummer 0. Und der Tag wird also wohl ein Sonnabend gewesen sein ...

Bernhard

Driri

  • Gast
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #3 am: 28.11.05 - 14:30:00 »
Moment, in Script ist das doch eine Zuweisung.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #4 am: 28.11.05 - 14:33:07 »
Wenn das die erste Anweisung von links ist, ja. So aber nicht  ;)
Eine Zuweisung nach einer Zuweisung ist nicht zulässig.

Bernhard

Driri

  • Gast
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #5 am: 28.11.05 - 14:39:35 »
Aargh, okay. Ehrlich gesagt hab ich solche Konstrukte noch nie benutzt. Das wird mir persönlich viel zu unübersichtlich  ;)

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #6 am: 28.11.05 - 14:43:17 »
Ich verstehe... eine Zuweisung nach einer Zuweisung ist nicht zulässig.

DAS hab ich verstanden.

Ich hab die Zeile jetzt umgeändert und das ganze sieht jetzt so aus:

Dim intWochentag As Integer
Dim intdatum As String
intDatum = Inputbox("Datum angeben")
intWochentag = Weekday(intdatum)

Jetzt klappt das auch so wie es soll.

Dankesehr

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #7 am: 28.11.05 - 14:46:39 »
Abgesehen davon ist das Konstrukt falsch (Cint müsste CDat sein) und reagiert auf keinerlei Fehleingaben durch den User. Das müsste also sowieso grundlegend umgebaut werden.

Bernhard

EDIT: Der mittlerweile gepostete Code ist hinsichtlich Fehleingaben kein Stück resistenter  ;D

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #8 am: 28.11.05 - 15:02:51 »
@koehlerbv:

 ;D

Das ist wahr. Ich arbeite grad an einer sauberen Lösung die möglichen Fehler abzufangen

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #9 am: 28.11.05 - 15:06:16 »
Als ein Minimum:
Wenn InputBox$ leeren String liefert -> Abbruch
Wenn InputBox$ einen nicht-leeren String liefert: Mit Isdate prüfen.

HTH,
Bernhard

PS: Eleganter wäre aber eine Dialogbox mit einem hübschen Datumsfeld  ;)

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #10 am: 28.11.05 - 15:17:31 »
Stimmt, aber wenn ich das mit Hilfe einer DialogBox mache, müsste ich ja jedesmal wenn ich in Code verwenden will, die passende Maske mit dem passenden Feld haben, oder nicht?

Dann prüfe ich die Eingabe lieber mit IsDate, obwohl ich ja auch eher auf Eleganz stehe *g*

Aber so wäre der Script halt einfacher in andere DBs einbaubar.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #11 am: 28.11.05 - 15:22:13 »
Wo liegt bei der Dialogbox-Lösung denn das Problem ? Code kopieren UND die Maske ...

Bernhard

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
Re: einen eingegebenen String 2 Variablen zuweisen?
« Antwort #12 am: 28.11.05 - 15:27:26 »
Ne, das ist soweit kein Problem, aber ich bin dabei Lotus Script zu lernen. Wenn ich das alles statt mit DialogBox mit einer InputBox mache, und dann mit diversen Funktionen prüfe, ist das mehr Arbeit.

Und auf diese Weise lerne ich schneller bzw. besser.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz