Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: MsgBox + käyttäjän valinta

Sivun loppuun

janos [30.12.2004 16:20:47]

#

Morjens,

Tälläinen pitäisi saada:

Kun käyttäjä on sulkemassa access-lomaketta ikkunansulkemispainikkeesta,kysytään häneltä "oletko varma?"

-jos ei ole,niin palataan lomakkeeseen ,jota yritettiin sulkea
-jos on (eli paina yes),suljetaan lomake.

Minun rävellystä:

Private Sub Form_Close()
    MsgBox "Oletko varma?", vbYesNo, "Kysy"
    Exit Sub
    If Yes Then
    Exit Sub
    End If
    End Sub

Tiedän...ei toimi. Milläs saisin silleen että painettaessa "No",käyttäjä ohjataan palaamaan lomakkeelle?. Kiitos paljon neuvoista

Antti Laaksonen [30.12.2004 16:34:54]

#

Kirjoita koodi Unload-tapahtumaan ja muuta Cancel-parametrin arvoksi True, jos lomaketta ei pidäkään sulkea.

Private Sub Form_Unload(Cancel As Integer)
    If MsgBox("Oletko varma?", vbYesNo) = vbNo Then
        Cancel = True
    End If
End Sub

Lisää tietoa: Unload-tapahtuma, MsgBox

tuomas [30.12.2004 17:05:42]

#

Jos mietit että mikä koodissasi oli väärää, niin heti kun msgboxia oli klikattu (kumpaa vaihtoehtoa vaan) niin aliohjelmasta poistuttiin eikä tarkistusta tehty loppuun.
Eli "Exit Sub" suoritettaessa poistutaan aliohjelmasta eikä sen jälkeen olevaa koodia suoriteta.

janos [31.12.2004 09:30:42]

#

Kiitos jälleen kerran avusta.Siitä on suuri apu.

Voisitteko kertoa/antaa vinkkiä,mikä voisi olla hyvä kirja tälläiseen "käytännönläheiseen" Visual basic+access jne ohjelmointiin,tarkoitan siis,että siinä olisi esim vastaavanlaisia toimintoja ohjeistettu,tai vaikkapa joku esimerkki kanta,johon toimintoja koodataan.

Kiitti vielä

zigilii [31.12.2004 09:47:42]

#

offtopic: Visual Basic-oppaista sen verran että kun painaa kakkosta, niin otsikkona on "Osa 3 - Muuttujat ja taulukot" Ja kun taas painaa kolmosta niin sen otsikkona on "Osa 4...". Sitten kun painaa nelosta nii otsikko on "Osa 2..."

petrinm [31.12.2004 11:10:42]

#

Sama asia kannattaa tehdä muuttujalla jos valintoja on kolme tai enemmän.

Private Sub Form_Unload(Cancel As Integer)
    Kysy = MsgBox("Oletko varma", vbYesNoCancel, "kysy")
    If Kysy = vbYes Then
        'Tapahtuma
    Elseif Kysy = vbNo Then
        'Tapahtuma
    Else
        'Tapahtuma
    End If
End Sub

Antti Laaksonen [31.12.2004 14:08:23]

#

zigilii: Opassarja on uudistumassa, minkä takia jotkut vanhat oppaat ovat jo korvautuneet uusilla. Numerointikin on eri.

petrinm: Tai ehkä kannattaa käyttää Select Case -rakennetta, jolloin erillinen muuttuja ei ole tarpeen.

Maza63 [04.01.2005 15:23:37]

#

hienomma! Mua on tää problem0 vaivannu pitkään (2 päivää kun en ole ohjelmoinut kauempaa) =D


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta