Access con tabelle MySql

di il
4 risposte

Access con tabelle MySql

Ciao a tutti...
Premetto che non sono molto pratico di MySql (anche se ho già fatto qualche piccola applicazione che sfrutta questo DBMS)
Ho un problema da risolvere molto importante.

Ho un DBMS MySql dove sono presenti solo i dati (le tabelle). In un DataBase Access 2000 ho creato le maschere per la gestione e le varie stampe per l'analisi. Al Database Access devo collegare le tabelle presenti nel Db MySql. Il tutto gira su Pc con Windows 2000

PICCOLA PARENTESI:Prima avevo anche i dati in formato access, ma ora per motivi di accesso contemporaneo ho pensato di spostare le tabelle in MySql.

Ho installato MySql e il driver 3.51, ho creato le mie tabelle (importandole da un'altro DB) e ho fatto il DSN di Sistema (tutto sembra funzionare correttamente, i vari test di connessione si concludono con successo).

Nel mio Mdb client, all'apertura, ho inserito questo codice per la connessione:
----------------codice di esempio------------------
strCn = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=GesPeg;USER=civettini.f;PA SSWORD=prova;OPTION=35;"

Set tdf = .CreateTableDef("Anagrafe attività")
tdf.Connect = strCn
tdf.SourceTableName = "Anagrafe attività"
CurrentDb.TableDefs.Append tdf ---> Qua mi dà errore
--------------------------------------------

Ma quando tenta di fare l'Append della tabella al Db di Access mi si presenta il seguente errore: "3170: Impossibile trovare ISAM installabile."

ANCORA PIU' STRANO: Se provo a fare il collegamento alle tabelle di MySql in modo manuale(File -> Carica Dati Esterni -> Importa -> ODBC Databases -> DSN..), vedo il DSN, ma quando faccio il doppio click non si apre nulla... invece io mi aspetto di vedere le tabelle presenti nel DB di MySql per scegliere quali collegare.

Sapreste aiutarmi, ho fatto varie prove ma senza risultati.

Grazie

PS: Se apro il Db MySql con "MySql Administrator", funziona tutto correttamente: vedo il mio db con le relative tabelle e i dati.

4 Risposte

  • Re: Access con tabelle MySql

    Mai avuto un problema simile, che tabelle sono InnoDB o quelle vecchie?... perche la parola ISAM mi mette pensiero

    Chip
  • Re: Access con tabelle MySql

    Le tabelle sono di InnoDB..

    Anche a me non era mai successo e non so più cosa fare
  • Re: Access con tabelle MySql

    Non puoi aggiungere una tabella vuota. Prima devi aggiungere dei campi all'oggetto tdf, poi *potrebbe* funzionare.

    Poiché la sintassi di MySQL è diversa, e non tutti gli oggetti sono supportati, consiglio vivamente di usare:

    1. tabelle senza spazi o accenti, tutto minuscolo, se sono necessari separatori, usare '_' al posto dello spazio.
    2. usare delle query di creazione pass-through, tipo:

    <pre id=code><font face=courier size= id=code>
    CREATE TABLE `utenti` (
    `ID` int(11) NOT NULL auto_increment,
    `ENABLED` tinyint(1) NOT NULL default '1',
    `DATE` datetime NOT NULL default '0000-00-00 00:00:00',
    `USERNAME` varchar(255) NOT NULL default '',
    `PASSWORD` varchar(255) NOT NULL default '',
    `LASTACCESS` datetime NOT NULL default '0000-00-00 00:00:00',
    `ACCESSES` int(11) NOT NULL default '0',
    `NAME1` varchar(255) NOT NULL default '',
    `NAME2` varchar(255) NOT NULL default '',
    `STREET` varchar(255) NOT NULL default '',
    `ZIP` varchar(255) NOT NULL default '',
    `CITY` varchar(255) NOT NULL default '',
    `STATE` varchar(255) NOT NULL default '',
    `NATION` varchar(255) NOT NULL default '',
    `VAT` varchar(255) NOT NULL default '',
    `TEL` varchar(255) NOT NULL default '',
    `FAX` varchar(255) NOT NULL default '',
    `EMAIL` varchar(255) NOT NULL default '',
    PRIMARY KEY (`ID`)
    ) TYPE=MyISAM;
    </font id=code></pre id=code>

    In MySQL, si può anche non mettere il backtick ('`'), ma se si mette, si possono usare nomi di campi riservati, come ad esempio DATE.

    Giovanni
    ---
    http://www.y2ksw.com/vbulletin
  • Re: Access con tabelle MySql

    Ho affrontato solo due volte questo problema e l'ho risolto, in parte, in questo modo:

    apro un nuovo file mdb e scelgo "progetto database esistente" le successive wizard ti porteranno a scegliere il database sql che contiene le tabelle e quindi potrai linkarle.
    non ti resta che importare le form, i report ecc. dal database che hai già e vedere se i codici che hai inserito nelle forms si compilano.
    secondo me è l'unica vera possibilità che hai per visualizzare una interfaccia access con un SQL.

    by by
    mila

    milaion
Devi accedere o registrarti per scrivere nel forum
4 risposte