簡體   English   中英

VB6中的日期格式

[英]Date format in VB6

我正在為我的應用程序使用VB6。 我用從SQL查詢獲得的RecordSet填充了Excel。

一列稱為Time_period值如下

"2/31/2006"
"12/29/2000"
etc.

我需要將這些輸入傳遞給另一個SQL查詢進行處理。 我對這些格式不太困惑,因為Oracle接受類型為“ 2009年7月23日”,“ 1998年1月2日”等的輸入。

您可以幫助在VB6中從一種格式轉換為另一種格式嗎?

使用格式。

Debug.Print Format$(Now, "dd-mmm-yyyy")

這將適合您的情況。

您可以嘗試使用以下格式(ISO標准):

Debug.Pring Format$(Now, "yyyy-MM-dd")

Dim oracleDate As String Dim excelDate As DateTime

oracleDate = Format$(excelDate , "dd-mmm-yyyy")

如果從記錄集獲取日期,則可以將其存儲在date變量中,只需調用以下格式函數即可獲取所需的字符串表示形式:

Format(myDateVar, "dd-mmm-yyyy")

然后,您可以將此值與正確的日期定界符一起傳遞到SQL查詢。 (如果不使用參數)

您可能還需要檢查值,因為它們不適用於上述功能。

這是Excel VBA的代碼段,應該在VB6中進行一些調整。

Sub temp()
    Dim lConn, lRs, sSQL As String
    Set lConn = CreateObject("ADODB.Connection")
    Set lRs = CreateObject("ADODB.Recordset")

    lConn.Open "DSN=yourdns; UID=youruid; PWD=yourpwd;"

    Dim oWS As Worksheet
    Set oWS = Worksheets(1)

    sSQL = " SELECT * FROM Product WHERE Last_Upd_Date > to_date('" & oWS.Range("A1").Value & "', 'MM-DDD-YYYY') "
    lRs.Open sSQL, lConn

    Debug.Print lRs.EOF
    lRs.Close
    lConn.Close
End Sub

希望這可以幫助。

通常,通過在SQL代碼中的兩個查詢之間創建JOIN,通常可以將一個查詢的結果集“傳遞”給另一個查詢。 希望Time_period列中的日期值已經是時間類型; 如果不是,則可以使用SQL將其強制轉換為一個。 即使數據位於不同的數據庫中(例如Oracle和Excel),您也可以使用ACE / Jet(又名MS Access)創建直接或通過墨跡表將兩者結合的查詢。 請更詳細地說明您要實現的目標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM