[算表] ADO在CopyFromRecordset時當機

作者: yimean (溫柔殺手)   2019-10-14 14:50:40
軟體:Excel
版本:2013
各位板上的大大好。
我有一份生產管制表在區網的Server主機上
我新開了一份Excel寫了如下程式,結果在最關鍵的CopyFromRecordset時當機了。
Sheet name = Notice
========這個是寫在新開的Excel上的按鈕=======
Private Sub DueDateCrossing_Click()
Dim MS As String 'SQL command
Dim WBPath As String ' Workbook Path
Dim N As Integer 'To fetch data of N days later, N must smaller than 31
Dim D As Date ' D is refered to Date
Dim TM As Integer ' TM is refered to this month
Dim DueDate As Date 'DueDate is refered to DueDate
D = Date
TM = Month(D)
N = 3
DueDate = DateAdd("d", N, D)
WBPath = "\\Server\共用\2019生產管制表.xlsx"
MS = "SELECT * From [" & TM & "月$]" & _
" WHERE 預交日期=" & DueDate
GetData MS, WBPath
End Sub
============以下是寫在Module裡的Sub=======
Sub GetData(MS As String, WBPath As String)
'This sub is used to fetch data from produciton schedule.
Dim MC As String 'MC is refered to My Connection
Dim MR As ADODB.Recordset 'MR is refered to My Recordset
MC = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & WBPath & ";" & _
"Extended Properties=Excel 12.0"
Set MR = New ADODB.Recordset
MR.Open MS, MC, adOpenStatic, adLockReadOnly
Worksheets("Notice").Range("A2").CopyFromRecordset MR
End Sub
請問這是哪邊出問題了呢?
煩請高手解惑,感恩。
作者: soyoso (我是耀宗)   2019-10-14 15:27:00
有測試內文巨集,並無於range.copyfromrecordset時出現問題,如 https://i.imgur.com/Lb6CFRJ.jpg 測試上是可以將預交日期符合2019/10/17方面帶入,只是如果來源檔2019生產管制表內預交日期如果是符合日期序例值的話變數duedate前後是要加上#因此產生內文問題方面,看區網其他檔案是可正常複製記錄到儲存格內?亦或要提供2019生產管制表的檔案來測試看看
作者: yimean (溫柔殺手)   2019-10-14 16:12:00
@s大感謝您的提醒,我把格式改了還是不行,請問我應該要怎麼跟你分享生產管製表?Google cloud?
作者: soyoso (我是耀宗)   2019-10-14 16:15:00
丟到雲端再分享連結(縮網址)之類的
作者: yimean (溫柔殺手)   2019-10-14 16:19:00
https://reurl.cc/xDlDZL@s大,請參照上面連結,感謝。
作者: soyoso (我是耀宗)   2019-10-14 16:27:00
sql內有寫到where預交日期的部分,但該預交日期是出現在儲存格a273,所以是要條件判斷上是a欄的意思嗎?
作者: yimean (溫柔殺手)   2019-10-14 16:39:00
是的,找到該筆資料後把該筆資料複製到Notice頁面不好意思該文檔被我排序過了,所以才出現這樣的情況
作者: soyoso (我是耀宗)   2019-10-14 16:43:00
測試,於mr.open時就excel程式就會當掉看一下檔案,ctrl+end會到ddg欄,可能讀入時就a:ddg欄達
作者: yimean (溫柔殺手)   2019-10-14 16:56:00
感恩S大,我晚點試試。@s大,感恩您的指導確實可以了。願神祝福您有一個美好的夜

Links booklink

Contact Us: admin [ a t ] ucptt.com