小生用adodc和DataGrid正编写一个入库管理系统,在查询步骤中,查询日期项时,在Text1中输入日期,我想用一个固定的格式把每个输入的日期规范化,比如现在正确的格式为2006-01-01,当输入2006/1/1或06-1-1时就能报错,请问这个要怎么设置Text1的属性啊?
谢各位大虾指点!

解决方案 »

  1.   

    也可以使用  DateTimePicker
      
      

  2.   

    Private Sub Text1_LostFocus()
    On Error Resume Next
    If IsDate(Me.Text1.Text) Then
        Me.Text1.Text = Format(Me.Text1.Text, "yyyy-mm-dd")
    Else
        Me.Text1.SetFocus
        MsgBox "叫块Τ丁"
        Me.Text1.Text = ""
    End If
    End Sub
      

  3.   

    谢了,我试一下。
    对了,还有一小问题,我在用SQL查询的时候,按名称查询时,怎么老是报错呢?
    我写的代码为:
     Private Sub Cmdchaxun_Click()
    Adodc1.CommandType = adCmdText
    Adodc1.RecordSource = "select * from test where 名称 IN (text2.Text )"
    Adodc1.Refresh
    End Sub
    提示我有一个参数没有被指定,请问这是怎么回事?
      

  4.   

    Adodc1.RecordSource = "select * from test where 名称 IN ('"& text2.Text &"')"
      

  5.   

    我试了一下这一条语句:
    Adodc1.RecordSource = "select * from test where 名称 IN ('"& text2.Text &"')"
    在运行时没有错误了,但查询后就只会查询到一个结果,而且每次查询都是这一个结果,是不是那里还有问题?
    我还试着用这样一条语句查询,
    Adodc1.RecordSource = "select * from test where 名称 like '"& text2.Text &"' "
    结果也是一样,还是查到的那个结果,这是怎么回事呢?
      

  6.   

    Adodc1.RecordSource = "select * from test where 名称 like '"& text2.Text &"%' "  
      

  7.   

    text2.Text 里存放的是什么数据,单个名称还是多个。
    当是单个时,
    strSQL="select * from test where 名称 ='"+ text2.Text +"'"
    当是多个且每个名字使用逗号(也可以是其它符号)分割时,
    strSQL="select * from test where charindex(','+名称+',',"+text2.text+"',')"
      

  8.   

    了解!刚才有一个位置弄错了,已经好了,谢了!
    小弟还有一个小问题,因为我这个系统中涉及到有三个表
    所以关于添加、删除、查询等命令都在不同的frm中完成,
    我能不能用MDI窗体,当我Click菜单时,就能将要显示的菜单显示在MDI窗体中呢?
    请问,用MDI窗体要注意哪些地方,或者还有哪些地方的属性是要设置的!
    谢谢!