Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    [VB] Blocco iF Else non ordinato

    Ciao..
    ho un pulsante "Salva" che deve seguire alcune istruzioni prima di salvare il record nel database.. quindi ho messo una serie di If e Else ma credo non siano ordinate bene.. infatti mi riconosce solo il primo if ecco il codice:
    codice:
    Private Sub b_salva_Click()
    Dim statomod As String
    Dim statonuovo As String
    statomod = "Modifica cliente esistente"
    statonuovo = "Inserimento nuovo cliente"
    
    If t_nome = "" Or t_cognome = "" Or t_natoa = "" Then
    MsgBox ("Per poter procedere al salvataggio inserire almeno Nome, Cognome, Luogo di nascita")
    t_socion.SetFocus
    End If
    If Status.Panels(1).text = statomod Then
    Msg = MsgBox("Modifico il record Selezionato ?" & Chr(13) & t_nome.text, vbYesNo, "Modifico il record selezionato?")
    If Msg = vbYes Then
    rsonn("socio_n") = t_socion
    rsonn("turno") = t_turno
    rsonn("nome") = t_nome
    rsonn("cognome") = t_cognome
    rsonn("nato_a") = t_natoa
    rsonn("quotaversata") = t_quota
    rsonn("brevetto") = t_brevetto
    rsonn("ora") = t_ora
    rsonn("data_nascita") = t_datanascita
    rsonn("scadenza") = t_scadenza
    'salvo il record
    rsonn.Update
    ElseIf Status.Panels(1).text = statonuovo Then
    Msg = MsgBox("Aggiungo il nuovo record ?" & Chr(13) & t_nome.text, vbYesNo, "Aggiungo il nuovo record?")
    If Msg = vbYes Then
    rsonn("socio_n") = t_socion
    rsonn("turno") = t_turno
    rsonn("nome") = t_nome
    rsonn("cognome") = t_cognome
    rsonn("nato_a") = t_natoa
    rsonn("quotaversata") = t_quota
    rsonn("brevetto") = t_brevetto
    rsonn("ora") = t_ora
    rsonn("data_nascita") = t_datanascita
    rsonn("scadenza") = t_scadenza
    'salvo il record
    rsonn.Update
    Else
    Msg = MsgBox("Record non modificato:" & Chr(13) & t_nome & " " & t_cognome, vbOKOnly, "Record non Modificato")
    rsonn.CancelUpdate
    End If
    End If
    End If
    End Sub
    qualcuno cerca di ordinarmelo ?
    Voglio l'alt+s anche per FF

  2. #2
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Ciao,
    per prima cosa, dopo il primo if.. dato che fai un controllo se alcuni campi sono vuoti o meno, devi poi uscire della procedura dopo il messaggio di avvertimento!
    codice:
    Private Sub b_salva_Click()
    Dim statomod As String
    Dim statonuovo As String
    statomod = "Modifica cliente esistente"
    statonuovo = "Inserimento nuovo cliente"
    
    If t_nome = "" Or t_cognome = "" Or t_natoa = "" Then
       MsgBox ("Per poter procedere al salvataggio inserire almeno Nome, Cognome, Luogo di nascita")
       t_socion.SetFocus
       exit sub
    End If
    Poi.. quando scrivi codice.. usa le tabulazioni!!
    Come io ti ho messo gli spazi..
    Oppure, se nel tuo progetto ci sono, correggi con spazi quando posti codice.. si capisce 100 volte meglio.

    poi..
    codice:
    If Status.Panels(1).text = statomod Then
       Msg = MsgBox("Modifico il record Selezionato ?" & Chr(13) & t_nome.text, vbYesNo, "Modifico il record selezionato?")
       If Msg = vbYes Then
          rsonn("socio_n") = t_socion
          rsonn("turno") = t_turno
          rsonn("nome") = t_nome
          rsonn("cognome") = t_cognome
          rsonn("nato_a") = t_natoa
          rsonn("quotaversata") = t_quota
          rsonn("brevetto") = t_brevetto
          rsonn("ora") = t_ora
          rsonn("data_nascita") = t_datanascita
          rsonn("scadenza") = t_scadenza
          'salvo il record
          rsonn.Update
       else
          Msg = MsgBox("Record non modificato:" & Chr(13) & t_nome & " " & t_cognome, vbOKOnly, "Record non Modificato")
          rsonn.CancelUpdate
       end if
    ElseIf Status.Panels(1).text = statonuovo Then
          Msg = MsgBox("Aggiungo il nuovo record ?" & Chr(13) & t_nome.text, vbYesNo, "Aggiungo il nuovo record?")
          If Msg = vbYes Then
             rsonn("socio_n") = t_socion
             rsonn("turno") = t_turno
             rsonn("nome") = t_nome
             rsonn("cognome") = t_cognome
             rsonn("nato_a") = t_natoa
             rsonn("quotaversata") = t_quota
             rsonn("brevetto") = t_brevetto
             rsonn("ora") = t_ora
             rsonn("data_nascita") = t_datanascita
             rsonn("scadenza") = t_scadenza
             'salvo il record
             rsonn.Update
          Else
             Msg = MsgBox("Record non modificato:" & Chr(13) & t_nome & " " & t_cognome, vbOKOnly, "Record non Modificato")
             rsonn.CancelUpdate
          End If
       End If
    End If
    End Sub
    Prova così..
    Ti ho aggiunto lo stesso avvertimento se clicchi su no nella prima richiesta di conferma..

    Ciao,
    se hai ancora problemi fammi sapere!

    Gugu
    Ciao
    Andrea

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.