Antwort schreiben...
 
Themen-Optionen Thema durchsuchen
Alt 26.05.2007, 10:08   #1
RKabis
Registrierter Benutzer
OAC-Funktion (größter Wert von ...)

Mit der OAC TOOLS und der OSA-Funktion MAXOF2 erhalte ich den größten Wert zweier Felder.

Nun habe ich aber mehrere Felder (in Datenbank).
Weiß jemand ob sich diese OSA-Funktion erweitern lässt und wenn ja, wie?
Oder ob es vielleicht noch einen anderen Weg gibt.


Aufruf - call("maxof2",date1,date2) hat funktioniert

Aufruf - call("maxof2",date1,date2,date3) brachte
"Falsche Anzahl von Parametern für OSA-Funktion"
RKabis ist offline   Mit Zitat antworten
Alt 29.05.2007, 16:58   #2
waldbauer.com
Entwickler
Also wenn ich deine OSA Funktionsbeschreibung studiere kann ich doch in Funktion meine Felder einsetzen, also call("maxof2",date1,date2) und call("maxof2",date3,date4); somit müsste ich ja mehrere Berechnungen durchführen können.
waldbauer.com ist offline   Mit Zitat antworten
Alt 29.05.2007, 18:04   #3
RKabis
Registrierter Benutzer
Das dachte ich auch, aber ich erhielt da leider die Fehlermeldung
"Falsche Anzahl von Parametern für OSA-Funkion".

Da lt. Handbuch die OSA-Funktionen eine Programmierung aus C ist (siehe Handb. f. Hilfsprogramme Seite 321) und lt. Handbuch auch OSA-Aplikationen selbst geschrieben und in OA verwendet werden können (S. 335) dachte ich man könnte die OAC entsprechend ändern.
RKabis ist offline   Mit Zitat antworten
Alt 29.05.2007, 18:11   #4
RKabis
Registrierter Benutzer
...

Leider bin ich nicht fit in der Programmierung
RKabis ist offline   Mit Zitat antworten
Alt 30.05.2007, 21:49   #5
Heinz_Richartz
Registrierter Benutzer
Hi,

ich glaube nicht, dass Du jemand findest der die (alten) OSA-Routinen umprogrammieren kann. Das muss dann auch mit einem ganz bestimmten Compiler von Microsoft passieren (steht auch im Handbuch). Nach der mir vorliegenden Beschreibung war die Routine für das Datenbank-Modul gedacht, was nicht heißt, dass sie im Programmierer nicht funktioniert. Für den Programmierer kann man das ja einfach in einer IF-Bedingung abhandeln.

Was ist das zugrundeliegende Problem? Vielleicht ist Dir ja anders zu helfen.

Schöne Grüße
Heinz
Heinz_Richartz ist offline   Mit Zitat antworten
Alt 31.05.2007, 05:18   #6
waldbauer.com
Entwickler
Also - Ludwig, der auch die Funktionsbibliothek für unsere PHP Schnittstelle programmiert hat, kann selbstverständlich auch OSA Routinen schreiben.

Dank des Programmierhandbuches von Heinz, seiner extrem guten C Kentnisse und sämtlicher alten MS Compiler haben wir schon eine OSA Anwendung bekommen (für unser Kassensystem) allerdings ist er selbst berufstätig und mittlerweile extrem gefragt - leider - somit kann ich ihn nicht mit allen Sachen gleichzeitig bombadieren. Er liest hier ab und zu mit und ich habe ihm den Link geschickt wonach er auch meint, dass man in mehreren Feldern einfach...

Code:
 
larger = call('MAXOF2' , value1 , value2) 
larger = call('MAXOF2' , larger , value3) 
larger = call('MAXOF2' , larger , value4) 
...
...machen kann und schon hat man MAX(value1...4). Ausser der Programmierer hat die Funktion vermurkst und die hat einen "Bug". Das kommt ja bekanntlich auch bei den Besten vor

