Guten Morgen zusammen!
Folgendes Problem.
Ich habe eine kleines Adressbuch erstellt. In diesem werden unsere Kunden verwaltet.
Unsere Vertriebler haben diese DB Lokal auf Ihrem Notebook.
Wenn man einen Kunden aufruft, dann gibt es einen Button über den über @Dialog eine Maske
mit berechneten Feldern aufgerufen wird.
Folgende Formel liegt den Feldern zu grunde:
str:= @Text(@Year(@Now));
str2:= @Right(str; 2);
jahr:= @TextToNumber(str2) - 2;
sql1:= "SELECT SUM(UXNWEF) AS SUM FROM SRVAS01.ANCRADTA.UMSSTAL1 WHERE UXKDNR = " + @Text(kundennr) + " AND UXERJJ = " + @Text(jahr);
erg1:=@DbCommand("ODBC" ; "as400" ; "user" ; "password" ; sql1);
erg1
Ich hole mir so den Umsatz direkt aus unserer Buchhaltung (AS/400)
Wenn der User jetzt aber keine Verbindung zum Netzwerk hat, dann möchte ich verhindern
das die Formel ausgeführt bzw. der Button ausgeblendet wird.
Ansonsten kommt es zu Fehlermeldungen.
Wie könnte ich das realisieren???
Ich bin über jede Idee oder Anregung dankbar!
Gruß René
Darf die Formel nur dann ausgeführt werden, oder willst Du nur Fehlermeldungen verhindern?
Für den zweiten Fall gäbe es auch die Option:
xRes := @DbCommand("ODBC" ; "as400" ; "user" ; "password" ; sql1);
erg1 := @if(
@iserror(xRes);
"[beliebiger wert, der im Fehlerfall ausgegeben werden soll]";
erg1);
damit wird die formel zwar ausgeführt, aber für den fall, dass die abfrage fehlschlägt, wird dein persönlicher FehlerwertTM ausgegeben.
Wenns nur um Fehlermeldung geht :
xRes := @iferror(@DbCommand("ODBC" ; "as400" ; "user" ; "password" ; sql1);"FEHLER");
@umi: danke für's kürzen ;) allerdings muss es dann
erg1 := @iferror(@DbCommand("ODBC" ; "as400" ; "user" ; "password" ; sql1);"FEHLER");
sein
@reraru:
die Abfrage in einem anderen (versteckten) Feld machen und bei einem passenden Wert übernehmen lassen?
dann hast du den fehler woanders und nicht angezeigt. oder wo kommt die fehlermeldung?