Microsoft Visual Basic konwersja daty

0

Witajcie, nie nastawiam się że otrzymam odpowiedz po kawałku kodu jednak nie mam nic do ort!. Nasz były pracownik napisał kod w Basciu. Niestety ale ten ort! jest mi obcy, kolega przed swoim odejściem z pracy ort! ort! ort! jak np. program przestawał działać po ort! dniu. ort! z tych baboli udało mi się odszukać i jakoś ort! (z pomocą googla), jednak nie ort! poradzi sobie z błędem w pętli:

Do While Not JOINtbl.EOF
    TEMPrs.AddNew
    TEMPrs.Fields("[Nr dokumentu]") = JOINtbl![Nr dokumentu]
    TEMPrs.Fields("Nabywca") = JOINtbl!Nabywca
    'If JOINtbl![Stan_1.GrKsie] = "P_FARBA" Or JOINtbl![Stan_1.GrKsie] = "M_BARWNPCV" Or JOINtbl![Stan_1.GrKsie] = "M_BARWNPP" Then
    'TEMPrs.Fields("NR") = JOINtbl![Stan_1.Nr] & JOINtbl![Stan.Color]
    'Else
    TEMPrs.Fields("ZRODLO") = JOINtbl!ZRODLO
    TEMPrs.Fields("NR") = JOINtbl![Stan_1.Nr]
    'End If
    TEMPrs.Fields("Ilosc") = JOINtbl!Ilosc * JOINtbl!RealBOM
    TEMPrs.Fields("[Ilosc pozostala]") = JOINtbl![Ilosc pozostala] * JOINtbl!RealBOM
    TEMPrs.Fields("[Requested Date]") = JOINtbl![Requested Date]
    TEMPrs.Fields("[Confirmed Date]") = JOINtbl![Confirmed Date]
    LTtemp = -JOINtbl![Stan.LT] - 1
    TEMPrs.Fields("[Data do obliczen]") = Format(DateAdd("d", LTtemp, CDate(JOINtbl![Data do obliczen])), "dd.mm.yyyy")
    TEMPrs.Fields("YYYYWW") = JOINtbl!YYYYWW
    TEMPrs.Fields("[EDI Date]") = JOINtbl![EDI Date]
    TEMPrs.Fields("[EDI quantity]") = JOINtbl![EDI quantity]
    TEMPrs.Fields("GrKsie") = JOINtbl![Stan_1.GrKsie]
    TEMPrs.Update
    JOINtbl.MoveNext
Loop
JOINtbl.Close
Set JOINtbl = db.OpenRecordset("TEMPbarwniki")

Po Debugowaniu program wywala się w wierszu:

TEMPrs.Fields("[Data do obliczen]") = Format(DateAdd("d", LTtemp, CDate(JOINtbl![Data do obliczen])), "dd.mm.yyyy")

Możecie ort! mi co ort! jest tu robione? Błąd to 3421 - Błąd konwersji typu Danych

Dzięki za pomoc.

0

Z tego kodu można wywnioskować, że powinna istnieć zmienna: Data do obliczenTo oczywiście bzdura, bo nazwa zmiennej nie może zawierać spacji. We wcześniejszych linijkach też takie cyrki są. To wygląda na nieskończony kod, albo coś jest ostro pomylone. Pokaż co jest wcześniej w tej funkcji.

0

Obstawiam że [Data do obliczen] to pole z bazy danych.
Jeżeli to -> TEMPrs.Fields("[Data do obliczen]") = oczekuje daty to zmieniłbym format daty lub wywalił całkiem Format.
Spróbuj:
TEMPrs.Fields("[Data do obliczen]") = Format(DateAdd("d", LTtemp, CDate(JOINtbl![Data do obliczen])), "dd-mm-yyyy")
lub
TEMPrs.Fields("[Data do obliczen]") = Format(DateAdd("d", LTtemp, CDate(JOINtbl![Data do obliczen])), "yyyymmdd")
lub
TEMPrs.Fields("[Data do obliczen]") = DateAdd("d", LTtemp, CDate(JOINtbl![Data do obliczen]))

PS. nie znam VB więc równie dobrze mogę pisać głupoty

0

Tak dokładnie tak było wywaliłem formatowanie daty i jakoś poszło.

0

Akurat znam VB, więc czuję się w obowiązku poinformować, że faktycznie piszesz głupoty... - aurel2014-01-31 15:18

Wobec powyższego jeszcze jakiś komentarz? :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1