Non funziona neanche così
create [unique] index cretab01 on Cretab (tavola [asc])
e sono abbastanza sicuro che non ci voglia il ; finale
e comunque ho preso da Microsoft la sintassi.
Ovviamente so se l'indice è unique e l'ordinamento,
Come detto parto da un db sql
quindi con l'istruzione "Select * from " & DBname & ".sys.tables order by name " ricavo tutte le tabelle del db
con l'istruzione "Select * from " & DBname & ".INFORMATION_SCHEMA.COLUMNS where table_name = NAME ricavo i campi della tabella, nome e data_type
e con l'istruzione
select a.name as name, a.type_desc, c.name as nome, b.is_descending_key from " & DBname & ".sys.indexes a, " & DBname & ".sys.index_columns b, " & DBname & ".sys.all_columns c where a.object_id = " & Appo.Rows(cucu).Cells("object_id").Value & " and a.object_id = b.object_id and a.object_id = c.object_id and a.index_id = b.index_id and b.column_id = c.column_id and a.type_desc = 'CLUSTERED'"
ricavo il nome dell'indice primario, e il nome dei campi che compongono l'indice.
Il problema è che sono abituato a creare tabelle sql anche a runtime con indice primario e altri indici, ma con access ho sempre creato solo tabelle senza indice e volevo evitare, una volta creata di entrare con access per definire gli indici