小问题 大知识

十一假期以来可以说大部分时间用在系统上,开始不想开始的原因就是怕遇到问题,现在遇到问题了,却是不想放弃,总是有种必须把问题解决的小心理!

虽然没有什么大的问题,但是小问题还是不断地,遇到问题就是知识积累的过程!下面是一些小问题的总结:

一、在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)

其实这些都是在敲代码的时候遇到问题的部分,虽然不是什么知识点,但是感觉还不错,这是这样不断地积累,小菜鸟才可以编成大牛

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值