• 0
Sign in to follow this  
Señor Smoke

Como Reconhecer A última Linha De Um Record Set?

Question

Fala pessoal!

Seguinte, estou desenvolvendo um sistema de desbloqueio de terminais no VB6.

Estou com o seguinte problema. Eu gostaria que, quando o usuário tentasse desbloquear um terminal já desbloqueado, um aviso fosse mostrado na tela.

Acontece que, um terminal possui um histórico. Por exemplo:

Terminal            data_bloqueio             data_desbloqueio

308203038          12/12/2005                15/12/2005
308203038          17/12/2005                 NULL
No caso acima, se o usuario tentar desbloquear o terminal ele deveria conseguir porque o terminal foi desbloqueado e bloqueado novamente em uma data posterior. O codigo que estou fazendo acusa que o terminal já foi desbloqueado sendo que isto não é verdade. Resumindo o que eu quero fazer é pegar o ultimo registro do record set e verificar se a data_desbloqueio é NULL. Não estou conseguindo identificar a ultima linha do record set. Aqui vai o codigo que estou fazendo:
Private Sub Command1_Click()
On Error GoTo errexcl
If dddter.Text = "" Or ddd.Text = "" Then
MsgBox "Campos obrigatórios em branco", vbExclamation
Else
SQL = "Select * from t91013.COBILLING_BLOQUEIOS where DDD_Terminal = '" & dddter.Text & "' AND DDD = '" & ddd.Text & "'  "
Set Rs = Con.Execute(SQL)
If Rs.BOF And Rs.EOF Then
MsgBox "Registro não encontrado", vbExclamation
'ElseIf Rs.Fields("data_desbloqueio").Value <> "" Then
'MsgBox "Registro já se encontra desbloqueado", vbExclamation
Else
 VOK = MsgBox("O registro será desbloqueado", _
     vbYesNo + vbQuestion, "Atenção")
     If VOK = vbYes Then
        SQL = "Update t91013.COBILLING_BLOQUEIOS Set Data_Desbloqueio=getdate() where ddd = '" & ddd.Text & "' and ddd_terminal = '" & dddter.Text & "'and data_desbloqueio is Null"
        Con.Execute SQL
        SQL = "update cobilling_bloqueios set tipo_desbloqueio = 'Manual' Where ddd_terminal = '" & dddter.Text & "' and tipo_desbloqueio is null"
        Con.Execute SQL
        MsgBox "Registro desbloqueado com sucesso"
     End If
End If
End If

Espero que possam me ajudar. É a ultima do ano, isso eu prometo srsrsrsrs

FELIZ ANO NOVO A TODOS!!

Share this post


Link to post
Share on other sites

13 answers to this question

Recommended Posts

  • 0

que banco de dados você usa?

Se você tiver trabalhando com ACCESS use top 1 Ex:

sqlPlayer = "Select top 1 * From PlayingCharacters Where CurrentLevel < 300

se for mySQL use limit 1 EX:

sqlPlayer = "Select * From PlayingCharacters Where CurrentLevel < 300 limit 1

espero ter ajudado

abraços

Share this post


Link to post
Share on other sites
  • 0

o Rs.MoveLast vai para o ultimo registro

veja se te ajuda ae! e posta ae o resultado!

abraços

Share this post


Link to post
Share on other sites
  • 0

O MoveLast vai para o último registro do recordset, porém o último registro da tabela pode não ser exatamente o último do recordset já que eles podem estar em uma ordem diferente. Experimente colocar uma DataGrid no form e atribuir o recordset utilizado à propriedade DataSource dela. Verifique então quais os registros mostrados e veja se o último realmente é o que você espera.

Abraços,

Graymalkin

Share this post


Link to post
Share on other sites
  • 0

Pra poder manipular as propriedades do record set (movelast, movefirst etc...)

é realmente necessário associar o record set a um DataGrid.datasource?

Não é possivel usar essas propriedades sem um datagrid, digo, pegando diretamente do record set?

Estou dizendo isso porque no meu caso acima, eu não estou usando um datagrid, estou carregando os resultados das consultas diretamente no record set.

Share this post


Link to post
Share on other sites
  • 0

Pra poder manipular as propriedades do record set (movelast, movefirst etc...)

é realmente necessário associar o record set a um DataGrid.datasource?

Não é possivel usar essas propriedades sem um datagrid, digo, pegando diretamente do record set?

Estou dizendo isso porque no meu caso acima, eu não estou usando um datagrid, estou carregando os resultados das consultas diretamente no record set.

Sim, você pode utilizá-las sem o recordset estar ligado a uma DataGrid. Eu só sugeri isso porque fica *mais fácil de visualizar* o conteúdo do recordset.

Abraços,

Graymalkin

Share this post


Link to post
Share on other sites
  • 0

Eu sei, é que eu não gostaria de poluir meu form com um datagrid.

Como eu posso utilizar as propriedades do RS sem um datagrid?

Da forma que estou fazendo não esta dando certo. Em ultimo caso eu coloco um datagrid no form mas gostaria de fazer sem.

Share this post


Link to post
Share on other sites
  • 0
Eu sei, é que eu não gostaria de poluir meu form com um datagrid.

Ponha o datagrid so pra testar. depois apague.

Será que eu não fui claro a respeito disso...? É só mesmo para testar, para você poder *ver* qual é o último registro *do* recordset e conferir se é realmente o que você está querendo/imaginando.

Abraços,

Graymalkin

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this