0
Ich habe einen Code unter dem, den ich für Excel erstellt habe. Ich versuche es jetzt auf Access anzuwenden. Es gibt Änderungen, die an dem Code vorgenommen wurden, der es für Access kompatibel gemacht haben sollte, aber es gibt mir immer noch einen Fehler. Verstehe ich nicht, was dieser Fehler ist und was dagegen zu tun:VBA Excel-Code zum Zugriff
Option Compare Database
Public Function OldMaturity(term As String, invoicedate As Date, days As Long) As Date
Dim d As Date
Select Case term.Value
Case "STD":
OldMaturity = DateAdd("y", days.Value, invoicedate.Value)
Case "BONM":
d = DateAdd("y", days.Value, invoicedate.Value)
OldMaturity = DateAdd("m", 1, DateSerial(Year(d), Month(d), 1))
Case "EOM":
d = DateAdd("y", days.Value, invoicedate.Value)
OldMaturity = DateAdd("y", -1, DateAdd("m", 1, DateSerial(Year(d), Month(d), 1)))
Case Else:
OldMaturity = CDate("99/99/9999")
End Select
End Function
Public Function NewMaturity(invoicedate As Date) As Date
Dim val1 As Long
Dim val2 As Long
val1 = invoicedate + 120
val2 = DateAdd("m", 1, val1)
NewMaturity = DateSerial(Year(val2), Month(val2), 1)
End Function
Dies ist der Fehler das ist zeigt:
'Term' ist ein String - es hat keine' Value' Eigenschaft. Sollte nur 'Select Case term' sein. –
Ich kann das Bild nicht sehen, aber ich vermute, es gibt ein Problem mit diesem Teil' val1 = fakturedatum + 120', weil Sie eine datendefinierte Variable zu einer Ganzzahl hinzufügen, die nicht funktioniert. Wenn Sie versuchen, 120 einer Einheit zu einem Datum hinzuzufügen, verwenden Sie die Funktion "DateAdd" wie in der folgenden Zeile. – braX
Sie müssen '.Value' aus' term.Value', 'days.Value' und' francicedate.Value' nehmen. Dies sind jetzt Werttypen, keine Bereiche. –