Boa tarde!
Estou a tentar desenvolver uma BD para ajudar no trabalho. Aproveitando uma dica do mestre JPaulo, estou a tentar criar o código que busque a sigla da equipa + numeração automática (ex: PIN-001). Tenho uma caixa de combinação, onde seleciono a equipa (ex: Pintura) e quero atualizar o campo Num_Folha (PINT-001; Pint-002...Ou CAN-001; CAN-002 etc..., conforme a equipa que seleciona).
O código que estou a usar, disponibilizado pelo JPaulo, é:
Dim numeroencontrado As String, proximoNumero As Integer
'By JPaulo ® Maximo Access
'encontrar o ultimo numero na tabela
numeroencontrado = Nz(DMax("Num_Folha", "tblTarefas", "Equipa = " & Me.Equipa.Value), 0)
If IsNull(numeroencontrado) Or numeroencontrado = "" Or numeroencontrado = "0" Then
'se não existir numeração, insere o equipamento + 001 para iniciar
numeroencontrado = Me.Equipa.Value & "-" & "001"
'devolve ao campo a nova numeração
Me.Num_Folha.Value = numeroencontrado
Else
'se já existir numeração na tabela, acrescenta +1
proximoNumero = right(DMax("Num_Folha", "tblTarefas", "Equipa = '" & Me.Equipa.Value), 3) + 1
'devolve ao campo a nova numeração
Me.Num_Folha.Value = Me.Equipa.Value & "-" & Format(proximoNumero, "000")
End If
Já pesquisei, mas não encontro a solução. Penso que o problema esteja no tipo de dados do campo Equipa (texto), o campo Num_Folha também está defenido como texto.
Estou a tentar desenvolver uma BD para ajudar no trabalho. Aproveitando uma dica do mestre JPaulo, estou a tentar criar o código que busque a sigla da equipa + numeração automática (ex: PIN-001). Tenho uma caixa de combinação, onde seleciono a equipa (ex: Pintura) e quero atualizar o campo Num_Folha (PINT-001; Pint-002...Ou CAN-001; CAN-002 etc..., conforme a equipa que seleciona).
O código que estou a usar, disponibilizado pelo JPaulo, é:
Dim numeroencontrado As String, proximoNumero As Integer
'By JPaulo ® Maximo Access
'encontrar o ultimo numero na tabela
numeroencontrado = Nz(DMax("Num_Folha", "tblTarefas", "Equipa = " & Me.Equipa.Value), 0)
If IsNull(numeroencontrado) Or numeroencontrado = "" Or numeroencontrado = "0" Then
'se não existir numeração, insere o equipamento + 001 para iniciar
numeroencontrado = Me.Equipa.Value & "-" & "001"
'devolve ao campo a nova numeração
Me.Num_Folha.Value = numeroencontrado
Else
'se já existir numeração na tabela, acrescenta +1
proximoNumero = right(DMax("Num_Folha", "tblTarefas", "Equipa = '" & Me.Equipa.Value), 3) + 1
'devolve ao campo a nova numeração
Me.Num_Folha.Value = Me.Equipa.Value & "-" & Format(proximoNumero, "000")
End If
Já pesquisei, mas não encontro a solução. Penso que o problema esteja no tipo de dados do campo Equipa (texto), o campo Num_Folha também está defenido como texto.