Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271

    [VB6] Modificare DB access con ADOX

    Buon giorno a tutti, se c'è ancora qualcuno che ad agosto lavora... volevo chiedervi un aiuto.
    Ho creato un DB con ACCESS 2000 e ho bisogno di modificarlo da VB.
    Ho aggiunto un riferimento alla Dll "Microsoft ADO ext. 2.6 for DDL ad Security" (msadox.dll).

    Ho un paio di problemi:
    1. Devo aggiungere un campo testo a una tabella esistente, con le proprietà Richiesto = NO e Consenti lunghezza 0 = SI. Come faccio ad impostare correttamente queste proprietà? Ottengo sempre delgi errori quando le imposto.

    2. Ho bisogno di aggiungere una query al DB. Ho provato creando un oggetto ADODB.Command e poi passandolo al db tramite l'istruzione: Catalogo.Views.Append "NuovaQuery", Cmd.

    Il problema è che non riscontro nessun errore ma la query "NuovaQuery" non è visibile nella scheda Query di Access. Tuttavia la query esiste perchè ho provato a scrivere un' altra query tipo "SELECT * FROM NuovaQuery" e mi mostra tutti i record!!!!!!!!!!!!
    Infatti riesco anche a lavorare con NuovaQuery ma non la posso vedere da Access2000.
    Dove può essere il problema?
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    36
    ciao IKON,
    sfortunatamente non c'e' soluzione al tuo problema.
    Finora access 2000 non espone un'interfaccia che rende le 'query visibili'.
    Cmq, per ulteriori informazioni, consulta questo link:

    PRB: Views Created Using ADOX Are Not Visible in Access 2000
    http://support.microsoft.com/support.../q246/2/13.asp

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271
    Ti ringrazio batdan
    Sono un po sconcertato vedendo che anche la microsoft ammette questo erroe .... ma non ha fato niente per risolverlo!!!

    Per il primo problema sapresti aiutarmi?
    Devo creare un camp di testo con la proprietà Richiesto = NO e Permetti lunghezza 0 = SI.

    Ho provato con le proprietà 3 e 13 :
    codice:
    Dim Col as New ADOX.Column
    tbl.Columns.append FieldName,FieldType, Size
    set col = tbl.Columns(FieldName)
    col.Properties(3) = Truecol.Properties(13) = True
    Ma mi da errore sulla riga rossa!!!
    Si sono verificati errori in un operazione OLE DB composta da più passaggi. Controllare i singoli valori di stato OLE DB, se disponibili.
    Nessuna operazione eseguita.
    sai aiutarmi???
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271
    Scusate ho sbagliato qualcosa sul blocco di codice

    codice:
    Dim Col as New ADOX.Column
    tbl.Columns.append FieldName,FieldType, Size
    set col = tbl.Columns(FieldName)
    col.Properties(3) = True   
    col.Properties(13) = True
    L'errore è sulla riga rosa
    :master:
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    36
    Ciao IKON,
    gli oggetti ADO hanno due tipi di proprieta': built-in e dynamic.
    le proprieta' built-in sono quelle implementate in ADO e disponibili immediatamente ad ogni nuovo oggetto.
    Le proprieta 'dinamiche' sono definite dal tuo data provider (che hai sulla tua macchina).

    Questo per dirti che probabilmente il tuo data provider non accetta la terza item della collezione di properties.
    Un consiglio, invece di usare un indice intero, usa richiamare le proprieta' per nome, in futuro il tuo codice sara' piu' leggibile.
    Ad esempio:
    invece di MyObject.Properties(0) usa MyObject.Properties("Name").

    Cmq, molto probabilmente, il tuo potrebbe essere anche un problema di accesso alla properties 3 che dovrebbe essere una proprieta' a sola lettura e quindi non scrivibile.

    Se non sbaglio la 3 dovrebbe essere 'DESCRIPTION', prova questo pezzo di codice....

    'instanzio la colonna
    Set col = New ADOX.Column

    With col
    .Name = "MioNome"
    .Type = adVarWChar
    .Properties("description") = "MiaDescrizione"
    End With

    Ciao
    Dan

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 © 2026 vBulletin Solutions, Inc. All rights reserved.