Olá ATeixeira, boa tarde.
Amigão, Possuo uma tabela "tblCadProc" que dentre outros campos possui um, Proc do tipo Texto, que de acordo com o número digitado o sistema preenche outro campo com o nome do Setor referente à sequência de número digitado.
Código:
If Not IsNull([Proc]) Then
Me.Num = right(SeparaNomes([Proc], "/", 1), 6)
Me.DtEvento = Date
Else
Me.Num = Null
Me.DtEvento = Null
End If
If Me.Num > 0 And Me.Num < 10000 Then
Me.Setor = "GPCA"
ElseIf Me.Num > 9999 And Me.Num < 13000 Then
Me.Setor = "PSPV/CTC"
ElseIf Me.Num > 19999 And Me.Num < 23000 Then
Me.Setor = "PSG/CES"
ElseIf Me.Num > 29999 And Me.Num < 33000 Then
Me.Setor = "PSAS/CCM"
ElseIf Me.Num > 39999 And Me.Num < 43000 Then
Me.Setor = "PSV/CEG"
ElseIf Me.Num > 49999 And Me.Num < 60000 Then
Me.Setor = "GPCA"
ElseIf Me.Num > 71999 And Me.Num < 73000 Then
Me.Setor = "SPR/PUVR"
ElseIf Me.Num > 72999 And Me.Num < 74000 Then
Me.Setor = "SPR/PURO"
ElseIf Me.Num > 76999 And Me.Num < 79000 Then
Me.Setor = "HUAP"
ElseIf Me.Proc = "" Then
Me.Setor = ""
Me.Num = ""
Me.Pag = ""
Me.Caixa = ""
Me.DtEvento = ""
End If
Assim, num subformulário o usuário vai preenchendo os registros apenas digitanco a numeração do processo e os demais campos como DtEvento do tipo Data/Hora com valor padrão = Data(), Setor do tipo Texto se auto preenchem.
Nesse subformulário possuo, ainda, um campo Caixa do tipo numérico que deveria receber um valor como:
1 para os primeiros 50 registros de um determinado setor, 2 para os registros de 51 a 100, 3 para 101 a 150 e por aí vai.
O grande problema é que os processos a serem digitados não estão em ordem por numeração de Setor, e assim a coisa complica, pois não há como guardar de cabeça a que Setor pertence uma determinada sequência numérica.
Então, partindo dessa premissa, criei uma consulta em que os Setores são filtrados através de uma caixa de combinação.
SELECT tblCadProc.CodProc, tblCadProc.DtEvento, tblCadProc.Num, tblCadProc.Setor, tblCadProc.Pag, [Prefix] & "." & [Proc] AS Processo, tblCadProc.Caixa
FROM tblCadProc
WHERE (((tblCadProc.Setor)=[Forms]![frmPrinterProc2]![Setor]))
ORDER BY tblCadProc.DtEvento, tblCadProc.Num;
O que realmente pretendo é ao abrir esse segundo formulário "frmPrinterProc" que contem o subformulário baseado na consulta acima, "frmPrinterProcSub", de algum modo preencher o campo Caixa como explicado acima: 1 para os 50 primeiros registros, 2 para os registros de 51 a 100, 3 para os registros de 101 a 150 e assim sucessivamente, lembrando que agora os registros estão agrupados por Setor.
Abraços, e desculpe-me a demora em responder.
WSenna
PS. Access 2003