Ongelman kuvaus:
Ennen tiedon tallentamista tarkistetaan että esim. tekstikenttä ei ole tyhjä. Jos kenttä on tyhjä ilmoitetaan siitä ja keskeytetään ohjelman suorittaminen.
Tämänhän voi toteuttaa esim if-else-lauseella näin:
if textbox1.text = "" then
msgbox("Kirjoita jotain kenttään")
else
SuoritaJotain()Mutta haluasin tehdä tämän tarksituksen erillisessä metodissa. Jotain tähän tyyliin:
public sub Tarkista()
if textbox1.text = "" then
msgbox("Kirjoita jotain kenttään")
end sub
'ja sitten ennen ennen tallentamista
Tarkista()
' jos tarkista metodilla ei ole pahaa sanottavaa, niin jatketaan tallentamiseen 'jne.
SuoritaJotain()Eli nythän ongelmana on se, että vaikka kenttä olisi tyhjä ja siitä tulisi ilmoitus niin ohjelman suorittaminen jatkuu -> tyhjä tekstikenttä menee talteen , niin että humahdus vaan käy. Eli oisko ideoita että miten saisin ks. ongelman pois päiväjärjestyksesta?
No yleisesti ottaen kannattaisi varmaan tehdä tuosta tarkistuksesta funktio, joka palauttaisi esim. boolean True jos kaikki ok.
Private Function KaikkiOK() As Boolean
If TextBox1.Text = "" Then
MsgBox("Kirjoita jotain kenttään")
Return False
End If
'Ei ollut virheitä
Return True
End Function
Private Sub Tallennus()
'Ennen tallentamista
If Not KaikkiOK() Then Exit Sub
SuoritaJotain()
End SubJuuri tälläistä kaipailin. Kiitoksia taas.
Aihe on jo aika vanha, joten et voi enää vastata siihen.