title image


Smiley Was mag das werden?
Hi,



abgesehen von der Zukunftsfähigkeit dieser Konstruktion - die Kontonummern solltest Du in Tabellen auslagern, damit das wartbar bleibt - seh ich zwei Probleme:





Public Function ZVKSatz(KontoKST, Konto)

If KontoKST = "6008090090630" Or Konto = "60110400" Or Konto = "0" Then

ZVKSatz = 0

Elseif KontoKST = "6000070090120" Then

ZVKSatz = ZVK_Satz () - 30000 '<<<<< hier ruft die Funktion sich selbst auf, und zwar ohne Parameter!

Else

ZVKSatz = ZVK_Satz() '<< hier auch!!!

End If

End Function







Vielleicht solltest Du "während" der Funktion erstmal eine temporäre Variable bestücken, die dann am Ende der Funktion zum Funktionswert wird:





Public Function ZVKSatz(KontoKST as String, Konto as String) AS Long 'oder was auch immer der Datentyp ist! Deklaration?!

Dim tmp as long 'oder was auch immer der Datentyp ist! Deklaration?!

If KontoKST = "6008090090630" Or Konto = "60110400" Or Konto = "0" Then

tmp = 0

Elseif KontoKST = "6000070090120" Then

tmp = tmp () - 30000

Else

tmp = tmp 'nix zu tun

End If

ZVKSatz = tmp

End Function





Die eklige Elseif-Konstruktion kannst Du vielleicht auch mit einer Select-Case-Struktur übersichtlicher gestalten. Und denke an die Deklaration Deiner Variablen, das hilft Dir (und uns) beim Denken!



HTH

Martin
Atrus2711 ät gmx punkt net
Meine Beiträge zu MS Office betreffen stets Version 2000,
wenn nicht anders angegeben.




geschrieben von


Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: