setfocus

  • VB6
    ich habe in einem globalen modul stehen die Rechnung :

    Public Function Rechnung_Feld_A8(a_1 As Double, b_1 As Double)

    Rechnung_Feld_A8 = a_1 * b_1

    End Function

    diese rechnung wird weiterverwendet an die Function



    Private Sub Rechnen_Messreihe_A_Click()

    If Not IsNumeric(A1.Text) Then
    MsgBox "Geben Sie bitte den Messwert Ustr ein."
    A1.SetFocus


    ElseIf Not IsNumeric(A2.Text) Then
    MsgBox "Geben Sie bitte den Messwert Istr ein."
    A2.SetFocus

    ElseIf Not IsNumeric(A3.Text) Then
    MsgBox "Geben Sie bitte den Messwert alpha ein."
    A3.SetFocus

    ElseIf Not IsNumeric(A4.Text) Then
    MsgBox "Geben Sie bitte den Instrumentenwert cu ein."
    A4.SetFocus

    ElseIf Not IsNumeric(A5.Text) Then
    MsgBox "Geben Sie bitte den Instrumentenwert ci ein."
    A5.SetFocus

    ElseIf Not IsNumeric(A6.Text) Then
    MsgBox "Geben Sie bitte den Instrumentenwert cw ein."
    A6.SetFocus

    ElseIf Not IsNumeric(A7.Text) Then
    MsgBox "Geben Sie bitte den Instrumentenwert Rwm ein."
    A7.SetFocus

    'Feld A8
    Dim set_text_1 As Double

    z_1 = A1 'Weist der Variablen z_1 das Feld A1 zu
    z_2 = A4 'Weist der Variablen z_2 das Feld A4 zu

    set_text_1 = Rechnung.Rechnung_Feld_A8(z_1, z_2)

    ElseIf Not IsNumeric(A8.Text) Then


    MsgBox "Geben Sie bitte eine Zahl bei Ustr ein."
    A8.SetFocus

    ElseIf (set_text_1 >= 1.03 * A8.Text Or set_text_1 <= 0.97 * A8.Text) Then

    MsgBox "Der Rechenwert Ustr stimmt nicht"
    A8.Text = ""
    A8.SetFocus

    Else

    A8.Text = Round(A8.Text, 2)

    end if

    end sub



    das problem ist nun wenn ich für A1=2 und für A4=2 eingebe dann kommt bei der Rechnung im Globalen Modul 4 Raus!

    Wenn ich nun bei A8 4 eingebe dann müste er normal den Wert im Textfeld lassen, da nur noch die Bedingung else A8.Text....zutrifft!


    stattdessen sagt er der wert A8 stimmt nicht wenn ich 4 eingebe.



    ich kapier nicht warum!!!

    bitte helft mir