2016-10-27 58 views
0

您好Stackoverflow社區!MS Access VBA - 自定義列是ListBox(使用來自表的另一列的值)

我的問題是要在使用SQL從表中拉出的列表框中創建自定義列。參考下面當前列表的代碼和圖片,我想創建一個未存儲在表中的自定義列,它將被稱爲「DaysActive」,並且將採用今天的日期減去顯示的每個單獨記錄的StatusEffect Date例如StatusEffect和Yr之間自己列中的天數。這可能嗎?提前感謝您花時間閱讀本文。

Private Sub Form_Load() 

DoCmd.RunCommand acCmdWindowHide 

Dim rs As Recordset 
Dim strSQL As String 
Dim lstnum 



strSQL = "SELECT LastName, FirstName, Status, StatusEffect, Yr, Make, Model, VIN, Deduction, USLicense, RegistrationState, Dependents,Notes, ID FROM InsuranceTable" & _ 
"WHERE SentRegistration = False And Status IN ('active','add') Order By StatusEffect Desc " 

Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot) 
Set Me.lstInfo.Recordset = rs 

lstnum = [lstInfo].[ListCount] 
Me.lstcount.Value = lstnum - 1 
End Sub 

Link to picture of my current list since I do not have enough rep points to embed it ;/

+0

爲什麼你想要一個列表框,因爲DaysActive每行都是唯一的。使用計算當前日期的未綁定表單字段 - StatusEffect日期。 – Rene

+0

我希望「DaysActive」計算顯示在每一行上,因爲它是自己的列..在列表框中。 – Ace16150s

回答

0

使用DateDiff()功能在你的SQL。
DateDiff('d')返回天數差。

SELECT ..., StatusEffect, DateDiff('d',[StatusEffect],Date()) AS DaysActive, Yr, ... 
相關問題