Newsgroup: it.comp.appl.access
Titolo: Rimuovere un indice

Ciao a tutti,
il mio problema prima era quello di creare un indice.
Ora è quello di eliminare un indice.
Come si fa a rimuovere l'indice.
Grazie ciao.
:-)
Con simpatia.
Marco

 ha scritto nel messaggio
news:C8oB9.36494$8E3.1...@twister2.libero.it...

Se l'indice si chiama Pluto.
Se la tabella si chiama Pippo.
Se l'indirizzo completo del database è C:\Documenti\MioBE.mdb
Prova con:
Dim Db As Database
Dim Tab1 As TableDef
Set Db = OpenDatabase("C:\Documenti\MioBE.mdb")
Set Tab1 = Db.TableDefs!Pippo
Tab1.Indexes.Delete "Pluto"
Tab1.Indexes.Refresh
Set Tab1 = Nothing
Set Db = Nothing
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Come si fa a rimuovere l'indice.
La cosa più breve e facile è di usare SQL:
DROP INDEX (e CREATE INDEX) sono spiegato con esempi
nella guida in linea.
--
HTH
Karl
*********
Access-FAQ (tedesco): 
http://www.donkarl.com

 Access-FAQ (tedesco): 
http://www.donkarl.com
--


Un altro grazie a Roberto,
sbagliavo perchè facevo deleteindex come comando invece di usarlo nel
formato da te spiegato .
Grazie ancora.
Ora sto cercando di capire come fare in modo che gli indici da creare e/o
cancellare se li vada prendere da una tabella.
Non credo sia difficile da qui in poi visto che la struttura iniziale cè !!
Comunque ti farò sapere.
Cosa ne dici del post di Karl ?

 *********
Grazie del suggerimento .
Funziona anche con indici di tabelle collegate ?
Ancora grazie.
Ciao con simpatia.
Marco

 Cosa ne dici del post di Karl ?
Beh, le soluzioni di Karl di solito sono ottime.
Se però devo essere onesto non ci sono riuscito a farla funzionare anche se
non mi ha dato alcun errore: ma l'indice non me lo ha cancellato, tanto è
che ho chiesto anche io a Karl se la cosa potesse funzionare anche con
tabelle collegate.
Ciò non significa che nel provare io non abbia fatto qualche castroneria:
comunque spesso, quando trovo una soluzione funzionante, non dedico molto
tempo alle soluzioni alternative.


 Funziona anche se la tabella che contiene l'indice è collegata?
Ci sono possibilità diverse (DAO, ADO, Automazione) di lanciare
un statement SQL per un altra database. Qui 2 versione con DAO
e tuo esempio:
1. Si puo aprire un altra DAO db e lanciare lo statement con Execute.
Dim Db As DAO.Database
Set Db = OpenDatabase("C:\Documenti\MioBE.mdb")
' Db.Execute "CREATE INDEX Pluto ON Pippo (Campo)" ' creare l'indice
Db.Execute "DROP INDEX Pluto ON Pippo" ' eliminare l'indice
Db.Close: Set Db = Nothing
2. Ancora più breve ma non ben documentato è la possibiltà di usare
cartella/file (si vede che non mi viene in mente la parola italiana per
"path") direttamente nel statement SQL.
CurrentDb.Execute "CREATE INDEX Pluto ON C:\Documenti\MioBE.Pippo (Campo)"
CurrentDb.Execute "DROP INDEX Pluto ON C:\Documenti\MioBE.Pippo"
--
cu


 ha scritto nel messaggio
news:ar6kbk$ficgb$1...@ID-46617.news.dfncis.de...
[SUPER CUT]
Grazie!


"path") direttamente nel statement SQL.
path = percorso :-)
Ciao. Claudio.

Claudio <c...@NOSPAMandCOsupereva.it> ha scritto:

Grazie.
Mi è anche venuto in mente ...qualche ora dopo il post.
Forse debbo comprarmi un dizionario technico italiano per
non irritarmi più di queste debollezze.
--
;-)
