[英]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.