PDA

Vollständige Version anzeigen : frage zur if anweisung?


darkfire
21.03.2004, 14:32
wie müsste ich eine if anweisung aufbauen, damit ich 2 verschiedene formulare öffnen kann sobalt ds vorhanden sind und wenn bei beiden keine ds vorhanden sind soll access geschlossen werden!

mein versuch:
funktioniert aber nur wenn beide formulare ds enthalten. sonst wird access geschlossen, was aber nicht erwünscht ist.

Dim intG As Integer
Dim intT As Integer


'Anzahl Datensätze der Abfrage ermitteln'
intG = DCount("*", "abfGeburtstage")
intT = DCount("*", "abfTermine")


'Wenn datensätze vorhanden "GeburtstagsErinnerung" öffnen'
If intG > 0 Then
DoCmd.OpenForm "frmGeburtstagsErinnerung"
DoCmd.Close acForm, "frmHauptübersicht", acSaveYes

Else: DoCmd.Close

End If

'Wenn datensätze vorhanden "frmTerminerinnerung" öffnen
If intT > 0 Then
DoCmd.OpenForm "frmTerminerinnerung"
DoCmd.Close acForm, "frmHauptübersicht", acSaveYes

Else: DoCmd.Close

End If
End Sub

besten dan im voraus!

greets
darkfire

Arne Dieckmann
21.03.2004, 14:38
Hilft das schon?:

If intG = 0 and intT=0 Then
DoCmd.Close 'oder Quit?
Else
if intG>0 then
DoCmd.OpenForm "frmGeburtstagsErinnerung"
End if
if intT>0 Then
DoCmd.OpenForm "frmTerminerinnerung"
End if
DoCmd.Close acForm, "frmHauptübersicht", acSaveYes
End if

Scrap
21.03.2004, 14:48
ich weis nciht wie wichtig das ist, aber else wird imo ohne doppelpkt geschrieben. dieser markiert eine sprungmarke.

vielleicht liegt da das problem?

<FONT FACE="Courier New,FixedSys"Size=2>
<FONT COLOR=#008000>'Wenn&nbsp;datens&auml;tze&nbsp;vorhanden&nbsp;"frmTerminerinnerung"&nbsp;&ouml;ffnen</FONT><BR>
<FONT COLOR=#0000FF>If&nbsp;</FONT>intT&nbsp;&gt;&nbsp;0&nbsp;<FONT COLOR=#0000FF>Then</FONT><BR>
&nbsp;&nbsp;&nbsp;&nbsp;DoCmd.OpenForm&nbsp;"frmTerminerinnerung"<BR>
&nbsp;&nbsp;&nbsp;&nbsp;DoCmd.Close&nbsp;acForm,&nbsp;"frmHaupt&uuml;bersicht",&nbsp;acSaveYes<BR>
<FONT COLOR=#0000FF>Else</FONT><BR>
&nbsp;&nbsp;&nbsp;&nbsp;DoCmd.Close<BR>
<FONT COLOR=#0000FF>End&nbsp;If</FONT><BR>
<BR>
</FONT>


alternativ würde ich versuchen, eine bestimmt spalte zu zählen statt stern.

ansonsten sehe ich keinen fehler in der sub

mfg scrap

darkfire
21.03.2004, 15:02
hi

besten dank für die raschen und sehr hilfreichen tipps jetzt funktitoniert es einwandfrei!

der code von arne ist das was ich gesucht habe. aber den tipp mit dem doppelpunkt, dem werde ich auch mal nachgehen, denn access hat mir den doppelpunkt automatisch angefügt, wieso weis ich auch nicht aber ist ja jetzt nicht mehr relevant.

greets
darkfire

Nelix
21.03.2004, 16:34
Hallo

Wenn die Anweisung in dem "Else"-Teil direkt hinter Else steht, dann werden dort Doppelpunkte gesetzt.
Wird aber diese Anweisung in die nächste Zeile gesetzt, werden diese weggelassen.

If Me.test = true then
msgBox "So"
Else: msxbox "Und So"
End if

Oder

If Me.test = true then
msgBox "So"
Else
msxbox "Und So"
End if

Grüße

Nelix

Scrap
21.03.2004, 16:40
ahh, des rätsels lösung, danke