Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34
  1. #1

    [VB6]Creare oggetto Data per db Access da codice

    Buongiorno.
    Ho un problema nell'impostare un oggetto data per accedere ad un database Access.
    In genere facevo così:

    codice:
        Data1.Connect = "MS Access; pwd = pass"
        Data1.DatabaseName = "C:\DB.mdb"
        Data1.RecordSource = "select * from tabella"
    Provando a creare l'oggetto data da codice ho aggiunto in alto:

    codice:
        Dim Data1 as Data
    
        Data1.Connect = "MS Access; pwd = pass"
        Data1.DatabaseName = "C:\DB.mdb"
        Data1.RecordSource = "select * from tabella"
    ma mi genera l'errore 91 arrivato alla riga della connessione.

  2. #2
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    ciao , tu lavori con dao , il tuo potrebbe essere problema di compatibilita' del tuo database magari creato con un versione uguale o superiore di access2000.

  3. #3
    E' in Access 97. Comunque ho sempre avuto accesso senza problemi utilizzando l'oggetto Data senza crearlo da codice.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Gli oggetti - e i controlli, compreso il controllo Data, lo sono - si creano in maniera diversa dalle comuni variabili:
    codice:
    Dim <nomeControllo> As New <tipoControllo>
    o, di solito meglio:

    codice:
    Dim <nomeControllo> As <tipoControllo>
    Set <nomeControllo> = New <tipoControllo>
    ... ammesso che possa esistere un doppio motivo per farlo.

    P.S.: Non c'entra niente, in questo caso, la versione di Access.

  5. #5
    L'avevo pensato ma... cioé faccio...

    codice:
       
    Dim Data1 As data    
    Set Data1 = New (cosa?)
    Qualcosa mi sfugge...

    ... ammesso che possa esistere un doppio motivo per farlo.
    ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    No, la sintassi che ti ho suggerito non va bene. Data è un nome di classe (come Form).
    Una sintassi accettabile sarebbe
    Set Data2 = New Data1
    presupponendo che sul form esista già un controllo di nome Data1.

    Il doppio motivo a cui alludevo consiste in:
    - a cosa può servire creare un controllo Data a run-time ?
    - a cosa può servire un controllo Data in generale ?

  7. #7
    Originariamente inviato da Grumpy
    No, la sintassi che ti ho suggerito non va bene. Data è un nome di classe (come Form).
    Una sintassi accettabile sarebbe
    Set Data2 = New Data1
    presupponendo che sul form esista già un controllo di nome Data1.
    No, il fatto è proprio questo... volevo creare il controllo Data da codice per usarlo solo in quella determinata funzione... anche perché la funzione è contenuta in un modulo, quindi non c'è alcun form... e volevo evitare di dovermi appoggiare ad un controllo Data di un form.

    Originariamente inviato da Grumpy
    - a cosa può servire creare un controllo Data a run-time ?
    Per la mancanza del form.

    Originariamente inviato da Grumpy
    - a cosa può servire un controllo Data in generale ?
    Per leggere i dati nel database.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Originariamente inviato da Cavaliere Nero
    No, il fatto è proprio questo... volevo creare il controllo Data da codice per usarlo solo in quella determinata funzione... anche perché la funzione è contenuta in un modulo, quindi non c'è alcun form... e volevo evitare di dovermi appoggiare ad un controllo Data di un form.
    No, non puoi.
    Per leggere i dati nel database.
    Certo. Per questo non ti serve un controllo Data. Crea una connessione al database, apri un recordset e lavora su quello. Puoi usare i metodi e le proprietà DAO o ADO a piacere tuo, anche se di sicuro qualcuno ti sconsiglierà DAO semplicemente perché più antico.
    Trovi ampia documentazione ed esempi sulla guida MSDN o altre guide.

    Il controllo Data, davvero poco utile, è anche pieno di insidie e difetti. Veramente te ne sconsiglio l'uso.

  9. #9
    Non mi ha dato molti fastidi il controllo Data... mi sa che sto iniziando a scoprirli adesso eheh
    Comunque recepito! Grazie per i consigli!!

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Cavaliere Nero
    Non mi ha dato molti fastidi il controllo Data... mi sa che sto iniziando a scoprirli adesso eheh
    Questo accade fino a che fai cose normali.
    Ma quando l'esperienza cresce e si cercano di fare cose più avanzate allora inizi a scontrarti con il limiti.
    Visto che cambi, usa ADO (al posto di DAO) che è più semplice e migliore.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.