Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 访问VBA级联方法_Ms Access_Vba - Fatal编程技术网

Ms access 访问VBA级联方法

Ms access 访问VBA级联方法,ms-access,vba,Ms Access,Vba,如何为自定义类级联方法 我正在使用的是一个自定义类来处理日期 我把a级日期作为属性输入。然后,我想根据关联的方法返回日期。例如: InputDate.AdjustToFirst 因此,如果我输入2015年5月15日,上述结果将返回2015年5月1日 我也可以这样做: InputDate.AdjustToFirst.ReduceOneYear 因此,如果2015年5月15日投入,回报率将为2014年5月1日 进一步 InputDate.ReduceOneYear 2015年5月15日将返回2

如何为自定义类级联方法

我正在使用的是一个自定义类来处理日期

我把a级日期作为属性输入。然后,我想根据关联的方法返回日期。例如:

InputDate.AdjustToFirst
因此,如果我输入2015年5月15日,上述结果将返回2015年5月1日

我也可以这样做:

InputDate.AdjustToFirst.ReduceOneYear
因此,如果2015年5月15日投入,回报率将为2014年5月1日

进一步

InputDate.ReduceOneYear
2015年5月15日将返回2014年5月15日


我知道DateSerial,我只是想学习如何做上述工作。其思想类似于VBs
variable.ToString
方法。

您可以让函数简单地返回一个新对象(正如Fred Wilson已经提到的)。下面是一个我称之为MyDate的类的小示例:

Private m_date As Date

Public Sub Init(ByVal d As Date)
m_date = d
End Sub

Public Function ToString() As String
ToString = m_date
End Function

Public Function AddYear(y As Integer) As MyDate
Dim newDate As MyDate
Set newDate = New MyDate
newDate.Init (DateAdd("yyyy", y, m_date))
Set AddYear = newDate
End Function

Public Function AddMonth(m As Integer) As MyDate
Dim newDate As MyDate
Set newDate = New MyDate
newDate.Init (DateAdd("m", m, m_date))
Set AddMonth = newDate
End Function
现在,您可以使用
AddYear
AddMonth
作为链函数:

Dim d As MyDate
Set d = New MyDate
d.Init (Now)
MsgBox d.AddYear(2).AddMonth(4).ToString()

您可以让函数简单地返回一个新对象(正如Fred Wilson已经提到的)。下面是一个我称之为MyDate的类的小示例:

Private m_date As Date

Public Sub Init(ByVal d As Date)
m_date = d
End Sub

Public Function ToString() As String
ToString = m_date
End Function

Public Function AddYear(y As Integer) As MyDate
Dim newDate As MyDate
Set newDate = New MyDate
newDate.Init (DateAdd("yyyy", y, m_date))
Set AddYear = newDate
End Function

Public Function AddMonth(m As Integer) As MyDate
Dim newDate As MyDate
Set newDate = New MyDate
newDate.Init (DateAdd("m", m, m_date))
Set AddMonth = newDate
End Function
现在,您可以使用
AddYear
AddMonth
作为链函数:

Dim d As MyDate
Set d = New MyDate
d.Init (Now)
MsgBox d.AddYear(2).AddMonth(4).ToString()

您可以让函数简单地返回一个新对象(正如Fred Wilson已经提到的)。下面是一个我称之为MyDate的类的小示例:

Private m_date As Date

Public Sub Init(ByVal d As Date)
m_date = d
End Sub

Public Function ToString() As String
ToString = m_date
End Function

Public Function AddYear(y As Integer) As MyDate
Dim newDate As MyDate
Set newDate = New MyDate
newDate.Init (DateAdd("yyyy", y, m_date))
Set AddYear = newDate
End Function

Public Function AddMonth(m As Integer) As MyDate
Dim newDate As MyDate
Set newDate = New MyDate
newDate.Init (DateAdd("m", m, m_date))
Set AddMonth = newDate
End Function
现在,您可以使用
AddYear
AddMonth
作为链函数:

Dim d As MyDate
Set d = New MyDate
d.Init (Now)
MsgBox d.AddYear(2).AddMonth(4).ToString()

您可以让函数简单地返回一个新对象(正如Fred Wilson已经提到的)。下面是一个我称之为MyDate的类的小示例:

Private m_date As Date

Public Sub Init(ByVal d As Date)
m_date = d
End Sub

Public Function ToString() As String
ToString = m_date
End Function

Public Function AddYear(y As Integer) As MyDate
Dim newDate As MyDate
Set newDate = New MyDate
newDate.Init (DateAdd("yyyy", y, m_date))
Set AddYear = newDate
End Function

Public Function AddMonth(m As Integer) As MyDate
Dim newDate As MyDate
Set newDate = New MyDate
newDate.Init (DateAdd("m", m, m_date))
Set AddMonth = newDate
End Function
现在,您可以使用
AddYear
AddMonth
作为链函数:

Dim d As MyDate
Set d = New MyDate
d.Init (Now)
MsgBox d.AddYear(2).AddMonth(4).ToString()

这通常称为方法链接,通过返回类的当前或新实例(具有预期的内部状态)作为任何实例方法的结果来实现。这通常称为方法链接,通过返回类的当前或新实例来实现(具有预期的内部状态)作为任何实例方法的结果。这通常称为方法链接,可以通过返回类的当前或新实例(具有预期的内部状态)来实现作为任何实例方法的结果。这通常称为方法链接,通过返回类的当前或新实例(具有预期的内部状态)实现作为任何实例方法的结果。我想我最终得到了它。我缺少的部分是您在这里展示的ToString方法。我很难弄清楚如果该方法返回类,如何获取数据。现在我明白了。让洪水闸门现在打开。我想我终于得到了它。我缺少的部分是您需要的ToString方法显示在这里。如果方法返回类,我很难弄清楚如何获取数据。现在我明白了。现在打开泛洪门。我想我终于明白了。我缺少的是你在这里显示的ToString方法。如果方法返回类,我很难弄清楚如何获取数据。现在我理解。现在让洪水门打开。我想我终于明白了。我缺少的是你在这里展示的ToString方法。我很难弄清楚如果该方法返回类,如何获取数据。现在我明白了。现在让洪水门打开吧。