COME INSERIRE DATI DI UN DETERMINATO "RECORD ID" IN UN DATABASE REMOTO TRAMITE SQL

di Anonimizzato9151 il
29 risposte
Buona sera,
Avrei un quesito che non mi permette di andare avanti con il mio Db.
Ho la necessità di trasferire un record di una Form Contatti da un db ad un altro ma solo ID corrente no tutti i record. Mi spiego meglio con il codice:

Private Sub invia_Click()
Dim strSQL As String
strSQL = "INSERT INTO StoricoTox IN 'D:\Utente\Michele\Documenti\Prova\Storico.accdb' SELECT *From Contatti"
DBEngine(0)(0).Execute strSQL
End Sub

Io vorrei inserire me.RecordSource, cioè il record corrente, ho provato varie strade ma ho sempre errore

Grazie

29 Risposte

  • COME INSERIRE DATI IN UN DATABASE REMOTO TRAMITE SQL
    
    INSERT INTO T1 IN 'C:\MyData.mdb' SELECT * FROM T2;
    Se il Database è protetto da Password si possono impostare nelle proprietà della Query:

    Source Database: C:\MyData.mdb
    Source Connect Str: MS Access;PWD=myPassword;


    C'è un'altro metodo per ovviare alle proprietà di connessione della Query, cioè passare i paramtri direttamente da SQL
    
    INSERT INTO T1 IN '' [;DATABASE=C:\myData.mdb;PWD=myPassword]
    SELECT *
    FROM T2;
    Questa Sintassi verrà tradotta da Access(JET) nella seguente che non include la Clausola IN: [Code] INSERT INTO [;DATABASE=C:\myData.mdb;PWD=myPassword].T1 SELECT * FROM T2;
  • Si ma cosi trasferisci tutti gli ID, io voglio trasferire solo ID specifico ecco perchè me.RecordSource
  • Mai sentito parlare di Clausola WHERE...?

    Fai un passaggio in più...
  • 'D:\Utente\Michele\Documenti\Prova\Storico.accdb' SELECT *From Contatti, where ID"
    lo provato ma non funziona
  • Sono 50 anni che funziona, da quando Codd ha inventato il modello relazionale

    OVVIAMENTE a TE non funziona perche' scrivi cose a casaccio.

    STUDIA la sintassi del SQL e come funziona il modello relazionale dei dati.

    Nota: anche con l'Italiano siamo 'claudicanti'.
    Si scrive '' l'ho provato '', che sta' per '' lo ho provato ''
  • Certo "ho"...... ma usando il cellulare ..... va be...
  • La sintassi sql nello stesso db é una cosa ma trasferire su un altro db ho problemi?

    SELECT "ID"
    FROM "Contatti"
    WHERE "RecordSource"
    ora come procedere....
    grazie
  • msantam ha scritto:


    La sintassi sql nello stesso db é una cosa ma trasferire su un altro db ho problemi?

    SELECT "ID"
    FROM "Contatti"
    WHERE "RecordSource"
    ora come procedere....
    grazie
    Scusa ma è più forte di me... è un ragionamento molto molto ELEMENTARE...!!!!
    Se questa è la sintassi per trasferire nella Tabella T1 del Database EXT, i dati della Tabella T2 Locale:
    
    INSERT INTO T1 IN 'C:\MyData.mdb' SELECT * FROM T2;
    Secondo te come e dove devi applicare la WHERE CONDITION per selezionare solo i dati corrispondenti dalla Tabella T2...?

    Ora direi che non possiamo chiamarla "non completa padronanza", quello che hai scritto non ha minimamente un senso, anzi dimostra proprio che non sai di cosa stai parlando...!
    "INSERT INTO T1 IN 'C:\MyData.mdb' SELECT * FROM T2 WHERE Id=" & TuoId;
  • Grazie Alex
    Private Sub invia_Click()
    Dim strSQL As String
    strSQL = "INSERT INTO StoricoTox IN 'D:\Utente\Michele\Documenti\Prova\Storico.accdb' SELECT *From Contatti WHERE ID=" & ID
    DBEngine(0)(0).Execute strSQL
    End Sub

    Funziona ma non sovrascrive
  • Non "sovrascrive" ... in che senso? E' una INSERT ...

    E cosa è ID ?
  • Mettiamo che io nella Form contatti modifico ID 1, quando invio al DB storico non modifica "IDrecord" automatico, quindi non sovrascrive rimane invariato

    ID è l'identificativo progressivo in automatico
  • Non ho capito niente ...
  • Ogni record ha un suo identificativo ID

    ID NOME COGNOME EVENTO
    1 Giovanni Rossi formazione 1

    Ora nel trasferire i dati da questa form db 1 alla form db2 è tutto OK

    Se cambio nel record db1 esempio: evento : formazione 2

    ID NOME COGNOME EVENTO
    1 Giovanni Rossi formazione 2

    nel trasferire i dati dalla form db1 alla form db2 non sovrascrive e EVENTO rimane formazione 1

    Meglio ancora senza sovrascrivere mi trasferisse come nuovo record ( nuovo ID)
  • Ma tu stai facendo una INSERT nello storico quindi non potrai mai sostituire nulla ma solo inserire un nuovo record.

    O non ho capito?
Devi accedere o registrarti per scrivere nel forum
29 risposte