Esportazione tabella DB access 2010 in VB6

di il
12 risposte

Esportazione tabella DB access 2010 in VB6

Ciao ragazzi sono nuovo qui. Sto rientrando nella programmazione dopo un pò di inattività e mi perdo in un bicchier d'acqua. Non sono riuscito a trovare una risposta chiara per a questo problema.
Ho 2 database in access 2010, strutturati in maniera identica, devo copiare l'intero contenuto di una tabella da un db all'altro. Vi posto il codice

in esecuzione non ho problemi ma di fatto niente viene esportato

Dim db1 As String
Dim db2 As String
Dim connessioneDB1 As New ADODB.Connection
Dim connessioneDB2 As New ADODB.Connection
Dim recordsetDB1 As New ADODB.Recordset
Dim recordsetDB2 As New ADODB.Recordset
Dim stringa As String
Dim query As String

db1 = CStr(txtDB1.Text)
'connessione database 1
stringa = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & db1
connessioneDB1.Open stringa

db2 = CStr(txtDB2.Text)
'connessione database 1
stringa = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & db2
connessioneDB2.Open stringa


query = "INSERT INTO rubrica SELECT * FROM rubrica IN 'c:database.mdb'"
connessioneDB1.Execute (query)

12 Risposte

  • Re: Esportazione tabella DB access 2010 in VB6

    Perché hai scritto nel forum di VB.NET?
    Ho segnalato ad un moderatore che sposti la discussione, poi ne riparliamo.
  • Re: Esportazione tabella DB access 2010 in VB6

    Non ho trovato la sezione corretta, pardon
  • Re: Esportazione tabella DB access 2010 in VB6

    Devi aprire una sola connessione, quella su cui stai lavorando.
    Nella query devi indicare nell' IN il percorso corretto, con questa sintassi:
    query = "insert into tabella select * from tabella IN '' 'MS Access;PWD=Password;DATABASE=" & strPercorsoMDB & "'"
    Ovviamente:
    PWD=Password;
    [/b] va indicata solo se il db è protetto da password.

    N.B. Non usando mai, per ovvi motivi, i database formato 2007 (o sup.) non sono sicuro al 100% che questa funziona anche con questi (accdb).
    Di sicuro funziona al 100% con gli MDB.

    gig_91 ha scritto:


    Non ho trovato la sezione corretta, pardon
    Come vedi la sezione esiste, ma è stata un po' relegata...
    Sono scelte 'editoriali' (comunque opinabili) giacché non si capisce perché questo vale per VB6.0 ma non per Delphi, la cui frequentazione è scarissima (per non parlare poi di altri linguaggi) e di lunga inferiore a VB6.0.
  • Re: Esportazione tabella DB access 2010 in VB6

    [quote="gibra"]Devi aprire una sola connessione, quella su cui stai lavorando.
    Nella query devi indicare nell' IN il percorso corretto, con questa sintassi:
    query = "insert into tabella select * from tabella IN '' 'MS Access;PWD=Password;DATABASE=" & strPercorsoMDB & "'"
    Grazie gibra, effettivamente chiudendo la connessione del db secondario i dati vengono trasferiti
    Sapevo che doveva essere una cavolata, dopo 4 anni di inattività sono decisamente indietro
  • Re: Esportazione tabella DB access 2010 in VB6

    ...
    invece io farei per le tue connessioni:

    Dim connessioneDB1 As ADODB.Connection
    Set connessioneDB1 as New ADODB.Connection

    è quello che mi hanno insegnato....
  • Re: Esportazione tabella DB access 2010 in VB6

    E con questa tua precisazione a distanza di un mese ti sembra che cambi qualcosa?

    Un primo post sprecato...
  • Re: Esportazione tabella DB access 2010 in VB6

    oregon ha scritto:


    E con questa tua precisazione a distanza di un mese ti sembra che cambi qualcosa?

    Un primo post sprecato...
    Era solo una precisazione...
    in verità ho cercato di aiutare qualcuno senza vedere le date del post.

    Sai... forse io lavoro di più e vedo meno i forum.
    Grazie per la veloce indicazione comunque.
    Ciao.
  • Re: Esportazione tabella DB access 2010 in VB6

    Non hai aiutato ... Era tutto risolto.

    Continua a lavorare e lascia stare i forum...
  • Re: Esportazione tabella DB access 2010 in VB6

    Credo che oregon non abbia tutti i torti, se non altro per il fatto che il richiedente ha già scritto di aver risolto.

    In ogni caso, ti suggerisco di leggere la Reference Developer di Access perché questo metodo è spiegato proprio da Microsoft.

    IN Clause (Microsoft Access SQL) [Access 2007 Developer Reference]


    Magari chi ti ha insegnato non conosceva questo metodo, molto più pratico ed efficiente dell'aprire 2 connessioni.

  • Re: Esportazione tabella DB access 2010 in VB6

    oregon ha scritto:


    Non hai aiutato ... Era tutto risolto.

    Continua a lavorare e lascia stare i forum...
    sarà fatto....
  • Re: Esportazione tabella DB access 2010 in VB6

    gibra ha scritto:


    Credo che oregon non abbia tutti i torti, se non altro per il fatto che il richiedente ha già scritto di aver risolto.

    In ogni caso, ti suggerisco di leggere la Reference Developer di Access perché questo metodo è spiegato proprio da Microsoft.

    IN Clause (Microsoft Access SQL) [Access 2007 Developer Reference]


    Magari chi ti ha insegnato non conosceva questo metodo, molto più pratico ed efficiente dell'aprire 2 connessioni.

    non riesco aprire il link, forse è sbagliato.?
    Grazie
  • Re: Esportazione tabella DB access 2010 in VB6

    luca90 ha scritto:


    non riesco aprire il link, forse è sbagliato.?
    E' il 'forum' che si è 'mangiato' parte dell'url.
    Prova questo:

    IN Clause (Microsoft Access SQL) [Access 2007 Developer Reference]
Devi accedere o registrarti per scrivere nel forum
12 risposte