Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lydia

pra encerrar a consulta..

Recommended Posts

tpw..quando eu carrego o form eu tenho as text com os dados dos clientes..tem o botões onde eu faço movimentação dos registros..primeiro, anterior, próximo e último. Tem tbm os botões de manutenção novo, editar, cancelar, excluir e salvar. E tenhu uma combo pra consulta por nome. aew tpw...depois q eu fiz a consulta, quero voltar ao primeiro registro...como eu faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiramente, se você definiu um filtro (CLIENTE = X) você não pode se movimentar pelos registros. então, a primeira coisa a fazer é redefinir seu comando SQL sem o WHERE. feito isso (com todos os registros listados) basta se movimentar com o comando MoveFirst. exemplo: rs.MoveFirst (onde rs é seu recorset).

Compartilhar este post


Link para o post
Compartilhar em outros sites

como assim redefinir sem o where?? :huh: comu eu faço?

eh q eu sô iniciante msmo!!!

se der pra explicar melhor

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte...quando você abre seu form seu comando SQL busca todos os registros da tabela, certo?! tipo: SELECT * FROM CLIENTES. com esse comando, seu recordset recebe todos os registros da tabela CLIENTE. quando você utiliza um filtro com o WHERE, somente um registro é alocado no seu recorset, tipo: SELECT * FROM CLIENTES WHERE NOME = 'FULANO'.

 

sendo assim, você não consegue se mover pelos outros registros. para que o seu recordset volte a ter todos os registros da tabela, você precisa passar pra ele um novo comando SQL, no meu exemplo: SELECT * FROM CLIENTES.

 

deu pra entender? ou não é bem isso que você tava pensando? eu faço isso em todos os meus programas e sempre dá certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não costumo trabalhar com controles vinculados, e se você puder fugir deles, fuja! mas vai aí um código exemplo de como alterar a SQL de um Command:

 

DataEnvironment1.Commands("COMMAND1").CommandText = "SELECT * FROM TABELA"

onde COMMAND1 é o nome do Command que você quer atribuir a nova SQL. testa aí e depois fala se deu certo. see you!

Compartilhar este post


Link para o post
Compartilhar em outros sites

colokei assim no evento click do botão "primeiro":

If consulta = True Then
  DataSige.Commands("rsfornecedores").CommandText = "SELECT * FROM fornecedores"

   
   If Text22.Text <> Empty Then
	DataSige.rsfornecedores.MoveFirst
	MsgBox "Primeiro Registro", vbInformation + vbOKOnly
   End If
   
 End If

aew quando eu cliko em primeiro naum acontece nada...^^

 

obs: a text22 refere-se ao campo código da tabela..

Compartilhar este post


Link para o post
Compartilhar em outros sites

no seu caso, nem a mensagem "Primeiro Registro" está sendo mostrada? se for só isso, basta acompanhar seu programa com o Step In (tecla F8) e ver onde sua variável "consulta" recebe o valor FALSE (ou ela não está recebendo valor nenhum).

Compartilhar este post


Link para o post
Compartilhar em outros sites

intaum..nem a msg tah aparecendo. Eu declarei a variável consulta como true no evento click da combo onde eh feita a consulta..

 

Private Sub DataCombo4_Click(Area As Integer)
 [b] If DataSige.rssql_fornecedores.State = 1 Then
	DataSige.rssql_fornecedores.Close
  End If[/b]  
  If DataCombo4.Text <> Empty Then
	Dim consulta As Boolean
	consulta = True
	 DataSige.sql_fornecedores DataCombo4.Text
		 
	  Text1.DataMember = "sql_fornecedores"
	  Set Text1.DataSource = DataSige
	  Text2.DataMember...

outra coisa..

..eu queria entender o q faz esse comando q postei em negrito..state?

foi meu professor q foi me passando umas instruções soh q eu naum entendi direito..e agora férias neh!! nem vejo mais ele pra perguntah..

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum, se a mensagem não está sendo exibida eh pq sua condição IF não está sendo aceita. se você declarou a variável consulta em um determinado evento, lembre-se que ela será "zerada" ao começar outro evento. você deve declará-la como global.

 

esse texto em negrito está trabalhando com o recordset do command "sql_fornecedores". só não sei qual é a função do STATE. tb sou iniciante em VB e não conheço todas as funções ainda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah tah..agora declarei como global..e qdo parecia q ia dah certo deu um erro nessa linha:

 

DataSige.Commands("rsfornecedores").CommandText = "SELECT * FROM fornecedores"

run-time error '5':

 

invalid procedure call or argument

 

aew eu tentei tirar o 'rs' de 'rsfornecedore" ficou assim:

DataSige.Commands("fornecedores").CommandText = "SELECT * FROM fornecedores"

aew deu otru erro mais em baixo:

DataSige.rsfornecedores.MoveFirst

..naum é possíve atualizar código. o campo não é atualizável..

 

ai ai...achu q vai longe :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse erro tah aparecendo em português mesmo? coloca ele como tah aparecendo pra eu tentar enternder. esse erro tah acontecendo em qual evento?

 

outra coisa, antes do DataSige.rsfornecedores.MoveFirst tente colocar isto:

 

DataSige.rsfornecedores.Close
DataSige.fornecedores

Compartilhar este post


Link para o post
Compartilhar em outros sites

run-time erro '-2147217887 (80040e21)":

 

não é possível atualizar 'código'. O campo não é atualizável.

 

aew mudando o q você flw fica assim;

Private Sub cmd_primeiro_Click()
 If consulta = True Then
   DataSige.Commands("fornecedores").CommandText = "SELECT * FROM fornecedores"
   
   
   If Text22.Text <> Empty Then
   DataSige.rsfornecedores.Close
   DataSige.fornecedores 'linha q deu erro
	DataSige.rsfornecedores.MoveFirst
	MsgBox "Primeiro Registro", vbInformation + vbOKOnly
   End If
  End If
 End Sub

erro de sintaxe na cláusula From

 

 

será q esse erro é por q o Command domeu DataEnvironment está montado por tabela e não por comando sql?

Compartilhar este post


Link para o post
Compartilhar em outros sites

em qual evento?

 

opa, peraê...esse campo 'código' faz referência com algum objeto do form? se sim, lembre-se que esse objeto deve ser preenchido corretamente nas propiedades DataSource, DataMember e DataField

Compartilhar este post


Link para o post
Compartilhar em outros sites

evento click do botão primeiro

 

edit...

 

opa, agora fiz o seguinte. mudei essa linha:

DataSige.Commands("fornecedores").CommandText = "SELECT * FROM fornecedores"

deixei assim:

DataSige.Commands("fornecedores").CommandText = "fornecedores"

agora apareceu a msgbox.. soh q os campos não foram atualizados. Não voltou ao 1º registro..

Compartilhar este post


Link para o post
Compartilhar em outros sites

você colocou aquelas duas linhas de comando dpois do DataSige.Commands("fornecedores").CommandText = "SELECT * FROM fornecedores"?

 

seu comando SQL não vai dar em nada soh com esse texto "fornecedores". faz o seguinte, tem como você me passar esse projeto por email pra eu dar uma olhada? ou você prefere continuar tentando aq pelo forum mesmo? meu email você consegue acessando meu perfil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, sem problema. passa como tah o código inteiro ateh agora então.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.