日期:2014-05-16 浏览次数:20392 次
十一假期以来可以说大部分时间用在系统上,开始不想开始的原因就是怕遇到问题,现在遇到问题了,却是不想放弃,总是有种必须把问题解决的小心理!
虽然没有什么大的问题,但是小问题还是不断地,遇到问题就是知识积累的过程!下面是一些小问题的总结:
一、在MDI窗体无法添加控件,
这样就要利用picture控件作为容器来容纳其他控件,但是picture会影响子窗体的显示,这样需要用API函数来显示:
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long SetParent Form1.hWnd, MDIForm1.hWnd
二、数据库没有办法更新,代码调了一天没有发现错误,但是依旧没办法更新
with objRs .AddNew .Fields(0) = TxtCardID.Text .Fields(1) = TxtStuNo.Text .Fields(2) = TxtStuName.Text .Update end with
这样写数据库总是无法更新,后来将update改为updatebatch,其实这两个可以混用的但是他们的区别就是Update只更新保存当前记录,UpdateBatch方法可以成批地更新保存多个记录
三、关于时间的计算和比较日期的大小
时间的计算要用到一个函数DateDiff,
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
其中比较日期的大小为:
date1 = "2010-10-10 " date2 = "2011-2-3" If DateDiff("d", CDate(date1), CDate(date2)) < 0 Then MsgBox date1 & "大" Else MsgBox date2 & "大" End If
比较数据库中的日期,分为两种如果表line中date的数据为日期型:则
SELECT * FROM T WHERE date >= '2009-08-31' AND col1 <= '2009-09-07'
如果为非日期型则
SELECT * FROM T WHERE CAST(col1 AS DATETIME) >= '2009-08-31' AND CAST(col1 AS DATETIME) <= '2009-09-07'
四、获取计算机名
其实上网搜了一下获得计算机名的方法有很多,这里有一个我觉得比较简便的时要用到API函数GetComputerName
Private Declare Function GetComputerName Lib "Kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
实现就算计名的获得:
Dim ComputerName As String, i As Long i = 255 ComputerName = String(i, 0) GetComputerName ComputerName, i ComputerName = Left(ComputerName, i)
其实这些都是在敲代码的时候遇到问题的部分,虽然不是什么知识点,但是感觉还不错,这是这样不断地积累,小菜鸟才可以编成大牛