Ir para conteúdo
Fórum Script Brasil
  • 0

Mudar O Cursor, E Incrementar Um Numero.


Evandro Fontes

Pergunta

Mais um obstáculo por aki, espero queesse seja mais facil, do que o problema com o grid laugh.gif

tenho um formulário, que ao dar um clique no botão novo, ele faz uma busca por uma ordem de serviço (pelo numero) e retorna o mais valor, até ai sem problemas, o meu problema é que eu queria fazer 2 coisas pra implementar isso.

1ª - As Ordens de serviço são numeradas conforme a data, por exemplo: a primeira OS de hoje ficaria: 1309/01... e assim por diante, eu queria saber como faço pra incrementar m numero a mais nos ultimos 2 digitos, tipo. faço a busca, se retornar 1309/01, qero deixar 1309/02, e igualar o txtOS com esse valor... como faço isso? (parece duvida besta e é, mas eu tentei vários metodos sem sucesso)...

2ª- ao fazer a busca, fiz uma clausula para buscar somente OS do dia, usei algumas variaveis, e tal, até ai, sem problemas, retornou normal o desejado, ai no caso, se o recordset não retornasse nada, no casa de ser a primeira OS do dia, ou outro caso, ai ele colokaria a data, ex: 1309/ .. mas o numero da OS ficaria ao encargo de quem fosse fazer ela, o minah duvida, depois de uma longa história é, como eu faço pro cursor ficar após a barra, assim ele só digita, e passa para o próximo campo...

Agradeço mais uma vez, sua atenção, e a grande paciencia de vocês.

Abraços,

Evandro

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

1ª - As Ordens de serviço são numeradas conforme a data, por exemplo: a primeira OS de hoje ficaria: 1309/01... e assim por diante, eu queria saber como faço pra incrementar m numero a mais nos ultimos 2 digitos, tipo. faço a busca, se retornar 1309/01, qero deixar 1309/02, e igualar o txtOS com esse valor... como faço isso? (parece duvida besta e é, mas eu tentei vários metodos sem sucesso)...

Não entendi bem esse seu formato de "data", mas dê uma olhada na função DateSerial().

2ª- ao fazer a busca, fiz uma clausula para buscar somente OS do dia, usei algumas variaveis, e tal, até ai, sem problemas, retornou normal o desejado, ai no caso, se o recordset não retornasse nada, no casa de ser a primeira OS do dia, ou outro caso, ai ele colokaria a data, ex: 1309/ .. mas o numero da OS ficaria ao encargo de quem fosse fazer ela, o minah duvida, depois de uma longa história é, como eu faço pro cursor ficar após a barra, assim ele só digita, e passa para o próximo campo...

O "campo" que você se refere é uma TextBox? Se for, use a propriedade SelStart para definir onde o cursor deverá estar.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Esse formato da data seria assim: os dois primeiros digitos corresponde ao dia (14), os dois digitos seguintes, ao mes (09), depois vem a barra (/), e ai a ordem de Ordem de serviços qe forem executadas durente o dia..

1409/01 - primeira ordem

1409/02 -segunda ordem.. e por ai vai.....

O meu problema é que não consigo somar, ele faz a busca e trás a maior ordem de serviço, mas eu não consigo acrescventar 1 numero a ela, por exemplo, queria buscas a 1409/02, e deixá-la como 1409/03 ....

E qnt ao SelStar, como se usa ele? eu não consegui... deu erro... "Property Invalid" ..

Abraços,

Evandro

Link para o comentário
Compartilhar em outros sites

  • 0

Esse formato da data seria assim: os dois primeiros digitos corresponde ao dia (14), os dois digitos seguintes, ao mes (09), depois vem a barra (/), e ai a ordem de Ordem de serviços qe forem executadas durente o dia..

1409/01 - primeira ordem

1409/02 -segunda ordem.. e por ai vai.....

O meu problema é que não consigo somar, ele faz a busca e trás a maior ordem de serviço, mas eu não consigo acrescventar 1 numero a ela, por exemplo, queria buscas a 1409/02, e deixá-la como 1409/03 ....

Brother...

Você pode fazer assim....Pega a OS no caso vamos dizer que seja a 1409/02 e depois você pode dividi-las em duas partes (use o Split para isso). Aí você transforma o 02 em inteiro e soma mais 1. Depois você junta tudo novamente e pronto. Vou montar um exemplo. Tenho duas txts e um botão em meu form. Vou colocar o valor da minha primeira txt de 1409/02, depois vou separar seus valores pela barra "/". Aí vou pegar o valor 02 e vou somar mais 1 e depois unir tudo e colocar na minha outra txt. Exemplo

Dim MeuArray, valor, mensagem 'minhas declarações
Text1.Text = "1409/02" 'conteúdo da txt
MeuArray = Split(Text1.Text, "/", -1, 1) 'divido o conteúdo da txt em Array
valor = MeuArray(1) + CInt(1) 'coloco em uma variavel o valor "02" e somo +1
MeuArray(1) = valor 'dou o novo valor para a minha Array
mensagem = MeuArray(0) & "/" & MeuArray(1) 'coloco tudo em uma só variavel
Text2.Text = mensagem 'coloco o resultado em outra txt
Outra maneira seria assim, você pega apenas os dois últimos digitos da direita (use o Right) e transforma em inteiro e soma mais 1. Depois pega as letras da esquerda e junta com o novo valor que se formou. Em prática seria mais ou menos assim...Tenho duas txts e um botão no meu form. Vou pegar apenas os dois últimos digitos da minha txt1 (seria 02) e depois vou transformá-lo em inteiro e vou somar mais 1. Depois vou pegar as letras da esquerda ( Left(Text1.Text,5) = 1409/ wink.gif ) e vou juntar com o valor que formei. Exemplo
Dim valor As Integer 'declarei minha variavel
Text1.Text = "1409/02" 'valor da minha txt
valor = Right(Text1.Text, 2) 'pegando apenas os 2 últimos digitos da direita
valor = valor + 1 'somando mais 1 
Text2.Text = Left(Text1.Text, 5) & valor 'juntando o valor com as outras palavras.
E qnt ao SelStar, como se usa ele? eu não consegui... deu erro... "Property Invalid" ..
No caso, vou fazer um exemplo aqui. Digamos que você tenha uma caixa de texto e nessa caixa de texto você tenha a frase: "Digite-->". Se você contar quantas letras temos, terá como resultado 9. Então o nosso código poderia ser o seguinte.
private sub text1_gotfocus()
text1.selstart = 9 
end sub

private sub text1_click()
text1.selstart = 9
end sub

Toda vez que você clicar ou quando o controle receber o focus ele irá posicionar o cursor depois da letra 9, ou seja, depois da frase "Digite-->"

wink.gif

Abraços,

William Rodrigues

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...