Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: boehnli01 am September 08, 2011, 21:50:19

Titel: Msgbox like
Beitrag von: boehnli01 am September 08, 2011, 21:50:19
Hallo zusammen, was ist hier falsch:

Ich will die msgbox sobald das Feld Overload im UFO auf "- " steht.  Momentan kommt er jedes mal mit der msg bei - und +.


If Not Me![ufo_Cap_SO_OVERVIEW_prep]![Overload] Like "+ " Then
MsgBox "CAPACITY CONTRAINT!!" & vbNewLine & "You are running into an overload.", vbCritical
Exit Sub
End If


Vielen Dank.
Titel: Re: Msgbox like
Beitrag von: bahasu am September 09, 2011, 05:22:04
Moin,

vielleicht hilft:
If Not Me![ufo_Cap_SO_OVERVIEW_prep]![Overload.text] Like "+ " Then

In welchem Ereignis steht das?

Harald


[Anhang gelöscht durch Administrator]
Titel: Re: Msgbox like
Beitrag von: Jonny am September 09, 2011, 08:27:08
Guten Morgen,
If NOT und Like sind selten zueinander passend.
mache doch einfacher
If Me![ufo_Cap_SO_OVERVIEW_prep]![Overload] Like "- " Then

Gruß

Johann
Titel: Re: Msgbox like
Beitrag von: MzKlMu am September 09, 2011, 09:20:18
Hallo,
und Like ist hier nicht notwendig. Es geht auch so:
If Me![ufo_Cap_SO_OVERVIEW_prep]![Overload] = "- " Then
Vergleich mit = dürfte schneller sein.
Je nach Ereignis ist noch .Text zu ergänzen.
Und ist da wirklich noch ein Leerzeichen nach dem - ?

@boehnli01
Es ist nie besonders hilfreich nur Codeschnipsel zu zeigen. Man muss die Zusammenhänge ahnen und in diesem Fall weis man noch nicht mal das Ereignis. Daher immer den vollständigen Code hier rein kopieren.
Titel: Re: Msgbox like
Beitrag von: boehnli01 am September 09, 2011, 10:46:16
Erstmal danke für Eure Hilfe.

Jawohl das Leerzeichen ist richtig.
Es handelt sich hier um eine Zeit und kommt von einer Abfrage und geht dann ins UFO"ufo_Cap_SO_OVERVIEW_prep". Im Steuerelement "Overload" des UFO "ufo_Cap_SO_OVERVIEW_prep"  habe ich dann folgende Formel:
=IIf([Overload] Is Null;0;IIf([Overload]<0;"- " & Format([Overload];"hh:nn");"+ " & Format([Overload];"hh:nn")))

Ich habe Euch die komplette Prozedur reinkopiert.  Keiner der Lösungsansätze hat funktioniert, aber das hat eventuell etwas mit der Zeit zu tun.


Private Sub PROD_Date_AfterUpdate()

RunCommand acCmdSaveRecord
Me.ufo_Cap_SO_OVERVIEW_prep.Form.Requery
Me!ufo_TasteConsolidation.Form.Requery
Me!ufo_Cap_SO_DIAGRAMM_grouping.Requery


If Me![ufo_Cap_SO_OVERVIEW_prep]![Overload] = "- " Then
        MsgBox "CAPACITY CONTRAINT!!" & vbNewLine & "You are running into an overload.", vbCritical
     
       
  Exit Sub
    End If



If Not Me.PROD_Date >= Date Then
       MsgBox "You have selected a date in the past! Please correct.", vbCritical
       

        Exit Sub
    End If


End Sub
Titel: Re: Msgbox like
Beitrag von: MzKlMu am September 09, 2011, 11:38:38
Hallo,
dann ist ja das - Zeichen nur ein Teil des Inhaltes. Dann funktioniert das natürlich nicht.
Versuche es mal so:
If Left(Me![ufo_Cap_SO_OVERVIEW_prep]![Overload],1) = "-" Then
Achtung: Das Leerzeichen im Vergleich dann entfernen.