作者yimean (温柔杀手)
看板Office
标题[算表] ADO在某些栏位的中文字无法取回
时间Wed Oct 16 14:10:38 2019
软体:Excel
版本:2013
各位板上的大大下午好。承上篇 CopyFrom...当机的问题。
首先感谢Soyoso大大的指导几本上ADO Open当机的问题已经解决了。
但是我把当资料取回来之後发现品名这个栏位只要有中文字就会变成空白
其他的栏位纵使有中文字也不会有问题。
下方是我的程式码。
ADO在透过网芳取得资料这一块好像有问题。本机都可以运作的很好。
============Notice页面======
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
Dim DueDateS As String
D = Date
TM = Month(D)
N = 7
DueDate = DateAdd("d", N, D)
DueDateS = "#" & DueDate & "#" 'The symbol "#" is required by date
formate.
WBPath = "D:\desktop\2019生产管制表.xlsx"
MS = "SELECT * From [" & TM & "月$a:q]" & _
" WHERE 预交日期=" & DueDateS
GetData MS, WBPath
End Sub
==================Sub Module=========
Sub GetData(MS As String, WBPath As String)
'This sub is used to fetch data from produciton schedule.
On Error Resume Next
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
==========================================
原始资料
https://imgur.com/zVUKxAU
ADO取得的资料
https://imgur.com/NuLslBV
恳请高手指导,感谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.33.116.8 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1571206240.A.B31.html
1F:→ soyoso: 模拟抓取存放该档案的主机,回传资料的b栏也可以正常回传 10/16 14:42
3F:→ soyoso: 模拟上我是以模拟器开个winxp,接着共同个子目录,再来抓 10/16 14:45
4F:→ soyoso: 的 10/16 14:45
5F:→ soyoso: 所以如果在没有合适解决方式的话,看是否以内文所写的本机 10/16 14:45
6F:→ soyoso: 可正常运作来看,就复制到本机暂存,读取,删档之类的 10/16 14:46
7F:→ yimean: 我这个是本机抓档的结果,网芳的话是会整个Hang住。太神奇 10/16 14:49
8F:→ soyoso: 当然这也是因为模拟不出内文情况下,所提供的方式,如有其 10/16 14:49
9F:→ yimean: 为什麽你的没问题? 10/16 14:49
10F:→ soyoso: 他先进有解决方式的话,再提供给原po 10/16 14:49
11F:→ soyoso: 抱歉,模拟上我是以"模拟器"(应是虚拟机器)来模拟,和贵司 10/16 14:53
12F:→ soyoso: 实际情况可能有所不同,就只是模拟将档案放置於其他的主机 10/16 14:54
13F:→ soyoso: 内,如测试连结,放於\\192.168.17.130\share这个虚拟机器 10/16 14:55
14F:→ soyoso: 资料夹,抓取;另外我测试的excel版本是2016 10/16 14:56
15F:→ yimean: 了解,感谢您。 10/16 14:57
16F:→ soyoso: 14:46方面复制filecopy,删档kill,删档方面要先将变数MR 10/16 15:10
17F:→ soyoso: nothing後再删除 10/16 15:10
18F:→ yimean: 收到,感谢。 10/16 15:37