Pomoc pri Datumih

Pomoč pri izdelavi makrov
Odgovori
HitRi
Prispevkov: 3
Pridružen: Sr Okt 10, 2007 10:29 am

Pomoc pri Datumih

Odgovor Napisal/-a HitRi »

im JeDatum As Boolean
' prevrjamo veljavnost vnešenega datuma
JeDatum = Date.TryParse(txtRojstni.Text, Rojstni)
If JeDatum = False Then
lblOpozorilo.Text = ("Datum ni veljaven!")
txtRojstni.Focus()
txtRojstni.SelectAll()
Else
If Starost < 18 Then
lblOpozorilo.Text = "Oseba še nima 18 let"
End If
txtRojstni.Focus()
Exit Sub
End If

Pomoč bi rabu pri tej kodi, stvar naj bi delovala tako, da pač naj bi preverjala če je oseba mlajša kot 18 let se mi v seznam ne sme vpisat in pač opozorilo dat.

Ko pa to napišem recimo 22.2.1985 Mi pa napiše da oseba ni stara 18 let
HitRi
Prispevkov: 3
Pridružen: Sr Okt 10, 2007 10:29 am

Odgovor Napisal/-a HitRi »

Koda: Izberi vse

Public Class frmPodatki

    Private Sub btnZapri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZapri.Click
        Me.Close()
    End Sub

    Private Sub Pocisti()
        txtPriimek.Text = ""
        txtRojstni.Text = ""
        txtSeznam.Text = ""
        txtTelesnaT.Text = ""
        txtTelesnaV.Text = ""
        lblOpozorilo.ResetText()
        lblOpozoriloTeze.ResetText()
        lblOpozoriloVisine.ResetText()
        txtPriimek.Focus() ' ko vse počistimo se kazalec postavi na Priimek 
    End Sub

    Private Sub frmPodatki_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call Pocisti()
        txtSeznam.Text = "Priimek" & vbTab & "Rojstni Dat." & vbTab & "Višina" & vbTab & "Teža" & vbTab & "Indeks" & vbNewLine
    End Sub

    Private Sub btnVpisi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVpisi.Click
        Dim Priimek As String
        Dim VRedu As Boolean
        Dim StZnakov As Integer
        Dim Visina As Single
        Dim Teza As Single
        Dim Rojstni As Date
        Dim Starost As Integer
        Dim Indeks As Integer

        Priimek = txtPriimek.Text
        ' kličemo podprogram, ki preveri veljavnost priimka
        Call PreveriNiz(Priimek, VRedu, StZnakov)
        ' podprogram je vrnil parametra VRedu in StZnakov
        If VRedu = False Then
            MsgBox("Priimek ni veljaven", MsgBoxStyle.Information, "Opozorilo")
            txtPriimek.Focus()
            txtPriimek.SelectAll()
            ' če priimek ni veljaven, prekinemo vnos in damo uporabniku možnost, da popravi napako
            Exit Sub
        End If


        Dim JeDatum As Boolean
        ' prevrjamo veljavnost vnešenega datuma
        JeDatum = Date.TryParse(txtRojstni.Text, Rojstni)
        If JeDatum = False Then
            lblOpozorilo.Text = ("Datum ni veljaven!")
            txtRojstni.Focus()
            txtRojstni.SelectAll()
        Else
            If Starost > 18 Then
                lblOpozorilo.Text = "Oseba še nima 18 let"
            End If
            txtRojstni.Focus()
            Exit Sub
        End If

      
        Dim JeVisina As Boolean
        JeVisina = Single.TryParse(txtTelesnaV.Text, Visina)
        If JeVisina = False Then
            lblOpozoriloVisine.Text = "Višina mora biti število"
            txtTelesnaV.Focus()
        Else
            If Visina < 100 Or Visina > 220 Then
                lblOpozoriloVisine.Text = "Višina mora biti med 100 in 220 cm"
            End If
            txtTelesnaV.Focus()
            Exit Sub
        End If

        Dim JeTeza As Boolean
        JeTeza = Single.TryParse(txtTelesnaT.Text, Teza)
        If JeTeza = False Then
            lblOpozoriloTeze.Text = "Teža mora biti število"
            txtTelesnaT.Focus()
        Else
            If Teza < 30 Or Teza > 200 Then
                lblOpozoriloTeze.Text = "Teža mora biti med 100 in 200 kg"
            End If
            txtTelesnaT.Focus()
            Exit Sub
        End If

        Indeks = Teza ^ 2 / Visina

        ' prikažemo rezultat
        txtSeznam.Text = txtSeznam.Text & Priimek & vbTab & Starost & vbTab & vbTab & Visina & vbTab & Teza & vbTab & Indeks & vbNewLine

    End Sub
End Class
Na to je cela koda, zdaj tud ne vem zakaj mi noče izpisat nobenga rezultata
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Ajaj, ajaj... :?
  1. Ali je to res VBA? :wink:
  2. In kje ste vi izračunali starost na katero se sklicujete??? V pogojnem stavku preverjate ali je starost < 18, toda starosti nikjer ne izračunate!
lp,
Matjaž Prtenjak
Administrator
Odgovori