找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
巧了,正好有。我用的是access记录
1、要安装access,做好一个记录表。元素名称要和脚本中的一样,就好比你的过程值1,最好用英文(element2)。
2、在WinCC中插入脚本,在计划任务里触发一下脚本
Sub access_log()
' 启用错误提示
On Error Resume Next
' 创建变量
Dim db, rs, dbPath, tableName
Dim fieldName(4), fieldValue(4), elementsNumber, i
elementsNumber = 4
' 定义数据库路径
dbPath = "D:\test.accdb"
' 定义数据表名称
tableName = "log"
' 定义数据列的名称
fieldName(0) = "log_date"
fieldName(1) = "log_element1"
fieldName(2) = "log_element2"
fieldName(3) = "log_element3"
fieldName(4) = "log_element4"
' 定义数据列的值
fieldValue(0) = Now
fieldValue(1) = SmartTags("tag1")
fieldValue(2) = SmartTags("tag2")
fieldValue(3) = SmartTags("tag3")
fieldValue(4) = SmartTags("tag4")
' 创建控件
Set db = CreateObject("ADODB.Connection")
' 打开文件
db.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath & ";"
' 判断打开状态
If db.State <> 1 Then
' 关闭数据库
db.Close
' 释放资源
Set db = Nothing
' 弹窗提示
MsgBox "打开数据库失败" & vbCrLf & vbCrLf & "检查数据库是否存在" & vbCrLf & dbPath, vbCritical, "提示"
' 中止执行
Exit Sub
End If
' 创建控件
Set rs = CreateObject("ADODB.Recordset")
' 打开数据表
rs.Open "SELECT * FROM " & tableName, db, 1, 3, 1
' 判断打开状态
If rs.State <> 1 Then
' 关闭数据表与数据库
rs.Close
db.Close
' 释放资源
Set rs = Nothing
Set db = Nothing
' 弹窗提示
MsgBox "打开数据表失败" & vbCrLf & vbCrLf & "检查数据表是否存在" & vbCrLf & tableName, vbCritical, "提示"
' 中止执行
Exit Sub
End If
' 添加新记录
rs.AddNew
' 写入变量
For i = 0 To elementsNumber
rs.Fields(fieldName(i)).Value = fieldValue(i)
Next
' 更新数据表
rs.Update
' 关闭数据表与数据库
rs.Close
db.Close
' 释放资源
Set rs = Nothing
Set db = Nothing
' 弹窗提示
MsgBox "已成功记录", vbInformation, "提示"
End Sub
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城