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

Campi non presenti in DataGridView, ma da aggiornare con valori fissi

  1. #1
    Buonasera.
    In vb6 ero abituato ad usare una DbGrid, collegata a un Db, che all'atto del salvataggio mi aggiornava, con un valore fisso, preso da un file INI, l'azienda e il NomeUtente.
    Questi campi non erano presenti sulla griglia, ma in background, per maggiore chiarezza.
    La domanda :
    !) in quale evento devo agire
    2) Come faccio a intercettare il salvataggio dei campi nel Db e poi, cambiare i valori mancanti e lasciar proseguire?

    Ho provato a fare qualcosa in DataError, ma niente. Pare facile... ma ...

    Grazie mille per le risposte.

  2. #2
    patel45 ora  in linea Scolaretto
    Difficile risponderti se non dici niente di come hai collegato la griglia al db, tramite wizard ? da codice ?

  3. #3
    Collegamento in automatico.
    Ho disegnato una griglia vuota, il wizard ha chiesto a quale dataset collegare e poi ha caricato tutte le colonne.
    Per ora ho reso invisibili quelle che non mi garbano, ma avrei intenzione di eliminarle in assoluto, e lasciare solo quelle giuste. Infine per i campi obbligatori del db o senza intervento umano, prendere i valori di default dell'applicazione, dal file INI.

  4. #4
    patel45 ora  in linea Scolaretto
    Il wizard uno strumento comodo ma rigido, se vuoi di pi devi imparare a gestire il db interamente da codice.
    Ultima modifica di patel45; 08-04-2021 11:55 

  5. #5
    L'avatar di Brontolo
    Brontolo non  in linea Very Important Person
    Dovrebbe esserti utile l'evento DefaultValuesNeeded, e aggiungere delle colonne non visibili per i campi a valore fisso.
    Comunque ha ragione Patel: con il wizard hai le mani legate.
    Ultima modifica di Brontolo; 08-04-2021 09:44  Motivo: Correzione
    ℹ️ Leggi di pi su Brontolo ...

  6. #6
    Buonasera.
    Scusate il ritardo, ma ho due lavori.
    Innanzitutto grazie per le risposte che mi hanno consentito di risolvere il quesito.
    Il risultato finale il seguente:



        Private Sub InterventiDiRiparazioneDataGridView_DefaultValuesNeeded(sender As Object, e As         DataGridViewRowEventArgs) Handles InterventiDiRiparazioneDataGridView.DefaultValuesNeeded
            Try
                CurrentRecord = CType(InterventiDiRiparazioneBindingSource.Current, DataRowView)
                Dim IdR = TryCast(CurrentRecord.Row, AccettazioneDataSet.InterventiDiRiparazioneRow)
                With IdR
                    .Azienda = Amb.CodiceAziendas
                    .DataDocumento = CDate(DataDocumentoDateTimePicker.Value)
                    .NumeroDocumento = NumeroDocumentoTextBox.Text
                    If lastnewrowindex < 1 Then lastnewrowindex = 0
                    .Prog = lastnewrowindex
                    .Quantita = 1
                    .NomeUtente = Amb.NomeUtente
                End With
                MsgBox(IdR.DataDocumento)
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    
    Giusto qualche ovvia e scontata precisazione: i campi fissi sono dunque Azienda, data e numero documento e nome utente, la quantit vale come suggerimento a 1.

    Buone cose.

  7. #7
    L'avatar di Brontolo
    Brontolo non  in linea Very Important Person
    Ti consiglio di sostituire i MsgBox (VB6) con MessageBox (.Net).
    ℹ️ Leggi di pi su Brontolo ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 5
    Ultimo Post: 29-03-2015, 13:22
  2. Maschera con campi fissi anche se variabili
    Da bibopm nel forum Microsoft Access
    Risposte: 8
    Ultimo Post: 11-09-2013, 16:24
  3. Risposte: 1
    Ultimo Post: 20-04-2012, 10:42
  4. come aggiornare campi di record presenti in diverse
    Da luigi.ventre nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 14-11-2011, 23:46
  5. [Access] query di accodamento automatica con campi fissi
    Da makli nel forum Microsoft Access
    Risposte: 13
    Ultimo Post: 20-04-2008, 11:10