Um mich besser aufs Abi vorzubereiten, hat mir mein Lehrer alte Klausuren zur Verfügung gestellt. Nur leider hab ich bei einer die Lösung nicht... Da ich diesen Teil nicht wirklich verstanden hab, hoffe ich ihr könnt mir die Aufgaben lösen.
Die Datenbank und Aufgabenstellungen hab ich bei Rapidshare hochgeladen, sollte eigentlich für jemanden, der sich mit Access und VBA auskennt kein Problem sein... danke schonmal!
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
ok da wohl verständlicherweise niemand lust dazu hat^^, beschränk ich meine frage mal auf folgende aufgabenstellung:
Ihre Aufgabe besteht darin, die vorliegenden Programmzeilen durch Unterprozeduren zu ersetzen. Beginnen Sie mit der Aufzeichnung bei „Do“; die Textpassagen können Sie auch kürzen.
Obwohl es bei dieser Aufgabe hauptsächlich um die Struktur geht, sollten Sie auf korrekte Wiedergabe der Zeilen achten.
Code:
Private Sub befDialog_Click()
Dim anzahl As Double
Dim preis As Double
Dim ergebnis As Double
Const VVK = 1.1
Dim antwort As Integer
ergebnis = 0
Do
anzahl = Val(InputBox("Bitte geben Sie die Anzahl der Karten ein", "Anzahl Karten"))
preis = Val(InputBox("Bitte geben Sie den Preis pro Karte an", "Preis eingeben"))
ergebnis = anzahl * preis * VVK + ergebnis
MsgBox "... ergibt insgesamt " & Format(ergebnis, "#,##0.00 €"), , "Gesamtpreis"
antwort = MsgBox("Möchten Sie noch weitere Karten kaufen?", vbYesNo, "Weiter?")
Loop Until antwort = vbNo
End Sub
Const VVK = 1.1
Private Sub CmdStart_Click()
Dim anzahl As Double
Dim preis As Double
Dim ergebnis As Double
Dim antwort As Integer
ergebnis = 0
Do
anzahl = Val(InputBox("Bitte geben Sie die Anzahl der Karten ein", "Anzahl Karten"))
preis = Val(InputBox("Bitte geben Sie den Preis pro Karte an", "Preis eingeben"))
ergebnis = prodz(anzahl, preis)
MsgBox "... ergibt insgesamt " & Format(ergebnis, "#,##0.00 €"), , "Gesamtpreis"
antwort = MsgBox("Möchten Sie noch weitere Karten kaufen?", vbYesNo, "Weiter?")
Loop Until antwort = vbNo
End Sub
Function prodz(anzahl, preis)
ergebnis = anzahl * preis * VVK + ergebnis
prodz = ergebnis
End Function
Solange die Variable 'zahl' kleiner gleich der Variable 'Obergrenze' ist, wird der Variable 'summe' der aktuelle Wert von 'summe' und 'zahl' übergeben.
Die Zahlen, die bei diesem Prozess entstehen sind alles natürliche Zahlen mit mehr als 2 Teilern
Zudem wird der Variable 'zahl' der aktuelle Wert der Variable 'zahl' + 2 übergeben - es besteht also ein lineares Wachstum.
Nach Schleifenende wird der aktuelle Wert der Variable 'summe' an die Variable 'Text0' übergeben.
Kopfgesteuert
Code:
Private Sub Befehl3_Click()
Do While zahl <= Obergrenze 'Do Until zahl >= Obergrenze 'While zahl <=Obergrenze
summe = summe + zahl
zahl = zahl + 2
Loop 'Loop 'Wend
Text0 = summe
End Sub
Fußgesteuert
Code:
Private Sub Befehl3_Click()
Do
summe = summe + zahl
zahl = zahl + 2
Loop While zahl <= Obergrenze 'Loop Until zahl >= Obergrenze
Text0 = summe
End Sub
Wobei ich denke, dass dies eine Hausaufgabe sein sollte - denn sonst hättest du auch deinen Lehrer um die Lösungen beten können.