Wesley Oliveira
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 27/01/2009 10:59 hs
Colegas quero criar uma paginação em um Recordset, ate que consegui fazer a paginação, mas quando fui criar um filtro aparece uma mensagem de erro "OBJECT VARIABLE OR WITH BLOCK VARIABLE NOT SET" só da erro quando uso um filtro. Segue o Código:
PS. SEM O WHERE FUNCIONA.
Private Sub cmdcriapagina_Click()
Set rst = New ADODB.Recordset sql = "SELECT TEMAS,TIPOS FROM TEMAS WHERE TIPOS LIKE '" & txttipo & "%' ORDER BY TEMAS" rst.CursorLocation = adUseServer rst.CursorType = adOpenStatic rst.LockType = adLockReadOnly rst.PageSize = 10
Set rst.ActiveConnection = BancoSQL rst.Open sql
Call exibe_pagina(1) cmdproxima.Enabled = True cmdcriapagina.Enabled = False cmdanterior.Enabled = True
End Sub
Private Sub exibe_pagina(pagina) rst.AbsolutePage = pagina tamanhopagina = rst.PageSize contador = 1 lblnpage.Caption = pagina
lstPagina.Clear While (Not rst.EOF) And (contador <= tamanhopagina) lstPagina.AddItem rst(0) rst.MoveNext contador = contador + 1 Wend
' exibe os valores lblreg.Caption = rst.RecordCount lblpage.Caption = rst.PageSize lblregpage.Caption = rst.PageCount
End Sub
Private Sub cmdproxima_Click() If rst.AbsolutePage <> -3 Then Call exibe_pagina(rst.AbsolutePage) cmdanterior.Enabled = True Else MsgBox " Chegamos a Última pagina " Call exibe_pagina(rst.PageCount) End If End Sub
AGRADEÇO ATENÇÃO
|
|
|
|
Álvaro
|
GUARULHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 27/01/2009 15:27 hs
Wesley você tentou rodar esse filtro sem o order by e/ou o order by sendo ordenado pelo tipos e não por temas?
|
|
|
Perci
|
MATÃO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 27/01/2009 15:56 hs
Talvez se você retirar o Order By, como o Álvaro disse, deve resolver o seu problema.
|
|
|
Wesley Oliveira
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 27/01/2009 16:23 hs
Colegas vcs tinham razão, tirei o order by e funcionou.
Aproveitando este topico, Criei um sistema de album digital. Para melhor a agilidade de busca e deixar o minimo de campos possível no sistema. Quero uma ajuda de vcs. Tem como em apenas um textBox informar todos os tipos de busca. EX: praia2008; carnaval2008; faculdade2008...Tenho todos os album cadastrado em um banco de dados e estas informações seria a descrição do album.
No momento tenho 4 TextBox com os Nomes Descrição A, Descrição B, Descrição C, Descrição D e meu objetivo e ter apenas um TextBox Com O nome Descrição
tem como fasser isso???
|
|
|
Perci
|
MATÃO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 29/01/2009 09:45 hs
Por que você, ao invés de informar os tipos de busca numa TextBox, prencha uma ListView ou ListBox com os dados que você deseja pesquisar, assim você não precisa criar tantos TextBox e (eu acho) fica melhor para visualizar assim. Foi só uma idéia. Pode ser que alguém sugira outra idéia melhor. Até mais.
|
|
|
Wesley Oliveira
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 29/01/2009 10:08 hs
Colegas, brigado pela atenção.
Consegui resolver meu problema com um código bem simples, segue o código para compartilhar com todos os colegas
Wpalavra = Split(txtdescricao.Text, ";") 'o comando cria uma ARRAY com os ítens separados por ";" Wcomando = "SELECT TEMAS,CARACTERÍSTICAS,[ASSIT TEMA],DESCRIÇÃO,TIPOS FROM TEMAS " For Wx = 0 To UBound(Wpalavra) Wdescricao = "(DESCRIÇÃO like '%" & Wpalavra(Wx) & "%' and " Wclassificacao = "[ASSIT TEMA] like '%" & txtclassificacao.Text & "%' and " Wtipo = "TIPOS like '%" & txttipo & "%' and " Wcaracteristica = "CARACTERÍSTICAS like '%" & txtcaracteristica & "%')" Wcomando = Wcomando & IIf(Wx = 0, "where ", " or ") & Wdescricao & Wclassificacao & Wtipo & Wcaracteristica Next Wx
|
|
|