Fout

Status
Niet open voor verdere reacties.

Dieterken

Gebruiker
Lid geworden
19 nov 2002
Berichten
179
Ik heb (met visual basic 6.0 enterprise editon) een rekenmachine gemaakt om interest te berekenen, maar er zit een fout in. Kan iemand mij helpen? Je mag het veranderen en het dan doorsturen naar mij (znoskie@hotmail.com)
 

Bijlagen

Hebben de mensen daar wat aan? enkel een vbp bestand? ik heb visual basic 6 prof maar die werkt met meerdere bestanden.
 
Als ik een fout opgelost heb treed er weer een andere fout op en dan weer een en dan weer een,dus weet het ff niet meer.
 
Hoelang ben je al bezig met VB? Misschien dat je zou kunnen overstappen naar Delphi, die is wat meer "rekenkrachtig" :)
 
Je vergat een index mee te geven aan je txt-variabelen.

Ik heb jouw code gecorrigeerd, omdat er een aantal
fouten bevatten:

1) Gebruik altijd Option Explicit, dit om spellingsfouten en
niet gedefinieerde variabelen te ondervangen.
Option Explicit stel je als volgt in:
Tools/Option/Vink "Require Variable Declaration" af.
(Of bij General Declaration gewoon intypen)
Had je dit wel gedaan, dan had je gezien dat "txtRerm"
"txtTerm" had moeten zijn. Dus een spellingsfout!

2) "txtTerm" was in feite ook nog niet correct. Het had
txtTerm(1) moeten zijn. Dus met een index.
Het indexeren is in dit geval totaal overbodig.
Ik denk dat je dit per ongeluk had gedaan.
Alle variabelen die met "txt" beginnen heb ik wel een
index moeten meegegeven overeenkomstig de properties v.d.
Text-box controls (zie properties venster).

3) Copieer onderstaande code (is al gecorrigeerd, dus hoef je
"Option Explicit" niet erbij te doen, maar dit is wel
aangeraden).



Private Sub cmdCompute_Click()
'use a for loop to calculate a final total
'investment using compuid interest.
'
'intnum is a loop control variable
'sngirate is the annual interest rate
'intterm is the number of years in the investment
'snginterest is the total interest paid
Dim sngIRate As Single, snginterest As Single
Dim intterm As Integer, intNum As Integer
Dim curinitinv As Currency

sngIRate = txtRate(0) / 100# '====WAS txtRate

intterm = txtterm(1) '=====WAS txtRerm

curinitinv = txtInvest(1) '=====WAS txtInvest
snginterest = 1# 'begin at one for first compound

'use loop to calculate total compound amount
For intNum = 1 To intterm
snginterest = snginterest * (1 + sngIRate)
Next intNum

'now we have total interest,
'calculate the total investment
'at the end of N years
txtEnding(1).Text = curinitinv * snginterest
End Sub
 
bedankt dennis!!! Ik zet jouw naam zeker op mijn website bij de "special thanks to"!!!!
 
Ik heb er nu nog een module aan toegevoegd (om verkeerde waarden op te sporen) maar er zit weer een fout in...
 

Bijlagen

verander de bass file in:

Option Explicit

Public Function ErrorCheck() As Integer
Dim intPress As Integer
'Error checking voor het formulier
If Val(frmInterest.txtRate(0)) <= 0 Then
intPress = MsgBox("Vul een waarde in voor het startkapitaal!!!", vbCritical)
frmInterest.txtRate(0).SetFocus
ErrorCheck = 1
Exit Function
End If
If Val(frmInterest.txtterm(1)) <= 0 Then
intPress = MsgBox("Vul een waarde in voor het termijn!!!", vbCritical)
frmInterest.txtterm(0).SetFocus
ErrorCheck = 1
Exit Function
End If
If Val(frmInterest.txtInvest(1)) <= 0 Then
intPress = MsgBox("Vul een waarde in voor het eindkapitaal!!!", vbCritical)
frmInterest.txtInvest(0).SetFocus
ErrorCheck = 1
Exit Function
End If
'no error occurred if execution gets here
ErrorCheck = 0
End Function

je vergat intPress te declareren en je maakte weer dezelfde fout met je txtfiles. Die zijn geindexeerd nog steeds. Wil je daar vanaf dat moet je in de form even de textboxen selecteren en de 0 verwijderen bij de indexproperty.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan