Álvaro
|
GUARULHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 21/07/2006 21:09 hs
Gente, gostaria de saber como que eu posso fazer uma pesquisa de dados Minha intenção é que, enquanto o botão das setas de movimentação dos dados estiver pressionado os dados vão passando automaticamente, me deram os códigos uma vez usando o timer, funcionou legal, só que infelizmente eu perdi o código, será que alguém poderia me dar uma luz de como conseguir isso. Eu tentei fazer no peito e na raça, más não deu certo Obrigado
|
|
|
|
Sandro
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 21/07/2006 23:00 hs
Olá, Deixe-me ver se entendi. Você tem um form qualquer de exibe dados de uma tabela. Ele mostra os dados de cada registro individualmente. Cada vez que você pressionar as setas do teclado, você quer que o programa passe para o próximo registro ou para o anterior. É isso? Bem, se for isso você não precisa de timer. Basta marter o recordset aberto em memória (declare a variável do recordset em nívem de módulo, na seção General Declarations). Depois, defina a propriedade KeyPreview do formulário para True. No evento Form_KeyDown, coloque o seguinte código: Select Case KeyCode Case vbKeyUp, vbKeyLeft If Not NomeDoRecordset.Bof Then NomeDoRecordset.MovePrevious End If Case vbKeyDown, vbKeyRight If Not NomeDoRecordset.Eof Then NomeDoRecordset.MoveNext End If End Select Bom, mas se não for nada disso, explique melhor o que você deseja. Um abraço, Sandro.
|
|
|
FAV
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 21/07/2006 23:02 hs
Tente utilizar os seguinte comandos Botão Seta: no evento de mouse focus ative o timer e em cada ciclo do timer você solicita que o registro seja passado para frente e aciona novamente o timer e no evento de perca de focus, desabilite o timer
|
|
|
Álvaro
|
GUARULHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 22/07/2006 15:57 hs
Sandro é quase isso, más não são as setas do teclado, e sim tem um botão próximo e anterior no programa e a intenção é que enquanto o cliente manter o botão pressionado os dados serão exibibos continuamente até que o cliente solte o botão do mouse FAV eu tinha feito isso, no evento gotfocus (recebe o focu) do botão e quando eu pressionava o botão ele começava a exibir os dados, más quando eu soltava o botão do mouse o sistema continuava a exibir Fico no aguardo
|
|
|
|
Postada em 22/07/2006 16:21 hs
Coloque um timer no seu projeto e faça assim: Dim flagReg as byte Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) flagReg = 1 Timer1.Interval = 1000 End Sub Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Timer1.Interval = 0 End Sub No timer: Private Sub Timer1_Timer() Select Case FlagReg case 1 Recordset.MoveNext case 2 Recordset.MovePrevious End Select End Sub
Vc vai colocar no botão de ir para o próximo registro o flagReg = 1. No botão de ir para o registro anterior vc vai colocar flagReg = 2 e no timer, usando o case, vc faz a consistência... como coloquei acima. No evento MouseUp de cada botão vc zera a propriedade interval do timer. blz? t+
|
TÓPICO EDITADO
|
|
|
|
Sandro
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 23/07/2006 12:10 hs
Olá Álvaro, Realmente como o Ghost falou, você deverá usar um timer. Taçlvez você tenha que usar um intervalo menor ou maior, mas a idéia realmente é essa. um abraço, Sandro.
|
|
|
|