Beschreibung:
Die Methode muss zwischen StartWaitDlg und EndWaitDlg aufgerufen werden und gibt zurück, ob der Benutzer die Schaltfläche "Abbrechen" des Wartedialoges betätigt hat, sofern StartWaitDlg mit Abbruch-Schaltfläche angezeigt wurde. Die Methode wird vorzugsweise in Ausführungsschleifen verwendet.
Rückgabewert:
Bool
Beispiel VBScript:
' Durchlaufen von mehreren Firmen-Datensätzen zur Berechnung der Summe der Umsatzziele. Für die Laufzeit der Berechnung wird ein Wartedialog aufgerufen, dessen Inhalt für jeden Durchlauf aktualisiert wird (SetWaitDlgText) und eine Abbruchbedingung (CheckAbortedWaitDlg) besitzt
Dim oRecordSet : Set oRecordSet = cRM.CurrentProject.ViewConfigs.ItemByName("Firmen").CreateRecordSet
Dim oRecord
Dim bSkipped : bSkipped = False
Dim i, nTurnover, nSumOfTurnover
Dim nRecordSetRecCount : nRecordSetRecCount = oRecordSet.RecCount
If (nRecordSetRecCount > 0) Then
Call cRM.StartWaitDlg("Die Summe der Umsatzziele für alle Datensätze der Firmen-Ansicht wird berechnet, bitte haben Sie noch etwas Geduld.", True, 0)
Call oRecordSet.MoveFirst()
For i = 1 To nRecordSetRecCount
Call cRM.SetWaitDlgText("Die angeforderten Informationen werden berechnet, bitte haben Sie noch etwas Geduld." & vbCrLf & vbCrLf & "Fortschritt: Datensatz " & CStr(i) & " von insgesamt " & oRecordSet.RecCount & " Datensätzen wird derzeit verarbeitet.")
Set oRecord = oRecordSet.CurrentRecord
nTurnover = oRecord.GetContentsValueByName("TurnoverTarget")
If (IsNull(nTurnover) = False) Then
nSumOfTurnover = nSumOfTurnover + nTurnover
End If
Set oRecord = Nothing
If (cRM.CheckAbortedWaitDlg = True) Then
bSkipped = True
Exit For
ElseIf (cRM.CheckAbortedWaitDlg = False) Then
Call oRecordSet.MoveNext()
End If
Next
Call cRM.EndWaitDlg()
If (bSkipped = True) Then
Call cRM.DialogMessageBox("Die Summe der Umsatzziele konnte nicht vollständig berechnet werden. Die Summe vor dem Abbruch der Aktion betrug " & CStr(nSumOfTurnover) & " EUR.", "Aktion abgebrochen", vbOkOnly)
ElseIf (bSkipped = False) Then
Call cRM.DialogMessageBox("Die Summe der Umsatzziele beträgt " & CStr(nSumOfTurnover) & " EUR.", "Ergebnis der Berechnung", vbOkOnly)
End If
Else
Call cRM.DialogMessageBox("Es wurden keine Datensätze für die Berechnung der Summe der Umsatzziele in der Firmen-Ansicht gefunden.", "Keine Datensätze gefunden", vbOkOnly)
End If
Set oRecordSet = Nothing
Beispiel C#-Script:
// Durchlaufen von mehreren Firmen-Datensätzen zur Berechnung der Summe der Umsatzziele. Für die Laufzeit der Berechnung wird ein Wartedialog aufgerufen, dessen Inhalt für jeden Durchlauf aktualisiert wird (SetWaitDlgText) und eine Abbruchbedingung (CheckAbortedWaitDlg) besitzt
RecordSet recordSet = cRM.CurrentProject.ViewConfigs.ItemByName("Firmen").CreateRecordSet();
Record record;
bool skipped = false;
int sumOfTurnover = 0;
long recordSetRecCount = recordSet.RecCount;
if (recordSetRecCount > 0)
cRM.StartWaitDlg("Die Summe der Umsatzziele für alle Datensätze der Firmen-Ansicht wird berechnet, bitte haben Sie noch etwas Geduld.", true, 0);
recordSet.MoveFirst();
for (int i = 1; i <= recordSetRecCount; i++)
{
cRM.SetWaitDlgText("Die angeforderten Informationen werden berechnet, bitte haben Sie noch etwas Geduld." + "\r\n" + "\r\n" + "Fortschritt: Datensatz " + i.ToString() + " von insgesamt " + recordSet.RecCount + " Datensätzen wird derzeit verarbeitet.");
record = recordSet.CurrentRecord;
int turnOver = (int)record.GetContentsValueByName("TurnoverTarget");
if (turnOver != 0)
sumOfTurnover += turnOver;
record.Dispose();
if (cRM.CheckAbortedWaitDlg() == true)
{
skipped = true;
break;
}
else if (cRM.CheckAbortedWaitDlg() == false)
{
recordSet.MoveNext();
}
}
cRM.EndWaitDlg();
if (skipped == true)
cRM.DialogMessageBox("Die Summe der Umsatzziele konnte nicht vollständig berechnet werden. Die Summe vor dem Abbruch der Aktion betrug " + sumOfTurnover.ToString() + " EUR.", "Aktion abgebrochen", 0);
else if (skipped == false)
cRM.DialogMessageBox("Die Summe der Umsatzziele beträgt " + sumOfTurnover.ToString() + " EUR.", "Ergebnis der Berechnung", 0);
else
cRM.DialogMessageBox("Es wurden keine Datensätze für die Berechnung der Summe der Umsatzziele in der Firmen-Ansicht gefunden.", "Keine Datensätze gefunden", 0);
recordSet.Dispose();