PDA

Vollständige Version anzeigen : Problem im Modul !!! Bitte um Hilfe !!!


<Thomas>
06.10.2002, 18:43
Hallo!
Ich habe in meinem Modul folgende Zeile programmiert:

If Forms!frmDialog!Optionsgruppe1.Value = 4 = True Then
Date_Variable1 = Forms!frmDialog!DatumVon

Diese Zeile besagt, dass wenn das Optionsfeld1 den Wert „4“ hat, das Datum gleich dem Datum in Feld “DatumVon” ist!
Das Problem ist, dass das Feld „DatumVon“ aber erst sichtbar wird, wenn das Optionsfeld1 den Wert „4“ hat.
Deshalb bekomme ich eine Fehlermeldung, dass kein Datum vorhanden ist (da ich im Feld „DatumVon“ erst eine Eingabe machen kann, nachdem es sichtbar geworden ist)!!!

Frage:
Wie muss ich das Modul verändern, damit diese Funktion erst dann ausgeführt wird, wenn z.B.(1.Möglichkeit) das Feld „DatumVon“ einen zulässige Eingabe hat, oder z.B.(2.Möglichkeit) der Button „cmdFilter“ angeklickt wurde???

Würde mich freuen, wenn Ihr mir weiterhelfen könntet!!!
Gruß,
Thomas

LIF
06.10.2002, 20:50
Guten Abend,

1. nach aktualisieren der Optiongruppe
If me.Optionsgruppe1.Value = 4 Then
me.DatumVon.visible = true
endif

2.nach aktualisieren des Feldes DatumVon
if not isnull(me.DatumVon) then
xSub(me.DatumVon.Value)
endif

......

Modul
sub xSub(xDate as Date)
Date_Variable1 = xDate
end sub

Gruss

LIF
06.10.2002, 20:53
immer diese Fehler

nicht endif sondern End If

pardon

<Thomas>
06.10.2002, 21:45
Hi Lif!
Nach diesen Eingaben muss ich aber auch am Modul ‚Date_Variable1’ etwas verändern, oder? Wie muss denn das Modul abgeändert werden???
Würde mich freuen, wenn Du mir auch hierbei nochmal helfen könntest!!!

Hier das Modul:

Public Function Date_Variable1() As Date

If Forms!frmDialog!Optionsgruppe1.Value = 4 = True Then
Date_Variable1 = Forms!frmDialog!DatumVon
ElseIf Forms!frmDialog!Optionsgruppe1.Value = 1 = True Then
Date_Variable1 = "01.09.2002"
Else
Date_Variable1 = "16.02.2003"
End If

End Function

Vielen Dank für Deine Hilfe!!!
Gruß,
Thomas

P.S.: Ich würde gerne in das Modul noch eine weitere Bedingung einbauen, die im Wortlaut folgendermaßen aussieht:
Wenn die Optionsgruppe1 den Wert 3 hat, dann ist das Datum der „01.12.2002“!
Kann ich das einfach mit einem weiteren „Else If“ einbringen???

MarioR
07.10.2002, 06:25
Hallo Thomas,

bei mehr als 2 Möglichkeiten bietet sich die Case-Verzweigung an.
Weiterhin kannst Du zur Prüfung, ob ein Datum eingegeben wurde oder nicht, die Funktion IsDate verwenden.

Select Case Forms!frmDialog!Optionsgruppe1
Case 1
Date_Variable1 = "01.09.2002"
Case 3
Date_Variable1 = "01.12.2002"
Case 4
If IsDate(Forms!frmDialog!DatumVon)
Date_Variable1 = Forms!frmDialog!DatumVon
Else
'alternativer Wert für Date_Variable1
End If
Case Else
Date_Variable1 = "16.02.2003"
End Select

Möchtest Du das Ganze bei Buttonklick ausführen, dann rufe die Funktion in der Prozedur vom Klick-Ereignis vom Button auf.

LIF
07.10.2002, 09:18
Guten Morgen
- Im If Statement kannst Du nur immer ein Wert vergleichen also

If Ausdruck = True then
....
End If

oder

If Ausdruck = 1 then
......
End If

Aber "Nie"
If Ausdruck = 1=True then
....
End If
---------------------------------------

Das Ganze in Deinem Stil von Vorne
(nach MarioR), er hat da Recht.

1. nach aktualisieren der Optiongruppe

Select me.Optionsgruppe1
Case 1
Date_Variable1 = "01.09.2002"
Case 3
Date_Variable1 = "01.12.2002"
Case 4
If IsDate(me.DatumVon)
Date_Variable1 = me.DatumVon
Else
Msgbox "Es wurde kein gültiges Datum eingegeben"
End If
Case Else
Date_Variable1 = "16.02.2003"
End Select

Wenn Du die Variable in der Form weiterverwendest
brauchst Du, nach meinem jetzigen Verständnis keine Funktion mehr.

Es genügt die Sub "Nach aktualisieren"

Gruss

<Thomas>
07.10.2002, 13:06
Hallo!
Vielen Dank für Eure Hilfe!!!
Funktioniert wunderbar!
Gruß,
Thomas