blueberry013
Gebruiker
- Lid geworden
- 23 mei 2011
- Berichten
- 111
Beste,
ik zit met een zwaar probleem.
Voor creatie van etiketten gebruiken we bartender, gekoppeld aan het systeem van de firma.
Met behulp van VB worden houdbaarheidsdatum en lotcode automatisch gegenereerd.
Hiervoor gebruikten we deze code :
THT = dateadd ("d",Field("Tbl_Temp_Label_Bartender.Houdbaarheidsduur"),Date)
PTHT = Datepart ("d", dateadd ("d",Field("Tbl_Temp_Label_Bartender.Houdbaarheidsduur"),Date))
ProdDag = right(Format.NamedSubStrings("Lotnr").Value,2)
If CInt(PTHT)-1 > CInt(ProdDag) Then
Value = Dateserial(year (THT),Month(THT)+1,day(16))
Else
If CInt(ProdDag) < 16 Then
Value = Dateserial(year (THT),Month(THT),day(16))
Else
Value = Dateserial(year (THT),Month(THT),day(29))
End If
End If
Probleem zit hem nu in het volgende :
1. deze regels houden geen rekening met het schrikkeljaar... Hierdoor klopt dus de THT (die ofwel 16 of wel 28ste dag van de maand is)
2. 1 januari viel op een vrijdag. Hierdoor zet hij de weeknummer pas op vrijdag ipv maandag.
Kan iemand met de juiste inzichten en intelligentie hier een antwoord op vinden? want ik word er stilletjes aan moedeloos van.
Ik heb deze code reeds geprobeerd, maar een beetje tevergeefse moeite vrees ik....
LotDag = right (Field("Tbl_Temp_Label_Bartender.Lotnr") ,2) 'Laatste 2 cijfers van Lotnummer
Week = mid(Field("Tbl_Temp_Label_Bartender.Lotnr") ,3,2) '3de en 4de cijfer van Lotnummer (week van het jaar)
PJaar = mid(Field("Tbl_Temp_Label_Bartender.Lotnr") ,5,2) '5de en 6de cijfer van Lotnummer (jaartal)
PWeek = DateAdd("ww",Week ,DateSerial(Year(Date()),1,1)) 'Datum weergeven in welke week de productie is. 1 januari jaar Lotnummer + aantal weken
PDag = DateSerial (year (PWeek),month(PWeek), day (LotDag)+1) 'Weergave van de productiedatum adhv lotnr
If Datepart ("ww", PDag) <> Week then
Pdag = DateSerial (year (PWeek), month (PWeek)-1, day (ProdDag)+1)
End If
THT = CLng (dateadd ("d",Field("Tbl_Temp_Label_Bartender.Houdbaarheidsduur"),PDag))
PTHT = Datepart ("d", THT)
If CLng(PTHT) > CLng(LotDag) Then
Value = "Ja" 'Dateserial(year (THT),Month(THT)+1,day(16))
Else
If CInt(PTHT) < 16 Then
Value = Dateserial(year (THT),Month(THT),day(16))
Else
Value = Dateserial(year (THT),Month(THT),day(29))
End If
End If
Alvast heel hard bedankt voor jullie hulp!
Voor degene die me kan helpen staat er alvast ook een mooi pakket klaar!
mvg
Wim
ik zit met een zwaar probleem.
Voor creatie van etiketten gebruiken we bartender, gekoppeld aan het systeem van de firma.
Met behulp van VB worden houdbaarheidsdatum en lotcode automatisch gegenereerd.
Hiervoor gebruikten we deze code :
THT = dateadd ("d",Field("Tbl_Temp_Label_Bartender.Houdbaarheidsduur"),Date)
PTHT = Datepart ("d", dateadd ("d",Field("Tbl_Temp_Label_Bartender.Houdbaarheidsduur"),Date))
ProdDag = right(Format.NamedSubStrings("Lotnr").Value,2)
If CInt(PTHT)-1 > CInt(ProdDag) Then
Value = Dateserial(year (THT),Month(THT)+1,day(16))
Else
If CInt(ProdDag) < 16 Then
Value = Dateserial(year (THT),Month(THT),day(16))
Else
Value = Dateserial(year (THT),Month(THT),day(29))
End If
End If
Probleem zit hem nu in het volgende :
1. deze regels houden geen rekening met het schrikkeljaar... Hierdoor klopt dus de THT (die ofwel 16 of wel 28ste dag van de maand is)
2. 1 januari viel op een vrijdag. Hierdoor zet hij de weeknummer pas op vrijdag ipv maandag.
Kan iemand met de juiste inzichten en intelligentie hier een antwoord op vinden? want ik word er stilletjes aan moedeloos van.
Ik heb deze code reeds geprobeerd, maar een beetje tevergeefse moeite vrees ik....
LotDag = right (Field("Tbl_Temp_Label_Bartender.Lotnr") ,2) 'Laatste 2 cijfers van Lotnummer
Week = mid(Field("Tbl_Temp_Label_Bartender.Lotnr") ,3,2) '3de en 4de cijfer van Lotnummer (week van het jaar)
PJaar = mid(Field("Tbl_Temp_Label_Bartender.Lotnr") ,5,2) '5de en 6de cijfer van Lotnummer (jaartal)
PWeek = DateAdd("ww",Week ,DateSerial(Year(Date()),1,1)) 'Datum weergeven in welke week de productie is. 1 januari jaar Lotnummer + aantal weken
PDag = DateSerial (year (PWeek),month(PWeek), day (LotDag)+1) 'Weergave van de productiedatum adhv lotnr
If Datepart ("ww", PDag) <> Week then
Pdag = DateSerial (year (PWeek), month (PWeek)-1, day (ProdDag)+1)
End If
THT = CLng (dateadd ("d",Field("Tbl_Temp_Label_Bartender.Houdbaarheidsduur"),PDag))
PTHT = Datepart ("d", THT)
If CLng(PTHT) > CLng(LotDag) Then
Value = "Ja" 'Dateserial(year (THT),Month(THT)+1,day(16))
Else
If CInt(PTHT) < 16 Then
Value = Dateserial(year (THT),Month(THT),day(16))
Else
Value = Dateserial(year (THT),Month(THT),day(29))
End If
End If
Alvast heel hard bedankt voor jullie hulp!
Voor degene die me kan helpen staat er alvast ook een mooi pakket klaar!
mvg
Wim