SonyXP
Lt. Commander
- Registriert
- Okt. 2005
- Beiträge
- 1.743
Hallo CB-Gemeinde
Ich beschäftige mich auf der Arbeit zur Zeit mit einem kleinen Access / VBA Projekt. Für mich absolutes Neuland, da ich solchen Dingen bisher immer den Rücken gekeehrt habe
Genutzt wird eine Datenbank zu der ich ein Formular erstellt habe. Auf diesem befinden sich unter anderem 12 kleine Felder, wo die Dauer eines Zeitraumes in Wochen stehen soll.
Diese Felder heißen "Wochen_Modul_1" bis "Wochen_Modul_12". Eine Funktion berechnet mittlerweile die Anzahl der Wochen und füllt die Zahlen in die entsprechenden Felder.
Nun möchte ich in einem weiteren Feld "Wochen_Gesamt" die anzahl aller anderen Felder (Wochen_Modul_1-12) summiert errechnen. Allerdings muss diese Berechnung so flexibel sein, dass sie bei Änderung eines dieser Felder automatisch neu summiert.
Mit folgendem Code versuche ich das zur Zeit:
So - bevor jetzt einige die Hände überm Kopf zusammenschlagen - Ich bin Programmieranfänger
Wie ihr sehr, möchte ich eine Funktion bilden, welche per Schleife die 12 Felder auf "NULL" überprüft und nur die addiert, welche nicht NULL sind.
Nur so ganz funktioniert das noch nicht
Meine Fragen nun:
Kann man den Zähler in Wochen_Modul_1 ... Wochen_Modul_12 <-- durch die Variable "i" überhaupt so ersetzen, sodass die Zahl jeweils den aktuellen Zählwert der Schleife wiederspiegelt?
Kann ich Formularfelder einfach mit ihrem Namen (also z.b "Wochen_Modul_1") innerhalb VBA so ansprechen, oder bedarf es einer anderen Variante?
Die Funktion soll den Wert von "temp" anschließend auch an übergeben können. (Sie wird an anderer Stelle etwa so aufgerufen "Wochen_Gesamt = Berechne_WGesamt() )
Ich habe schon über den Befehl "return" nachgelesen - demnach sollte ich den Wert mit "return temp" übergeben, blos erhalte ich dann schon eine Fehlermeldung im VBA Editor / Debugger direkt nach return "Anweisungsende erwartet".
Danke euch schonmal für jede Hilfe / Antworten
MfG
Sony
Ich beschäftige mich auf der Arbeit zur Zeit mit einem kleinen Access / VBA Projekt. Für mich absolutes Neuland, da ich solchen Dingen bisher immer den Rücken gekeehrt habe
Genutzt wird eine Datenbank zu der ich ein Formular erstellt habe. Auf diesem befinden sich unter anderem 12 kleine Felder, wo die Dauer eines Zeitraumes in Wochen stehen soll.
Diese Felder heißen "Wochen_Modul_1" bis "Wochen_Modul_12". Eine Funktion berechnet mittlerweile die Anzahl der Wochen und füllt die Zahlen in die entsprechenden Felder.
Nun möchte ich in einem weiteren Feld "Wochen_Gesamt" die anzahl aller anderen Felder (Wochen_Modul_1-12) summiert errechnen. Allerdings muss diese Berechnung so flexibel sein, dass sie bei Änderung eines dieser Felder automatisch neu summiert.
Mit folgendem Code versuche ich das zur Zeit:
Code:
Private function Berechne_WGesamt ()
Dim i, temp As Integer
temp=0
For i = 1 to 12
if IsNULL (Wochen_Modul_i) then Next i
temp=temp+Wochen_Modul_i
Next i
end Function
So - bevor jetzt einige die Hände überm Kopf zusammenschlagen - Ich bin Programmieranfänger
Wie ihr sehr, möchte ich eine Funktion bilden, welche per Schleife die 12 Felder auf "NULL" überprüft und nur die addiert, welche nicht NULL sind.
Nur so ganz funktioniert das noch nicht
Meine Fragen nun:
Kann man den Zähler in Wochen_Modul_1 ... Wochen_Modul_12 <-- durch die Variable "i" überhaupt so ersetzen, sodass die Zahl jeweils den aktuellen Zählwert der Schleife wiederspiegelt?
Kann ich Formularfelder einfach mit ihrem Namen (also z.b "Wochen_Modul_1") innerhalb VBA so ansprechen, oder bedarf es einer anderen Variante?
Die Funktion soll den Wert von "temp" anschließend auch an übergeben können. (Sie wird an anderer Stelle etwa so aufgerufen "Wochen_Gesamt = Berechne_WGesamt() )
Ich habe schon über den Befehl "return" nachgelesen - demnach sollte ich den Wert mit "return temp" übergeben, blos erhalte ich dann schon eine Fehlermeldung im VBA Editor / Debugger direkt nach return "Anweisungsende erwartet".
Danke euch schonmal für jede Hilfe / Antworten
MfG
Sony