Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB6] Controllo sui campi obbligatori

    Dovrei fare in controllo sui campi obbligatori di un fom, però ci sono due piccoli problemi:

    1. I campi sono 33

    2. Dovrei avere la possibilità di modificare i controlli in ogni momento.

    Stavo cominciando a fare in questo modo:

    Private Sub Cognome_Validate(Cancel As Boolean)
    If Cognome.Text = "" Then
    MsgBox "Il campo è Obbligatorio", vbExclamation, "Attenzione"
    Cancel = True
    End If
    End Sub

    Come si fa ad evitare di scrivere questo codice 33 volte??

  2. #2
    Utente di HTML.it L'avatar di Toeke
    Registrato dal
    Aug 2002
    Messaggi
    348
    I 33 campi sono tutti di tipo text?

  3. #3
    precisamente ci sono 30 text e 3 combo

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    102
    Puoi creare una matrice di controlli e ciclare sulla stessa per controllare almeno le 30 text e le 3 combo.
    Cosicche invece di fare 33 controlli ne fai solo 2 .

  5. #5
    Utente di HTML.it L'avatar di sebamix
    Registrato dal
    Aug 2000
    Messaggi
    1,028
    O anche:
    codice:
    ' ...
    ' Nel click di un command o dove ti serve...
    ' ...
    dim cCon as control
    dim strMsg as string
    for each cCon in me.controls
      if typeof ccon is textbox then
        if ccon.text="" then
          select case ccon.name
            case text1.name
              strMsg=strMsg & vbcrlf & "Text1"
            case text2.name
              strMsg=strMsg & vbcrlf & "Text2"
            ' ...
          end select
        end if
      elseif typeof ccon is combobox then
        ' Qui potresti controllare anche la property ListIndex, che se è -1 non è selezionato nulla nel Combo. Se controlli il Text puoi unire tutto tra ComboBox e TextBox... spero di essermi spiegato ^_^
        if ccon.text="" then
          select case ccon.name
            case combo1.name
              strMsg=strMsg & vbcrlf & "Combo1"
            '...
          end select
        end if
      end if
    next cCon
    set cCon = nothing
    
    if strmsg<>"" then
      msgbox "I seguenti campi devono essere compilati:" & strMsg,vbinformation,"Attenzione ..."
      exit sub
    end if
    ' Qua fai quello che devi fare nel caso i campi siano tutti OK;
    ' ...
    ' ...

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.