[firebase-br] INDEX_NAME FROM ALL_INDEXES do Oracle para o FireBird
Paulo Ricardo
magi0314 em terra.com.br
Qui Dez 2 20:20:54 -03 2004
Como faço para poder pegar os nomes de indices das tabelas no Firebird.
Tenho a função abaixo para Oracle. Como muda-la para poder funcionar com o Firebird.
Qualquer ajuda eu agradeço.
'enche combobox (txtIndices) com os indices da tabela do módulo
Public Sub EncheLstIndices(F As Form)
Dim i As Integer, vgCatTab As ADODB.Recordset
With txtIndices
.Clear 'esvazia a combo de indices
vgNIndOrdem$ = ""
.AddItem LoadGasString(140) 'Nenhum...
If Len(F.vgUltimaOrdem$) > 0 Then
.AddItem F.vgUltimaOrdemComTit$ 'Definido pela filtragem/ordenacao
Else
.AddItem LoadGasString(143) 'a definir
End If
RsOpen vgCatTab, "SELECT INDEX_NAME FROM ALL_INDEXES WHERE UPPER(TABLE_NAME) = '" + UCase$(F.vgIdentTab) + "'"
If vgCatTab.RecordCount > 0 Then 'se achou indice
Do While Not vgCatTab.EOF 'corre todos eles
If InStr(vgCatTab!Index_Name, "~") = 0 Then 'despresa os invisíveis
.AddItem PegaTituloIndice$(vgCatTab!Index_Name) 'e adiciona na lista
vgNIndOrdem$ = vgNIndOrdem$ + vgCatTab!Index_Name + "|"
End If
vgCatTab.MoveNext
Loop
End If
vgCatTab.Close 'fecha tabela
Set vgCatTab = Nothing
End With
End Sub
Mais detalhes sobre a lista de discussão lista