ADO X FIREBIRD, .INDEX E .SEEK
Quero saber se funciona o .index e o .seek no firebird, pois aqui retorna Ãndice inexistente:
rst.Index = [Ô]Ind_codcbo[Ô]
[ô]Abre o Recordset
rst.Open [Ô]TB_CBO[Ô], cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
[ô]Busca pela registro
rst.Seek .......
rst.Index = [Ô]Ind_codcbo[Ô]
[ô]Abre o Recordset
rst.Open [Ô]TB_CBO[Ô], cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
[ô]Busca pela registro
rst.Seek .......
não sei se isso funciona, mas acho que é melhor você usar sql para pesquisar registros no banco
select * from tabela where campo like [ô]%maria%[ô]
select * from tabela where campo like [ô]%maria%[ô]
olha o colega grego colocou certo o melhor é se usar query
seria algo asism
seria algo asism
rst.Open [Ô]SELECT * FROM TB_CBO WHERE campo=[ô][Ô] & txtconsulta & [Ô][ô][Ô], cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
e digo mais
é ainda melhor fazer isso via procedure!
é ainda melhor fazer isso via procedure!
Já tentou mudar a ordem dos comandos?
[ô]Abre o Recordset
rst.Open [Ô]TB_CBO[Ô], cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
rst.Index = [Ô]Ind_codcbo[Ô]
[ô]Busca pela registro
rst.Seek .......
[ô]Abre o Recordset
rst.Open [Ô]TB_CBO[Ô], cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
rst.Index = [Ô]Ind_codcbo[Ô]
[ô]Busca pela registro
rst.Seek .......
Citação::
Já tentou mudar a ordem dos comandos?
[ô]Abre o Recordset
rst.Open [Ô]TB_CBO[Ô], cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
rst.Index = [Ô]Ind_codcbo[Ô]
[ô]Busca pela registro
rst.Seek .......
Tentei desta forma, e da uma msg dizendo: [Ô]O provedor atual não oferece suporte para a interface necessária à funcionalidade de Ãndice[Ô]
Ou seja, o driver que vc usa não dá suporte. Experimente o método First do objeto Recordset. Olha esse exemplo usando o banco employee que acompanha o Firebird.
rs.Open [Ô]select * from country[Ô], , adOpenKeyset
rs.Find [Ô]country=[ô]USA[ô][Ô], , adSearchForward, 0
If rs.EOF Then
MsgBox [Ô]Nada encontrado[Ô]
Else
MsgBox rs([Ô]country[Ô])
End If
LLaia,fiquei na dúvida para que serve os Ãndices criados no Firebird, e como eu chamo esses Ãndices?
Citação::
LLaia,fiquei na dúvida para que serve os Ãndices criados no Firebird, e como eu chamo esses Ãndices?
Os Ãndices semrpe serviram para o engine de qualquer banco de dados localizar mais rápido os registros. faz parte do processo de otimização. Claro que Ãndices demais prejudicam. Tem que ter critério. Ãndices não são efetivos em campos com granularidade baixa, ou seja, dados que se repetem nos registros.
A DAO exige um Ãndice para executar o Seek no Access, devido à carcterÃstica do Access de ser apenas um arquivo estruturado de dados, e ela com o Jet faz todo o serviço. Access não é um SGDB. Em um SGBD vc pede o que quer, e o otimizador seleciona o Ãndice adequado para a consulta em questão. Claro que é possÃvel forçr o uso de um Ãndice numa query também.
Tópico encerrado , respostas não são mais permitidas