原代码如下:问题出现提前节点名称是出现乱码,eg:“节点名称 = 枣庄-EPON-中兴- 咝率兰透呖平ㄐ? ”这时就会提示“字符串语法错误”。 请高手指教如何避免出现乱码或者出现乱码也行,直接将有乱码的选项导入ACCESS中也行,太感谢了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Dim ac_Tmp1 As New ADODB.Connection
With ac_Tmp1
If .State = adStateOpen Then .Close
.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\zte.mdb;Mode=ReadWrite;Persist Security Info=False"
.Open
End With
ac_Tmp1.Execute "delete * from [IP]"
Dim v() As StringDim i As Long
Dim SS = Split(RichTextBox2.Text, vbCrLf)ReDim Preserve v(UBound(S)) As String
For i = 0 To UBound(v)
v(i) = S(i)
If Left(v(i), 3) = "节点号" Then
strdian = Replace(v(i), " ", "")
strdian = Replace(strdian, "节点号=", "")
ElseIf Left(v(i), 7) = "设备IP地址1" Then
strIPAddr = Replace(v(i), " ", "")
strIPAddr = Replace(strIPAddr, "设备IP地址1=", "")
ElseIf Left(v(i), 4) = "节点名称" Then
strNodeName = Replace(v(i), " ", "")
strNodeName = Replace(strNodeName, "节点名称=", "")
ac_Tmp1.Execute " insert into [IP](IP,mingcheng,jiedianhao) values('" & strIPAddr & "', '" & strNodeName & "','" & strdian & "')"End IfNext i
ac_Tmp1.Close
Winsock2.Close
Dim ac_Tmp1 As New ADODB.Connection
With ac_Tmp1
If .State = adStateOpen Then .Close
.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\zte.mdb;Mode=ReadWrite;Persist Security Info=False"
.Open
End With
ac_Tmp1.Execute "delete * from [IP]"
Dim v() As StringDim i As Long
Dim SS = Split(RichTextBox2.Text, vbCrLf)ReDim Preserve v(UBound(S)) As String
For i = 0 To UBound(v)
v(i) = S(i)
If Left(v(i), 3) = "节点号" Then
strdian = Replace(v(i), " ", "")
strdian = Replace(strdian, "节点号=", "")
ElseIf Left(v(i), 7) = "设备IP地址1" Then
strIPAddr = Replace(v(i), " ", "")
strIPAddr = Replace(strIPAddr, "设备IP地址1=", "")
ElseIf Left(v(i), 4) = "节点名称" Then
strNodeName = Replace(v(i), " ", "")
strNodeName = Replace(strNodeName, "节点名称=", "")
ac_Tmp1.Execute " insert into [IP](IP,mingcheng,jiedianhao) values('" & strIPAddr & "', '" & strNodeName & "','" & strdian & "')"End IfNext i
ac_Tmp1.Close
Winsock2.Close
现在不是转换成VBUNICODE的问题,转换后全成乱码了!!!!!!!!!!!1
Dim s As String
Dim d As String
Dim t As String
s = "枣庄-EPON-中兴- 咝率兰透呖平ㄐ? "
t = StrConv(Mid(s, 13), vbFromUnicode)
d = Left(s, 12) + StrConv(MidB(t, 2, LenB(t) - 3), vbUnicode)
Debug.Print d '枣庄-EPON-中兴- 新世纪高科建
End Sub
提示你一下,调用Word里面“ctrl+右箭头”对应的功能。
VBA代码
Selection.MoveRight Unit:=wdWord, Count:=1
帮助你判断乱码从什么位置开始。
在导入ACCESS数据库时不能将所有的数据都导入吗? 为什么乱码就不能导入?