Newsgroup: it.comp.appl.access
Titolo: Conversione Ado-Dao

Ho il seguente problema devo convertire un DB ereditato da Access 97 ad 
Access 2003.
Considerato che :
1°) non ho fatto io il DB quindi non ho molta dimestichezza
2°) le risorse messe a disposizione dal cliente sono molto limitate
chiedo consiglio su come procedere.
Il problema maggiore è con le dichiarazioni di tipo DYNASET
Grazie
Magic_One 

 wrote in message
news:MxTGd.707187$
35.28...@news4.tin.it

Se non usi MSDE o SQL_SERVER lascialo così hai prestazioni
migliori.
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio 
news:44756500785a696dff...@mygate.mailgate.org...

Grazie ma come devo fare per non convertirlo e lasciarlo inalterato?
Scusa ma non mi sono mai trovato in una situazione simile
Magic_one


 Magic_one
Scusa tu, ho dato per scontato che fosse chiara la possibilità.
Immagino che il tuop problema derivi dal fatto che A_2003 di
default ha settate le Lib Microsoft ADO 2.8.
Ora devi Rimuoverle e inserire DAO, e tutto funziona senza
problemi:
Dalla maschera del Codice(qualsiasi) accedi al Menù
Strumenti---->Riferimenti
Togli il Flag a ADO e scorri la Scroll cercando Microsoft DAO 3.6
Flag.
Compila il codice in cerca di eventuali errori da risolvere.
Dovrebbe essere OK.
Ciao
@Alex
-- 


 ha scritto nel messaggio 
news:1bf061f6994c590e9d...@mygate.mailgate.org...

Scusa un chiarimento attualmente ho impostato MS DAO 3.6. e mi segnala gli 
errori
Devo cambiare in ADO 2.8???
Scusa ancora
MAgic_One 

 MAgic_One
Che errori ti segnala...?
Teoricamente va bene DAO 3.6


Errore di Compilazione:
Tipo definito dall'utente non definito
Il punto dove lo segnala è questa dichiarazione
Dim richset as Dynaset
Grazie..e scusa per il disturbo
Magic_One

 ha scritto nel messaggio 
news:MxTGd.707187$35.28...@news4.tin.it...


 ha scritto nel messaggio 
news:41ec15f5$1...@news.bluewin.ch...

Il DB è già diviso in FE e BE. Entrambi convertiti in 2003. (ma ho sempre 
una copia di riserva in 97/2000)
Magic_One 

 ha scritto nel messaggio 
news:UDUGd.707649$35.28...@news4.tin.it...


 ha scritto nel messaggio 
news:41ec1902$1...@news.bluewin.ch...

Grazie! Il problema, come dicevo sopra è in questa dichiarazione
Dim richset as Dynaset (dichiarazione che viene ripetuta in diverse routine)
con questo messaggio di Errore
Errore di Compilazione:
Tipo definito dall'utente non definito
Tieni presente che sto lavorando sul pc del cliente con il solo Office 2003
Se può esserti utile questa è una Sub dove segnala l'errore
Private Sub Esci_Click()
On Error GoTo Err_Esci_Click
    Dim docname As String, richset As Dynaset, db  As Database, richset1 As 
Recordset
    Dim LinkCriteria As String, criteri  As String, nrec As Integer, temp As 
