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

Estrarre dall'archivio e salvare in un altro archivio.

  1. #1
    L'avatar di Martin Landau
    Martin Landau non è in linea Scolaretto
    Salve sono alle prime armi ed inesperto su access (ancora uso 2000).
    Vorrei estrarre i dati dall'archvio esterno (collocata da ODBC), controllare, modificare ma salvare in un altro archivio mio.
    L'estrazione sono riuscito a fare, tramite la query, ma come devo fare per salvare in un altro archivio mio?
    Grazie

  2. #2
    edric non è in linea Scolaretto
    Il primo consiglio che mi viene in mente è quello di realizzare una query di creazione tabella.

    Apri la tua query di selezione in struttura;
    Nella tua barra in alto compare la voce 'Query'.
    La selezioni e scegli: 'Query di creazione tabella';
    La tua query di selezione si trasformerà in una query che ti consentirà di crearti una tabella in locale con il nome da te scelto.

  3. #3
    L'avatar di Martin Landau
    Martin Landau non è in linea Scolaretto
    Grazie Edric dell'aiuto.
    Ma non va bene perchè ogni volta che cerco mi appare il messaggio:
    "La tabella 'Archvio' verrà elimanata prima dell'esecuzione della query. Continuare comunque?"
    E così mi cancella tutti i record e questo non va bene.
    Specifico meglio:
    Ho creato la query normale con il criterio "like", estrae dalla archivio esterno così visualizza nella maschera, vorrei creare un pulsante di comando che accoda in un altro archivio interno.
    Aiutatemi....

  4. #4
    L'avatar di Tommy_G
    Tommy_G non è in linea Scribacchino
    Quote Originariamente inviato da Martin Landau Visualizza il messaggio
    estrae dalla archivio esterno così visualizza nella maschera, vorrei creare un pulsante di comando che accoda in un altro archivio interno.
    Aiutatemi....
    Dim rs As DAO.Recordset
    Dim rsF As DAO.Recordset
    'se vuoi cancellare i dati prima di accodare gli altri togli il commento dalla stringa seguente
    'CurrentDb.Execute "delete * from TabellaArchivioTuo"""
    Set rs = CurrentDb.OpenRecordset("TabellaArchivioTuo")
    Set rsF = Me.Recordset.Clone
    rsF.MoveFirst
    Do Until rsF.EOF
    rs.AddNew
    rs.Fields("campo1").Value = rsF.Fields("campo1").Value
    rs.Fields("campo2").Value = rsF.Fields("campo2").Value
    rs.Fields("campo3").Value = rsF.Fields("campo3").Value
    '......così via per tutti i controlli presenti in maschera da accodare nella TabellaArchivioTuo
    
    rs.Update
    rsF.MoveNext
    Loop
    
    oppure da query
    INSERT INTO TabellaArchivioTuo ( campo1, campo2, campo3 )
    SELECT QueryEstrazione.campo1, QueryEstrazione.campo2, QueryEstrazione.campo3
    FROM QueryEstrazione;
    
    PS
    la query puoi realizzarla con il wizard come ti ha suggerito edric ma non quella di creazione bensì quella di "accodamento"

  5. #5
    L'avatar di Martin Landau
    Martin Landau non è in linea Scolaretto
    Scusa Tommy_G
    ho scritto il codice nel modulo ma poi per farlo partire come devo fare?

  6. #6
    L'avatar di Martin Landau
    Martin Landau non è in linea Scolaretto
    Non sono riuscito a farlo... aiutatemi, nessuno sa?

  7. #7
    edric non è in linea Scolaretto
    Quote Originariamente inviato da Tommy_G Visualizza il messaggio
    [code]


    PS
    la query puoi realizzarla con il wizard come ti ha suggerito edric ma non quella di creazione bensì quella di "accodamento"
    Esatto:

    la prima volta ti crei un dupplicato (anche solo in struttura) della tabella, che chiamerai TuoArchivio
    E successivamente, sempre con il wizart ti crei una query di accodamento dalla tua tabella originale alla tua tabella archivio.
    In questo modo, non ti chiederà se vuoi ogni volta distruggere l'oggetto prima di ricrearlo.

    Accodando i dati verranno inseriti solo i records che hanno un indice univoco diverso da quelli già presenti in archivio.
    Se però quelli già presenti in archivio, hanno subito nel frattempo un aggiornamento nella tabella originale (non vengono modificati dalla query di accodamento), avrai in archivio dei records che non sono lo specchio di quelli presenti nella tabella originale.
    E' un problema che potrebbe avere la sua importanza , ma ti conviene fare un passo alla volta.

    Nel frattempo, se vuoi approfondire VBA, puoi trarre spunto dal codice di Tommy che puoi lanciare associandolo ad un evento, ad esempio, al click di un pulsante.
    Se poi si trova in un moduloa parte, non collegato ad una maschera, devi rendere la Sub o la Function Public, in modo da poterla richiamare da dove vuoi.
    Public Sub AggiornaArchivio()
    ...
    End Sub
    
    Public Function Archivio() As Boolean
    
    ...
    
    AggiornaArchivio=True
    'se tutto va a buon fine
    End Function
    
    E poi richiami il codice da un pulsante in una maschera, ad esempio.
    Private Sub Comando1_Click()
    
    Call AggiornaArchivio
    
    'oppure
    
    If Archivio () = True Then
    MsgBox "Operazione effettuata con successo!"
    End If
    
    End Sub
    
    Ci sono svariati modi per impostare le cose. Dipende, da quello che deve essere il risultato finale e a chi è rivolto l'applicativo.
    Ultima modifica di edric; 25-07-2012 16:12 

  8. #8
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    ℹ️ Leggi di più su @Alex ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Archivio.mdb su DropBox
    Da kmsta nel forum Microsoft Access
    Risposte: 14
    Ultimo Post: 30-10-2013, 17:07
  2. salvare ricerca eseguita con msflexgid in archivio mdb
    Da jacoluca nel forum Visual Basic 6
    Risposte: 6
    Ultimo Post: 29-08-2011, 22:31
  3. leggere archivio .dbf
    Da clock62 nel forum Visual Basic 6
    Risposte: 19
    Ultimo Post: 24-11-2007, 18:19
  4. Archivio su penna USB
    Da TheMGiova nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 04-03-2006, 00:34
  5. Scassinare un archivio zip/rar
    Da Grinder nel forum Microsoft Windows
    Risposte: 3
    Ultimo Post: 02-11-2004, 14:49