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 Sub
Juuri tälläistä kaipailin. Kiitoksia taas.
Aihe on jo aika vanha, joten et voi enää vastata siihen.