String, pos
    Set db = DBEngine.Workspaces(0).Databases(0)
    Set richset1 = db.OpenRecordset("Ana_Cli", DB_OPEN_DYNASET)
    short1 = Me!shorta
    sql = "SELECT DISTINCTROW Ana_Cli.Id_Cli, "
    sql = sql + "Ana_Cli.Rag_Soc, "
    sql = sql + "Ana_Cli.Shortname, "
    sql = sql + "Ana_Cli.indirizzo, "
    sql = sql + "Ana_Cli.Cap, "
    sql = sql + "Ana_Cli.citta, "
    sql = sql + "Ana_Cli.Prov, "
    sql = sql + "Ana_Cli.codfisc, "
    sql = sql + "Ana_Cli.piva, "
    sql = sql + "Ana_Cli.tel1, "
    sql = sql + "Ana_Cli.fax, "
    sql = sql + "Ana_Cli.pagamento, "
    sql = sql + "Ana_Cli.banca, "
    sql = sql + "Ana_Cli.abi, "
    sql = sql + "Ana_Cli.cab, "
    sql = sql + "Ana_Cli.note, "
    sql = sql + "Ana_Cli.note_2, "
    sql = sql + "Ana_Cli.recapito, "
    sql = sql + "Ana_Cli.attivo, "
    sql = sql + "Ana_Cli.Sconto_1, "
    sql = sql + "Ana_Cli.Sconto, "
    sql = sql + "Ana_Cli.Email, "
    sql = sql + "Ana_Cli.Indirizzo_web "
    sql = sql + "FROM Ana_Cli "
    sql = sql + "WHERE ((Ana_Cli.Shortname"
    sql = sql + "=""" & short1
    sql = sql + """)) "
    sql = sql + "ORDER BY Ana_Cli.Rag_Soc;"
    Set richset = db.CreateDynaset(sql)
    nrec = richset.RecordCount
  'Stop
  If nrec > 0 Then
       richset.MoveFirst  'RICERCO e AGGIORNO L'ANAGRAFICA ESISTENTE
        richset.Edit
         richset![Rag_Soc] = Me![RagSoc]
         richset![Shortname] = Me![Short]
         richset![Indirizzo] = Me![Indirizzo]
         richset![Cap] = Me![Cap]
         richset![Citta] = Me![Citta]
         richset![Prov] = Me![Prov]
         richset![Piva] = Me![Piva]
         richset![Codfisc] = Me![CodFis]
         richset![Tel1] = Me![Tel1]
         richset![Fax] = Me![Fax]
         richset![Pagamento] = Me![Pag]
         richset![Banca] = Me![Banca]
         richset![Abi] = Me![Abi]
         richset![Cab] = Me![Cab]
         richset![note] = Me![note]
         richset![Sconto] = Me![Sconto]
         richset![Attivo] = Me![Attivo]
         richset![Note_2] = Me![Note_2]
         richset![Sconto_1] = Me![Sconto_1]
         richset![Recapito] = Me![Recapito]
         richset![Email] = Me![Email]
         richset![Indirizzo_web] = Me![Indirizzo_web]
    richset.Update
    pos = richset![Id_Cli]
     Else
      If Me![RagSoc] <> "" Then
        richset1.AddNew
         richset1![Rag_Soc] = Me![RagSoc]
         richset1![Shortname] = Me![Short]
         richset1![Indirizzo] = Me![Indirizzo]
         richset1![Cap] = Me![Cap]
         richset1![Citta] = Me![Citta]
         richset1![Prov] = Me![Prov]
         richset1![Tel1] = Me![Tel1]
         richset1![Fax] = Me![Fax]
         richset1![Pagamento] = Me![Pag]
         richset1![Banca] = Me![Banca]
         richset1![Abi] = Me![Abi]
         richset1![Cab] = Me![Cab]
         richset1![Piva] = Me![Piva]
         richset1![Codfisc] = Me![CodFis]
         richset1![note] = Me![note]
         richset1![Attivo] = Me![Attivo]
         richset1![Sconto] = Me![Sconto]
         richset1![Note_2] = Me![Note_2]
         richset1![Sconto_1] = Me![Sconto_1]
         richset1![Recapito] = Me![Recapito]
         richset1![Email] = Me![Email]
         richset1![Indirizzo_web] = Me![Indirizzo_web]
        richset1.Update
        richset1.MoveLast
        pos = richset1![Id_Cli]
    End If
    End If
    If Forms![passaparametri]![Operazione] = 1 Then
       DoCmd.Close
       docname = "Menu"
       DoCmd.OpenForm docname, , , LinkCriteria
    Else
       Forms![Inserimento].[Fornitore] = Me![RagSoc]
       Forms![Inserimento].[Indirizzo] = Me![Indirizzo]
       Forms![Inserimento].[Cap] = Me![Cap]
       Forms![Inserimento].[Città] = Me![Citta]
       Forms![Inserimento].[Prov] = Me![Prov]
       Forms![Inserimento].[Pagamento] = Me![Pag]
       Forms![Inserimento].[Sconto] = Me![Sconto]
       Forms![Inserimento].[Sconto1A] = Me![Sconto_1]
       Forms![Inserimento].[Id_Cli] = pos
       DoCmd.Close
       Forms![Inserimento].Visible = True
       DoCmd.GoToControl "pagamento"
    End If
Exit_Esci_Click:
    Exit Sub
Err_Esci_Click:
    MsgBox Error$
    Resume Exit_Esci_Click
End Sub 

 wrote in message
news:gwUGd.707602$
35.28...@news4.tin.it

Questo non funziona nemmeno in A97.
Dynaset non è un'oggetto è una modalità
di apertura di un Recordset.
Dim richset as DAO.Recordset


 ha scritto nel messaggio 
news:47f6b8bef1b2a2aac3...@mygate.mailgate.org...

Mi spiace contraddirti ma sull'attuale pc con Office 97 sta 
funzionando......
Quindi l'unica soluzione è trasformare tutti i Dynaset in Recordset.... se 
non ho capito male...
Magic_One

 Magic_One
Leggi l'Help e ti spiega tutto dell'Oggetto Dynaset.
E' un oggetto che hai ereditato probabilmente da Access2.
Già da A97 è considerato Obsoleto.
Se leggi l'Help di A97 ti spiega come ti ho suggerito io 
di usare Dao.Recordset.


 ha scritto nel messaggio 
news:c2ce62773a521ae417...@mygate.mailgate.org...

Grazie per l'aiuto che mi avete dato (tu e Floriano)
Ho risolto utilizzando RECORDSET anzichè DYNASET
Grazie ancora !!!!!
magic_One