Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Klaus S. aus B am Februar 21, 2012, 17:54:56

Titel: Wert setzen abhängig von mehreren DS im UFO
Beitrag von: Klaus S. aus B am Februar 21, 2012, 17:54:56
Hallo zusammen,

ich habe eine fixe Idee, aber keinen Plan wie umzusetzen.

Ich habe einen Auftrag, der aus mehreren Arbeitspaketen besteht. (2 TAbellen in 1:n Beziehung)
Jedes Arbeitspaket hat einen Status "abgeschlossen" (j/n).

Jetzt suche ich einen Weg, dass ich beim Auftrag einen Wert "abgeschlossen" (j/n) gesetzt bekomme, sobald das letzte Arbeitspaket als "abgeschlossen" gekennzeichnet wird.
Den Status der Arbeitapakete setzt man in einem UFO im Formular des Auftrags (weiß nicht, ob das vielleicht hilft).

Geht das überhaupt?
Kann mir jemand einen Tipp geben, wie ich das schaffen könnte?

Gruß
Klaus
Titel: Re: Wert setzen abhängig von mehreren DS im UFO
Beitrag von: DF6GL am Februar 21, 2012, 18:12:10
Hallo,

was ist das letzte  "Arbeitspaket"?

Wenn Du damit "alle" Arbeitspakete meinst , dann wäre sowas möglich im Steuelementinhalt des Ja/Nein-Feldes im Hauptform (Datenherkunft "tblAuftrag"):

=not (Dcount ("*";"tblArbeitspakete"," [AuftragID]=" & [AuftragID])  + DSum("abgeschlossen";"tblArbeitspakete"," [AuftragID]=" & [AuftragID]) )
Titel: Re: Wert setzen abhängig von mehreren DS im UFO
Beitrag von: bahasu am Februar 21, 2012, 18:36:41
N'abend

meine Antwort hat etwas länger gedauert, aber dafür mit kleinem Anhang.

Harald

[Anhang gelöscht durch Administrator]
Titel: Re: Wert setzen abhängig von mehreren DS im UFO
Beitrag von: Klaus S. aus B am Februar 21, 2012, 18:43:12
Hallo,

ich verstehe deine Antwort nicht so ganz.  ???

Wo müsste ich den Code denn einbauen? Im Steuerelementinhalt des Formulars müsste ja tblAuftrag.abgeschlosen stehen, oder?

Wo kommt der Code dann hin?

...
Zur deiner Frage
Zitat von: DF6GL am Februar 21, 2012, 18:12:10
was ist das letzte  "Arbeitspaket"?
Es kann unterschiedlich viele Arbeitspakete pro Auftrag geben. Diese werden auch nicht unbedingt in der gleichen Reihenfolge abgearbeitet.
Hast Du darauf abgezielt?

Gruß
Klaus
Titel: Re: Wert setzen abhängig von mehreren DS im UFO
Beitrag von: Klaus S. aus B am Februar 21, 2012, 18:49:47
@HArald,

vielen Dank schon mal. Das sieht genauso aus, wie ich es mir gedacht habe.

Für diesen Fall habe ich nur einen ganz digitalen Status: Entweder "abgeschlossen" oder "nicht abgeschlossen", ein bisschen schwanger brauche ich hier nicht. Das passt gut.

Ich bekommen nur beim Anlegen eines neuen DS (Auftrag) eine Fehlermedlung "Syntaxfehler (fehlender Operator".
Wie fange ich den ab?

Gruß
Klaus
Titel: Re: Wert setzen abhängig von mehreren DS im UFO
Beitrag von: bahasu am Februar 21, 2012, 19:19:43
N'abend,

z.B mit
Private Sub Form_Current()
   Me.Arbeitspaket_U.Requery
   
  If Not Me.NewRecord Then        
        If DCount("Status", "Arbeitspaket", "nz(Status,'') = 'abgeschlossen' and von_id_Auftrag = " & id_Auftrag) = DCount("*", "Arbeitspaket", "von_id_Auftrag = " & id_Auftrag) Then
           If Nz(Me.Status, "") <> "abgeschlossen" Then Me.Status = "abgeschlossen"
   
       Else
           Me.Status = ""      ' aber was soll passieren, wenn es auch noch andere gibt => z.B. "offen" oder "gestartet"
       End If
  End If
End Sub

d.h. das obige wird nur abgefragt, wenn es kein neuer Datensatz ist
Harald
Titel: Re: Wert setzen abhängig von mehreren DS im UFO
Beitrag von: Klaus S. aus B am Februar 21, 2012, 19:27:51
Hallo Harald,

Super, Danke!

Noch eine Frage. Ich bin der VBA Anfänger. Wie baue ich den Code um, dass es mit einen ja/nein Feld funktioniert?

Habe es schon versucht, will aber nicht so wie ich will.  ;D

Gruß
Klaus
Titel: Re: Wert setzen abhängig von mehreren DS im UFO
Beitrag von: bahasu am Februar 21, 2012, 19:30:19
Hi,

siehe Anhang

Harald

[Anhang gelöscht durch Administrator]