Access - Número Incremental de acuerdo a unas iniciales

 
Vista:

Número Incremental de acuerdo a unas iniciales

Publicado por Frank Rivera (6 intervenciones) el 28/11/2001 15:45:31
Saludos a todo el foro, anticipadamente gracias por su ayuda. Resulta lo siguiente, tengo unos reporte que controlo mediante un número compuesto por las iniciales de la empresa, el año actual y un número incremental (ejemplo SEA10001) . El problema es que necesito que cuando se dé de alta una nueva empresa, al escoger sus iniciales en el reporte (tengo un cuadro combinado con las iniciales de cada empresa), la numeración inicie desde 1, pero si escojo las iniciales de una empresa que ya tiene numeración debe de continuar en el número que tenía, ejemplo:
Si escojo SEA, como ya está el SEA10001 debe de asignar el número SEA10002 y así respectivamente, pero si escojo AON, como no tiene ningún registro debe de empezar en AON10001 y caundo vuelva a escogerlo debe de asignar AON10002. Ojalá me haya explicado y puedan ayudarme, ya que es urgente.
sale..
Francisco Rivera
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Número Incremental de acuerdo a unas iniciales

Publicado por Ignacio (231 intervenciones) el 29/11/2001 04:13:21
Tienes que hacerlo mediante código VB. ¿Sabes programar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Número Incremental de acuerdo a unas iniciales

Publicado por Francisco Rivra (6 intervenciones) el 29/11/2001 11:45:56
Estimado Ignacio,, ya resolví mi problema y efectivamente, si sé programar, te dejo el código por si quieres usarlo. El código está debajo de un cuadro combinado, en el evento Después de Actualizar.

Private Sub cdoEmpresa_AfterUpdate()
On Error Resume Next
Dim Cual, letras
Cual = DMax("NoRep", "tblReportes", "[Contratante] = forms!frmCAS!cdoempresa")
If Not IsNull(Cual) Then
If Me.Temp3 1 Then
Temp3 = DMax("Temp3", "tblReportes", "[Contratante] = forms!frmCAS!cdoempresa") + 1
End If
If Me.MiNum 1 Then
Me.MiNum = DMax("MiNum", "tblReportes", "[Contratante] = forms!frmCAS!cdoempresa") + 1
End If
Else
MiNum = 1
Temp3 = 1
End If
año = Right(Format(Date, "yy"), 1)
letras = cdoEmpresa
If Me.MiNum > 0 And MiNum 10 Then
NoRep = letras & año & "000" & MiNum
ElseIf Me.MiNum >= 10 And MiNum 100 Then
NoRep = letras & año & "00" & MiNum
ElseIf Me.MiNum >= 100 And MiNum 1000 Then
NoRep = letras & año & "0" & MiNum
ElseIf MiNum >= 1000 Then
NoRep = letras & año & MiNum
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Número Incremental de acuerdo a unas iniciales

Publicado por Francisco Rivra (6 intervenciones) el 29/11/2001 11:46:22
Estimado Ignacio,, ya resolví mi problema y efectivamente, si sé programar, te dejo el código por si quieres usarlo. El código está debajo de un cuadro combinado, en el evento Después de Actualizar.

Private Sub cdoEmpresa_AfterUpdate()
On Error Resume Next
Dim Cual, letras
Cual = DMax("NoRep", "tblReportes", "[Contratante] = forms!frmCAS!cdoempresa")
If Not IsNull(Cual) Then
If Me.Temp3 1 Then
Temp3 = DMax("Temp3", "tblReportes", "[Contratante] = forms!frmCAS!cdoempresa") + 1
End If
If Me.MiNum 1 Then
Me.MiNum = DMax("MiNum", "tblReportes", "[Contratante] = forms!frmCAS!cdoempresa") + 1
End If
Else
MiNum = 1
Temp3 = 1
End If
año = Right(Format(Date, "yy"), 1)
letras = cdoEmpresa
If Me.MiNum > 0 And MiNum 10 Then
NoRep = letras & año & "000" & MiNum
ElseIf Me.MiNum >= 10 And MiNum 100 Then
NoRep = letras & año & "00" & MiNum
ElseIf Me.MiNum >= 100 And MiNum 1000 Then
NoRep = letras & año & "0" & MiNum
ElseIf MiNum >= 1000 Then
NoRep = letras & año & MiNum
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar