看板 Office 關於我們 聯絡資訊
軟體: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 請問這是哪邊出問題了呢? 煩請高手解惑,感恩。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.116.8 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1571035842.A.9E8.html ※ 編輯: yimean (114.33.116.8 臺灣), 10/14/2019 14:57:06
soyoso: 有測試內文巨集,並無於range.copyfromrecordset時出現問 10/14 15:27
soyoso: 題,如 https://i.imgur.com/Lb6CFRJ.jpg 測試上是可以將 10/14 15:27
soyoso: 預交日期符合2019/10/17方面帶入,只是如果來源檔2019生產 10/14 15:28
soyoso: 管制表內預交日期如果是符合日期序例值的話變數duedate前 10/14 15:29
soyoso: 後是要加上# 10/14 15:29
soyoso: 因此產生內文問題方面,看區網其他檔案是可正常複製記錄到 10/14 15:32
soyoso: 儲存格內?亦或要提供2019生產管制表的檔案來測試看看 10/14 15:32
yimean: @s大感謝您的提醒,我把格式改了還是不行,請問我應該要 10/14 16:12
yimean: 怎麼跟你分享生產管製表?Google cloud? 10/14 16:13
soyoso: 丟到雲端再分享連結(縮網址)之類的 10/14 16:15
yimean: https://reurl.cc/xDlDZL 10/14 16:19
yimean: @s大,請參照上面連結,感謝。 10/14 16:20
soyoso: sql內有寫到where預交日期的部分,但該預交日期是出現在 10/14 16:27
soyoso: 儲存格a273,所以是要條件判斷上是a欄的意思嗎? 10/14 16:28
yimean: 是的,找到該筆資料後把該筆資料複製到Notice頁面 10/14 16:39
yimean: 不好意思該文檔被我排序過了,所以才出現這樣的情況 10/14 16:40
soyoso: 測試,於mr.open時就excel程式就會當掉 10/14 16:43
soyoso: 看一下檔案,ctrl+end會到ddg欄,可能讀入時就a:ddg欄達 10/14 16:45
soyoso: 2815個欄,所以變數ms,月$改為月$a:q,試試 10/14 16:46
soyoso: 這樣執行我測試上,excel程式就沒有當掉了 10/14 16:47
soyoso: a:q是看檔案框線的欄位範圍,再依實際調整看看 10/14 16:48
yimean: 感恩S大,我晚點試試。 10/14 16:56
yimean: @s大,感恩您的指導確實可以了。願神祝福您有一個美好的夜 10/14 20:47