Convidado 11/8/2012, 18:20
Bem... fiz algo aqui, teste e vá adaptando conforme sua necessidade... as ideias vão surgindo caso seja conforme necessita.. vamos evoluindo.
Bem a lógica é separar os numeros no campo por um caracter delimitador (no caso o . "Ponto") e assim extrair o ultimo numero do campo, evitando assim se digitar recomecar do inicio.
De início os nome de campos em tua tabela estão equivocados... renommei alguns.
001 >>> ID
11 >>> CpNumero
Private Sub valores_furtados_KeyDown(KeyCode As Integer, Shift As Integer)
Dim XNum As String
If KeyCode = 13 Then
'Adiciono na variável XNum a informação contida no campo CpNumero filtrado pelo ofício
XNum = Nz(DLookup("CpNumero", "[Oficio Normal]", "ID =" & Me.txtID & ""),"")
'Extraio o último numero válido contido na variável
XNum = Mid([XNum], InStrRev([XNum], ".") + 1)
MsgBox XNum
'Caso a pesquisa retorne um registro válido(ja existente) renumero a variável publica a partir da variavel + 1, assim de o ultimo numero for o 7, o proximo será o 8
If XNum <> "" Then
X = CInt(XNum) + 1
StrTexto = Me.CpMEMO & vbCrLf & ". " & X
Me.CpMEMO = StrTexto
Me.CpMEMO = LTrim(Me.CpMEMO)
Me.valores_furtados.SetFocus
Else
If X = Empyt Then
X = 1
StrTexto = X
Me.CpMEMO = ". " & StrTexto
Else
X = X + 1
StrTexto = Me.CpMEMO & vbCrLf & ". " & X
Me.CpMEMO = StrTexto
Me.CpMEMO = LTrim(Me.CpMEMO)
End If
End If
RunCommand acCmdSaveRecord
Me.valores_furtados.SetFocus
'Posiciona o cursor no final da caixa texto
Me.valores_furtados.SelStart = Len(Me.valores_furtados)
End If
End Sub
Obs. Tanto no código acima como no código do Botão editar para o campo numero, é bom salvar o registro, pois pode ser que ao adicionar um numero manualmente, este ainda nao esteja atualizado no form.
Private Sub Command702_Click()
If Me.CpMEMO.Enabled = False And Me.Command702.Caption = "Editar" Then
Me.CpMEMO.Enabled = True
Me.Command702.Caption = "Fechar Edição"
Me.Command702.ForeColor = vbRed
Exit Sub
End If
If Me.CpMEMO.Enabled = True And Me.Command702.Caption = "Fechar Edição" Then
Me.CpMEMO.Enabled = False
Me.Command702.Caption = "Editar"
Me.Command702.ForeColor = vbBlack
RunCommand acCmdSaveRecord
Exit Sub
End If
End Sub
https://dl.dropbox.com/u/26441349/ToyeBom.rar