VB程序员博客
05 14th, 2010
制作好安装包后,在重装系统的干净电脑上安装软件没有问题。可是同样的安装包装到同事的电脑上就出问题了。
报错激活VB UserControl控件失败,这是怎么回事,怎么解决?
哥帮顶一下
你打包不全的原因吧
可能有些.dll文件没有打到包里
在你同事电脑上也装个vb试下
等了好久,终于出现了救星
这个问题很奇怪,同事电脑上也装了VB,报这个错,我的电脑却没有报错。我怀疑是控件版本的问题。
但又不知道从何入手
那如何查看控件的许可证号呢
try SetupFactory
帮顶下~
02 7th, 2010
怎样能求一个文件夹的修改时间,注意是文件夹哈.不是文件.VB6的环境
Private Sub Command1_Click()
MsgBox ChkFolder("c:music")
End Sub
Public Function ChkFolder(FolNm$) As Date
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(FolNm)
ChkFolder = f.DateLastModified
End Function
可以用 API 完成:
FindFirstFile()
FindClose()
FileTimeToSystemTime()
<
哦.我先试试哈.谢谢楼上的几位.
晕没看到,最后一个答案.我就说filedatetime怎么没人提来着…..
filedatetime 是正解
惭愧, 竟然连它我也搞忘了…..
呵呵,老了嘛!记忆减退很正常,别往心里去
谢谢大家了哈.
05 10th, 2009
我有一个TEXT,里面放的是XXXX-XX-XX,然后我把它转为DATE型
DATE = CDATE(text)
然后我想拿数据库里的一个日期类型的数据来和它比较,该怎么调用呢?
rs.Open "select * from 出差时间表 where 工号='" & CmoCode.Text & "' and 出差开始时间 = '" & Date & "'", conn, adOpenKeyset, adLockOptimistic
红色报错说类型不匹配,然后我把单引号给去掉了。。变成这样rs.Open "select * from 出差时间表 where 工号='" & CmoCode.Text & "' and 出差开始时间 = " & Date & "", conn, adOpenKeyset, adLockOptimistic
结果是查不到数据。。。但是数据库里有这条记录
请问到底该怎么实现呢??
哦解决了再次谢谢vbman2003的帮助!
05 9th, 2009
请问如果我在程序里用了一个文本框,在其上显示了一个数据库里的Short Time类型的时间数据,然后我想用个判断,判断这个文本框中的日期是否和数据库中的日期相同,那该怎么比较??我程序里的DEBUG是说抽取出来的数据类型不一致。。。
得到两个时间后进行判断
高手,你的意思是不是用这个函数来比较后如果有差值就说明不同??可是这个两个类型是不一样的,是否可以呢?
04 11th, 2009
我用
Date=Cdate(“2099-101”)
来修改系统时间,可是总出现瑞星防御提示用户某个程序在修改时间
我不想让这个提示出现,请问有什么办法?
先谢谢大家了
拿炸药包炸掉瑞星公司
这个光荣的任务交给你了
有没有什么方法修改时间时不出现这个?
貌似VB里好像不能这么直接去更改系统时间吧。。。Date在vb程序可以理解为只读,只能读而不能写。
这是瑞星防御造成的,把它保护时间功能关了就行
如果要用程序实现,可以用findwindow找到提示窗体,然后通过sendmessage发送消息
或者通过sendkey
谢谢了
那用findwindow怎么找到提示窗体呢?
别费心了,瑞星的防护能力不是那么差的
瑞星就是这么个东西,,对于一般的对手,它都不放在眼里,遇上高手,它就是一堆菜,
哎~~~~~~~~
拿炸药包炸掉瑞星公司
=========================
哈哈~ 同感 . 发帖人没看出了你的意思. 哈哈~
发帖人问这个目的是要盗窃别人电脑信息? 正常的系统事件位置上要修改系统事件是一个木马病毒的操作部分.
所以, 防止这个危险行为,防火墙为了电脑安全积极防御的措施.
我不想干坏事
是别人写的代码,我只是维护
修改系统时间只是想建立一个文件的时间不是现在这个时间
执行完还会再改过来的
真的没有办法了吗?
关闭瑞星防御
呵呵,总不能让用户使用软件时就关闭瑞星防御吧
反正我的目的是使创建的文件的创建日期和修改日期不是当前的日期
所以我跳过改系统日期
直接修改文件的日期属性
算是解决了,不过还是谢谢大家了,每人都有分
虽然不多,但请笑纳!
04 11th, 2009
想问一下:
date=Cdate("2099-10-01")
Shell "cmd.exe /c date 2099-10-01", vbHide
这两个都是修改时间的,请问两者有什么区别?
希望高手不吝赐教!谢谢了!
前者是内部修改时间,也就是你的程序自己修改时间
后者是通过运行cmd.exe并传递参数修改。
楼上正解
PS:一个功能如果能用内部指令处理圆满的话, 就尽量不要用外部程序来处理,没效率又容易产生意外…
谢谢了,怪不得我用
Shell "cmd.exe /c date 2099-10-01", vbHide
来修改,有时成功有时不行
12 24th, 2008
怎么查询上一次(就一次)的消费记录,
比如说,我昨天或者前天,大前天去消费了,信息被记录数据库,怎么才能查出离现在时间最近的一次呢???
请指点。。。
改正:
select top 1 * from your table order by timefields desc
感谢你。以后还有很多的问题,开请多多关照
12 12th, 2008
下面的代码是只要系统时间一到19:30就执行下面程序!我想让中间的代码从19:30开始第一次执行 每隔5分钟执行一次 该怎么做?????先谢过各位老大了!!
Private Sub Timer1_Timer()
Label1.Caption = Time
Dim tag_agin, tag_end As Date
tag_agin = #7:30:00 PM#
tag_end = #9:30:00 PM#
'19:30分执行
If Time = tag_agin Then
'定义变量
Dim i As Long
'连接服务器sql数据库并构造sql语句
Dim s_Conn As New ADODB.Connection
Dim rss As New ADODB.Recordset
Dim s_Sql As String
s_Conn.CursorLocation = adUseServer
'连接SQL数据库
s_Conn.ConnectionString = "driver={sql server};server=61.233.62.174;uid=sa;pwd=questioncexovjai;Database=kq"
s_Conn.ConnectionTimeout = 50
s_Conn.Open
'构造mssql sql语句
s_Sql = "Select * From sjinfo"
'连接服务器sql数据库并构造sql删除语句
Dim s1_Conn As New ADODB.Connection
Dim rss1 As New ADODB.Recordset
Dim s1_Sql As String
Dim rq As Date
rq = Format(Now, "YYYY-MM-DD")
s1_Conn.CursorLocation = adUseServer
'连接SQL数据库
s1_Conn.ConnectionString = "driver={sql server};server=61.233.62.174;uid=sa;pwd=questioncexovjai;Database=kq"
s1_Conn.ConnectionTimeout = 50
s1_Conn.Open
'构造mssql sql语句
s1_Sql = "Select * From sjinfo where sjdate='" & rq & "'"
rss1.Open s1_Sql, s1_Conn, 1, 3
'连接access考勤数据库并构造sql语句
Dim a_Conn As New ADODB.Connection
Dim rsa As New ADODB.Recordset
Dim a_Sql As String
a_Conn.CursorLocation = adUseClient
'连接access数据库
a_Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:万象2004 935免验证版2004rec.mdb;Persist Security Info=False;Jet OLEDB:Database Password=zhrmghg1949jgqz"
'a_Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:万象2004 935免验证版sccs.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123456"
a_Conn.Open
a_Sql = "Select * From tLogs "
rsa.Open a_Sql, a_Conn, adOpenStatic, adLockOptimistic
'删除sql服务器当天所有记录
Do While Not rss1.EOF
rss1.Delete
rss1.MoveNext
Loop
rss1.Close
s1_Conn.Close
'添加考勤到服务器
For i = 1 To rsa.RecordCount
If Format(rsa("dtTime1"), "YYYY-M-D") = Date$ Then
If Format(rsa("dtTime1"), "HH:MM:SS AM/PM") < #7:30:00 PM# And (IsNull(rsa("dtTime2")) Or Format(rsa("dtTime2"), "HH:MM:SS AM/PM") > #7:30:00 PM#) Then
rss.Open s_Sql, s_Conn, 1, 3
rss.AddNew
rss("sjkid") = rsa("sCardID")
rss("sjtime") = "19:30:00"
rss("downtime") = Format(rsa("dtTime2"), "HH:MM:SS")
rss("sjdate") = Format(rsa("dtTime1"), "YYYY-M-D")
rss("roomname") = "电算中心"
rss("stuname") = rsa("sName")
rss.Update
rss.Close
rsa.MoveNext
ElseIf Format(rsa("dtTime1"), "HH:MM:SS AM/PM") >= #7:30:00 PM# And Format(rsa("dtTime1"), "HH:MM:SS AM/PM") < #9:30:00 PM# Then
rss.Open s_Sql, s_Conn, 1, 3
rss.AddNew
rss("sjkid") = rsa("sCardID")
rss("sjtime") = Format(rsa("dtTime1"), "HH:MM:SS")
rss("downtime") = Format(rsa("dtTime2"), "HH:MM:SS")
rss("sjdate") = Format(rsa("dtTime1"), "YYYY-M-D")
rss("roomname") = "电算中心"
rss("stuname") = rsa("sName")
rss.Update
rss.Close
rsa.MoveNext
End If
End If
Next i
s_Conn.Close
a_Conn.Close
'rsa.Close
Set rsa = Nothing
'连接服务器sql数据库并构造sql更新班级语句
Dim s2_Conn As New ADODB.Connection
Dim rss2 As New ADODB.Recordset
Dim s2_Sql As String
Dim rq1 As Date
rq1 = Format(Now, "YYYY-MM-DD")
s2_Conn.CursorLocation = adUseServer
'连接SQL数据库
s2_Conn.ConnectionString = "driver={sql server};server=61.233.62.174;uid=sa;pwd=questioncexovjai;Database=kq"
s2_Conn.ConnectionTimeout = 50
s2_Conn.Open
'构造mssql sql语句
s2_Sql = "Select * From sjinfo where sjdate='" & rq1 & "'"
rss2.Open s2_Sql, s2_Conn, 1, 3
'连接access班级数据库
Dim c_Conn As New ADODB.Connection
Dim rsc As New ADODB.Recordset
Dim c_Sql As String
c_Conn.CursorLocation = adUseClient
'连接access班级数据库
c_Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:万象2004 935免验证版2004mem.mdb;Persist Security Info=False;Jet OLEDB:Database Password=zhrmghg1949jgqz"
c_Conn.Open
'更新班级专业名称到服务器
'MsgBox (s2_Sql)
'MsgBox (rss2.RecordCount)
For j = 1 To rss2.RecordCount
c_Sql = "select sMemo from tUsers where sCardId='" & rss2("sjkid") & "'"
rsc.Open c_Sql, c_Conn, adOpenStatic, adLockOptimistic
rss2("stuclass") = rsc("sMemo")
rss2.Update
rsc.Close
rss2.MoveNext
Next j
rss2.Close
s2_Conn.Close
c_Conn.Close
End If
End Sub
10 30th, 2008
有两个程序,一个是主程序,另一个是 ActiveX Exe 的部件程序.
当我主程序调用部件程序时会出现两个进程.为什么过一段时间后部件程序会自动消失?
在主程序中并没有释放它“
我的错误信息有的是被隐藏了,可工程太大了。找起来很困难“
在主程序中有一个全局对象调用着 部件程序 .如果这么一来附件程序应该是不会被卸载才对“
有没有其他原因可以导致???
我再补充一些:
我的部件程序因为是 ActiveXExe 的.我已经设置成一个对象对应一个线程,而且都是以后期绑定来创建对象的.
在查看器中确定我的程序已经创建多个线程了。
但是内部构造复杂,彼此相互调用变量,并没有设置什么临界区,不知道 DCOM 有没有帮我们处理好这些,会不会是这个导致?
请高手们帮忙“顶帖也算帮忙呀“`
我也碰到了这个问题,还没解决,我在Activex.exe中的每个函数、方法加了错误捕获on error goto ,按道理不会出错自动退出的,可是运行一段时间后进程中Activex.exe就不见了。
这个简单啊,网上搜一下就得到答案了.
10 30th, 2008
为什么程序运行一段时间后会自动消失?连错误都不报~
起码也要有个 "不发送 "对话框出来`
你的程序如果狂消耗内存的话,也会有这种现象发生的
或者你的程序中没有对错误进行捕捉!
分析在理
on error resume next 使用过多的结果