2014-10-28 70 views
-2

我有一個表中的字段由日期和字符串組成,例如04Jan_lole。我想在Visual Basic中,產生這一領域,VB.Net中的字符串日期MS Access 2013

日期+ 「_」 + theName

給我失配誤差,所以我嘗試的日期部分轉換爲字符串:

StrField = theDate.ToString( 「DDMMM」)

給我invali d限定符錯誤

我該怎麼做才能生成這種格式:04Jan_lole? 注意到!如果我想將Date定義爲DateTime,它會給我提供錯誤Visual Basic不支持自動化類型。

+0

你在哪裏看到*「invalid qualifier error」*?它在設計時還是運行時?哪行代碼導致錯誤?錯誤的全文是什麼?如何聲明'StrField'?它是什麼類型? – 2014-10-28 14:41:30

+0

哦,等等......這是VBA嗎?我假設,基於示例代碼和問題的標籤,你在VB.NET中編寫代碼。如果您試圖在VBA中運行此代碼,那肯定會解釋爲什麼它不起作用。 VBA和VB.NET是完全不同的語言。 – 2014-10-28 14:49:54

回答

2

從你的問題中不清楚你爲什麼會得到無效限定符錯誤。也許是因爲你試圖在VBA中使用VB.NET語法?但是,如果實際使用VB.NET,下面的代碼應該爲你工作:

Public Function FormatDateAndName(theDate As Date, theName As String) As String 
    Return theDate.ToString("ddMMMM") & theName 
End Function 

然後,你可以這樣調用它:

Dim myDate As New Date(2004, 1, 1) 
Dim myName As String = "_lole" 
Dim dateAndName As String = FormatDateAndName(myDate, myName) 
Console.WriteLine(dateAndName) ' Outputs "04Jan_lole" 

在VBA(而非VB.NET ),你應該能夠使用它像這樣:

Public Function FormatDateAndName(theDate As Date, theName As String) As String 
    FormatDateAndName = Format(theDate, "ddMMMM") & theName 
End Function 

然後你就可以這樣調用:

Dim result As String 
result = FormatDateAndName(#1/1/2004#, "_lole") 
MsgBox(result)