+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 8 su 8

Richiamare la stessa funzione da due form diversi

  1. #1
    Ciao a tutti,
    spero che non mi sia sfuggita la soluzione, non sono riuscito a trovarla facendo una ricerca sul forum.
    Ho una funzione che riempie una combobox con dei nomi e devo richiamare la funzione da due form diversi.
    Come faccio a capire da quale form parte la chiamata alla form?
    Grazie
    Luca

  2. I nomi con cui popolare i combox sono gli stessi indipendentemente dal combobox ?

    Mostra la funzione (almeno la firma).
    ℹ️ Leggi di più su sspintux ...

  3. #3
    L'avatar di ken1986
    ken1986 non è in linea Scolaretto
    Nei parametri della funzione inserisci un form e poi verifichi quale form è satato passato come parametro
    ℹ️ Leggi di più su ken1986 ...

  4. #4
    Si, i nomi li ho lasciati identici, così eventualmente pensavo di modificare solo la parte relativa alla form.
    Le due form sono rispettivamente frmAnagrafica e frmAppuntamenti. La routine l'ho fatta relativa alla frmAnagrafica, ma mi sono reso conto che posso usarla anche nell'altra form e quindi risparmiare in codice scritto.
    Le funzione è la seguente:
            Dim strSQL As String = "SELECT * FROM Anagrafica"
            Dim Cmd As New OleDb.OleDbCommand(strSQL, objconn)
            Dim DataReader As OleDb.OleDbDataReader
            Try
                DataReader = Cmd.ExecuteReader
                While DataReader.Read()
                    frmAnagrafica.cboElencoNomi.Items.Add(Trim(DataReader("Cognome")) & " " & Trim(DataReader("Nome")) & " - [" & Trim(DataReader("CodiceFiscale")) & "]")
                End While
            Catch
                MsgBox("Si è verificato un errore." & vbNewLine & Err.Description, MsgBoxStyle.Critical, "Errore: " & Err.Number)
            Finally
                Cmd = Nothing
                DataReader.Close()
                DataReader = Nothing
            End Try
    
    volevo inserire il richiamo al form, al posto del frmAnagrafica inserire l'eventuale variabile che identifica se la chiamata è stata fatta dalla frmAnagrafica oppure dalla frmAppuntamenti.
    Come si inserisce il parametro nella form (e soprattutto quale)?
    Grazie
    Ultima modifica di elisab; 01-10-2010 20:38  Motivo: mancato utilizzo dei tag [code][/code]

  5. #5
    Dove si trova questa funzione ?
    • Su un modulo ?
    • Su uno dei Form ?
    ℹ️ Leggi di più su Fix ...

  6. #6
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Quote Originariamente inviato da luca.pizzonia Visualizza il messaggio
    Si, i nomi li ho lasciati identici, così eventualmente pensavo di modificare solo la parte relativa alla form.
    Le due form sono rispettivamente frmAnagrafica e frmAppuntamenti. La routine l'ho fatta relativa alla frmAnagrafica, ma mi sono reso conto che posso usarla anche nell'altra form e quindi risparmiare in codice scritto.
    Le funzione è la seguente:
    Dim strSQL As String = "SELECT * FROM Anagrafica"
    Dim Cmd As New OleDb.OleDbCommand(strSQL, objconn)
    Dim DataReader As OleDb.OleDbDataReader
    Try
    DataReader = Cmd.ExecuteReader
    While DataReader.Read()
    frmAnagrafica.cboElencoNomi.Items.Add(Trim(DataReader("Cognome") ) & " " & Trim(DataReader("Nome")) & " - [" & Trim(DataReader("CodiceFiscale")) & "]")
    End While
    Catch
    MsgBox("Si è verificato un errore." & vbNewLine & Err.Description, MsgBoxStyle.Critical, "Errore: " & Err.Number)
    Finally
    Cmd = Nothing
    DataReader.Close()
    DataReader = Nothing
    End Try

    volevo inserire il richiamo al form, al posto del frmAnagrafica inserire l'eventuale variabile che identifica se la chiamata è stata fatta dalla frmAnagrafica oppure dalla frmAppuntamenti.
    Come si inserisce il parametro nella form (e soprattutto quale)?
    Grazie
    Queste sono semplici istruzioni,diventano funzioni se vengono inserite dentro a Public con relativi parametri in ingresso che ritornano valori,quindi,per poter essere utilizzati dai vari form devono esere inseriti dentro ad un modulo con istruzione Public.
    ℹ️ Leggi di più su sistemista ...

  7. #7
    Sscusate se non l'ho scritto, l'avevo dato per scontato.
    In realtà non è una funzione, è una sub, dichiarata come public ed è inserita in un modulo.
    Ultima modifica di luca.pizzonia; 01-10-2010 19:51 

  8. #8
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Ecco. Direi che da questa domanda si inizia il passaggio verso OOP e utilizzo dei template(MVC e altri). Come posiamo notare il codice funziona ma c'e qualcosa che non va. Manca l'ordine.
    Quindi. Io dire di separare le cose. Hai mischiato insieme i 3 strati principali:
    - Data Access Layer (strato di accesso ai dati)
    - Business Logic Layer(strato di business logica)
    - Reppresentation Layer(strato di presentazione oppure GUI)

    Quindi crea una classe es. DataUtilsAdapter
    Dentro metti tutti i metodi che vorresti condividere.
    I metodi devono restituire i dataset (oppure modelli o insiemi di modelli)

    Nella form dovresti creare un istanza della classe e chiamare i metodi necessari.
    Dopo puoi bindare i controlli ai dataset restituiti.
    ℹ️ Leggi di più su bumm ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 0
    Ultimo Post: 18-05-2011, 10:37
  2. diversi record sulla stessa riga
    Da graphzone nel forum Microsoft Word
    Risposte: 4
    Ultimo Post: 18-01-2010, 10:17
  3. [CSS]Stili diversi in stessa pagina
    Da paoloamore nel forum HTML, CSS e JavaScript
    Risposte: 1
    Ultimo Post: 13-01-2008, 16:17
  4. Contare record diversi nella stessa tabella.
    Da keiji68 nel forum Visual Basic 6
    Risposte: 6
    Ultimo Post: 16-04-2007, 20:27
  5. Aprire stessa maschera da diversi pulsanti
    Da fabritio nel forum Microsoft Word
    Risposte: 3
    Ultimo Post: 29-03-2006, 17:40