Inserire valori in Tabella da maschera

di
Anonimizzato13253
il
15 risposte

Inserire valori in Tabella da maschera

Salve mi servirebbe una soluzione a questo mio problema:

Ho questa maschera che contiene una descrizione con delle date che vengono aggiornate, quindi quando queste date vengono aggiornate vorrei che si compilasse una tabella con i valori precedenti.
dovrei inserire in una tabella, sempre il vecchio dato nel momento che viene modificato, per tenere traccia delle mdifiche fatte.

Pensavo di utilizzare una routine evento e poi compilare il codice, ma non so che comandi utilizzare, potreste darmi un suggerimento o se c'e' gia' del codice scritto che poi modifico a proposito.
Grazie a chiunque mi sia di aiuto.

15 Risposte

  • Re: Inserire valori in Tabella da maschera

    Ciao,
    una strada potrebbe essere:
    dopo avere verificato se il controllo è stato modificato, prima di aggiornare, lanciare una query di aggiornamento direttamente con currentdb.execute in modo da scrivere il valore (oldvalue) del controllo sulla tabella di destino.
    formatta per bene la data altrimenti potresti ottenere valori apparentemente non corretti.
    Ciao.
  • Re: Inserire valori in Tabella da maschera

    Questa potrebbe essere una soluzione, ma vorrei che la tabella di destinazione rimanesse cosi come e', senza considerare le date inserite come intermedie.
    Invece ho creato una tabella di raccolta di tutte le date che sono state modificate, ma non riesco a inserirle.
    Ho creato una tabbela con solo le date che mi interessa annotare e vorrei fare in modo che questa nuova tabella si compili in maniera automatica.
  • Re: Inserire valori in Tabella da maschera

    Tu hai form1 con tabella1 associata.
    nella form1 ci sono delle date che possono essere modificate.
    Tu vuoi modificare le date e scrivere la data modificata in una tabella2 e mantenere il dato originale nella tabella1?
    ho capito bene?

    ciao.
  • Re: Inserire valori in Tabella da maschera

    Io ho una maschera (maschera di inserimento programmazione) associata a tabella (chiamiamola "tabella1).
    nella maschera le date per varie motivazione possono cambiare anche se riferite allo stesso dato.
    quindi nella tabella 1 rimane il dato che viene periodicamente modificato quindi sempre l'ultimo dato.
    In una tabella 2 invece voglio tutti le vecchie date inserite e i relativi dati.

    es. tenendo conto che questi dati sono stati inseriti mediante maschera di inserimento:
    Tabella 1
    descrizione-----------------------data1--------------- data2
    costruzione edificio 1-----------01/01/2013---------01/02/2013

    questi dati vengono modificati cosi:
    costruzione edificio 1-----------15/01/2013---------15/02/2013
    quindi le vecchie date in questa tabella non ci saranno piu'
    in Tabella 2
    vorrei:
    data di modifica----------descrizione-----------------------data1----------------data2
    23/10/2013---------------costruzione edificio 1-----------01/01/2013---------01/02/2013

    Spero di essere stato chiaro, se non lo fossi stato fammi delle domande piu' specifiche.
    Comunque ti ringrazio dell'interessamento.
    spero di riuscire a risolvere al piu' presto.
    grazie
  • Re: Inserire valori in Tabella da maschera

    Ottimo, allora avevo inteso giusto.
    con una riga di codice puoi ottenere ciò che vuoi seguendo il primo suggerimento, prova ad abbozzare qualcosa.
    ovviamente la cosa può essere implementata meglio...
    un saluto.
  • Re: Inserire valori in Tabella da maschera

    Provi a darmi qualche suggerimento in piu' perche' non ci sono ancora arrivato.
  • Re: Inserire valori in Tabella da maschera

    Un spunto ma inserito magari in una gestione un po' più complessa delle modifiche della tua form, abilitandole alla bisogna...ipotizzando l'individuazione del record della tabella in cui inserire le data tramite Pkey.

    If Me.Dirty Then

    If MsgBox("stai modificando la data da :" & Me.TuoCampoData.OldValue & " a :" & Me.TuoCampoData& " confermi clicca ok", vbOKCancel, "Attenzione...!") = vbOK Then
    CurrentDb.Execute "UPDATE TuaTabella2 SET TuaTabella2.oldCampoNove = #" & Format(Me.TuoCampoData.OldValue, "mm/dd/yyyy") & "#" & _
    " WHERE TuaTabella1.IDPkey = " & Me.Pkey
    End If

    End If

    un saluto.
  • Re: Inserire valori in Tabella da maschera

    Continuo a ringraziarti.
    Ho provato quanto mi hai suggerito, ma credo che ci siano dei problemi:
    ho impostato una routine evento sul campo che deve andare a immettere nella tabella 2 (che io ho chiamato "Prova 1") la vecchia data di cui voglio tenere traccia.
    e ho compiato la seguente routine:
    Private Sub MR_data_plan_BeforeUpdate(Cancel As Integer)
    If Me.Dirty Then

    If MsgBox("stai modificando la data da :" & Me.MR_data_plan.OldValue & " a :" & Me.MR_data_plan & "confermi clicca ok", vbOKCancel, "Attenzione...!") = vbOK Then
    CurrentDb.Execute "UPDATE Prova 1 SET Prova 1.oldCampoNove = #" & Format(Me.MR_data_plan.OldValue, "mm/dd/yyyy") & "#" & " WHERE ProcurementPlan.IDPkey = " & Me.Pkey
    End If

    End If

    ma si blocca sul "Pkey" non vorrei che riguardasse il fatto che in questo momento sto usando un access 2000.
  • Re: Inserire valori in Tabella da maschera

    Ciao,
    con me.pkey identifico la chiave primaria che ti consente di individuare esattamente quel record nella tabella in cui vai a scrivere la data originale.
    Ho supposto questo.
    Se la struttura è questa, me.Pkey deve essere adatatto ai nomi dei campi che stai utilizzando.
    Non lasciare MAI spazi all'interno dei nomi delle tabelle/campi, se proprio proprio hai questa necessità includi i nomi tra [], in alternativa utilizza l'underScore.
    prova 1 [prova 1] o meglio provA_1.

    un saluto.
  • Re: Inserire valori in Tabella da maschera

    Ciao.
    Sono un po' di giorni che non ho potuto lavorarci, ma il problema rimane e l'errore che mi da e' il seguente:
    impossibile trovare il metodo o il membro dei dati
    e si blocca sull'istruzione "PKey"
    non capisco dove e' l'errore.
    ho bisogno di aiuto
    grazie
  • Re: Inserire valori in Tabella da maschera

    Ciao....bene....hai un campo nella tua tabella di clone chiamato pkey che funge da chiave primaria?
    hai provato a debuggare il codice impostando un punto di interruzione?
    un saluto.
  • Re: Inserire valori in Tabella da maschera

    Si in effetti in Prova1 ho messo una chiave primaria, per il semplice fatto di tenere traccia di quante modifiche saranno fatte e se qualcuno mi modifica qualcosa.
  • Re: Inserire valori in Tabella da maschera

    Non mi hai risposto ....e continuando così non ne usciamo .... come si chiama la chiave primaria?
  • Re: Inserire valori in Tabella da maschera

    Non avevo capito che mi facevi la domanda riferito alla chiave.
    comunque si chiama "ID" e anche nell'altra si chaima in maniera uguale, uso di default quella di access.
Devi accedere o registrarti per scrivere nel forum
15 risposte