Nichts desto trotz werde ich mal die OSA Beschreibungen von euch beiden demnächst komplettieren, dann beginne ich ein Fernstudium in C bei Ludwig und erstelle neue OSA's nach Wunsch für OA4 .
waldbauer.com ist offline   Mit Zitat antworten
Alt 31.05.2007, 09:48   #7
RKabis
Registrierter Benutzer
Danke an Euch beide für's feedback

Zitat:
Zu Heinz:
Habe bis dato nur ein Feld "letzter Besuch" gehabt. Nun möchte ich aber für die Kundenkontakte spezifizieren, so dass weitere Felder angelegt werden. Diese sind:
letzte Analyse Bereich Altersvorsorge: Date1
letzte Analyse Bereich Arbeitskraftsicherung: Date2
letzte Analyse Bereich Krankenvorsorge: Date3
usw. (etwa 9-10 Bereiche)
Für letzten Besuch hätte ich dann MAXOFx und damit keine Analyse zu lange in der Vergangenheit liegt MAXONx gewählt.
Zitat:
Zu Günther:
Hatte ich befürchtet und denke, dass ich innerhalb der Tabelle mit weiteren Datumsfeldern als Hilfsfelder arbeiten muss.
Da diese Tabelle - getrennt von den Kundendaten - recht klein ist, dürfte das auch kein Problem darstellen.
Wäre mit call("MAXOFx",Feld1,Feld2,Feld3,...) natürlich um einiges einfacher gewesen.
Aber schön zu hören, das die OSA-Funktionen vermutlich mal erweitert werden.
RKabis ist offline   Mit Zitat antworten
Alt 31.05.2007, 16:46   #8
Heinz_Richartz
Registrierter Benutzer
Wenn ich Dich richtig verstehe, arbeitest Du im Programmierer!? Hast Du es schon einmal mit Schachtelung versucht? Im Programmierer geht das:
DATE0 = CALL("MINOF2",date3,
CALL("MINOF2",date1,
CALL("MINOF2",date2,
CALL("MINOF2",date5,date4))))
Allerdings könnte das eng werden, denn für Formeln steht nicht unbegrenzt viel Platz zur Verfügung.

Es grüßt Dich
Heinz
Heinz_Richartz ist offline   Mit Zitat antworten
Alt 31.05.2007, 17:02   #9
RKabis
Registrierter Benutzer
Nein, ich arbeite direkt in der Datenbank.

Aber was mir auch helfen könnte wäre, wenn es eine "Schachtelung" mit einer SQL-Abfrage gäbe, da ich ja nur wissen will, bei welchem Kunden die letzte Analyse am längsten zurückliegt.

Mit dem Befehl Order könnte ich diesen ja an erster Stelle bekommen.

Wobei, kann ich nicht über Programmierung einfach die entsprechende DB aufrufen und mit Deiner Befehlsfolge mir dann die entsprechende Kundennummer /-namen anzeigen lassen?

Über ALT-F10 innerhalb der Programmierung müsste das doch auch für mich als Programmier-Laie gehen.
RKabis ist offline   Mit Zitat antworten
Alt 31.05.2007, 17:22   #10
waldbauer.com
Entwickler
Zitat:
Zitat von Heinz_Richartz Beitrag anzeigen
Wenn ich Dich richtig verstehe, arbeitest Du im Programmierer!?
Hallo Heinz !

Rainer hat es im Forum für die OSA Routinen geposted (ich selber wusste das auch nicht) deshalb stell ich das Bild der Schirmmaske auch hier rein.
Miniaturansicht angehängter Grafiken
Klicken Sie auf die Grafik für eine größere Ansicht

Name:	capture_29052007_133927.jpg‎
Hits:	13
Größe:	212.4 KB
ID:	83  
waldbauer.com ist offline   Mit Zitat antworten


Antwort schreiben...

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Nützliche Tips (Ergänzungen zum Handbuch von Heinz Richartz) waldbauer.com SPI OA4 Open Access II/III/IV (2,3,4) Anwender Forum 204 08.11.2012 14:11
OA4 OAC Dateien waldbauer.com SPI OA4 Open Access II/III/IV (2,3,4) Anwender Forum 7 23.11.2005 19:46