数据库acess 字段sdate为日期型 格式为yyyy-m
strsql = "select rnum,sname,sdate,year(sdate) as B_date from saftyqt
Adodc1.ConnectionString = cnnString
Adodc1.RecordSource = strsql
Set DataGrid1.DataSource = Adodc1
DataGrid1.Columns(0).DataField = "rnum"
DataGrid1.Columns(0).Caption = "编号"
DataGrid1.Columns(1).DataField = "sname"
DataGrid1.Columns(1).Caption = "名称"
DataGrid1.Columns(2).Caption = "年份"
'DataGrid1.Columns(2).DataField = "B_date" '如果用这个,Columns(2)的值为空
DataGrid1.Columns(2).DataField = "sdate" '如果用这个,Columns(2)的值为年-月格式,我想只要年,怎么办?!
'我想用DataGrid1.Columns(2).DataFormat 但这个好像在代码中不能用,在设计时可用

解决方案 »

  1.   

    DataGrid1.Columns(2).NumberFormat = "yyyy年"
      

  2.   

    以上问题解决了 谢了
    还有个问题
    我在DataGrid1里直接加数据(DataGrid1帮定Adodc1)
    Adodc1.Recordset.AddNew后 我在DataGrid1没加任何数据 退出
    将提示"不能加入空记录" 怎么解决?!
    另为了填入数据 立即存到数据库中 我用了以下代码,但有个问题
    我在DataGrid1点击后,没加任何记录,焦点离开DataGrid1 也出现
    "不能加入空记录"  怎么解决?!
    Private Sub DataGrid1_LostFocus() 
    DataGrid1.DataChanged = True
    End Sub
      

  3.   

    http://expert.csdn.net/Expert/topic/1520/1520613.xml?temp=.4877893
      

  4.   


    比如说你的编号字段,如果不允许为空,或是你设置为主键,当然不允许为空你在AddNew之后,给你不允许为空的这个字段赋值,或者在退出时提示,没加任何数据,不能保存,要么取消---------------------------------------------------
    给你一个提示;你最好用几个文本框输入数据,再加一个command 按钮,点击command 按钮,保存在数据库中,
    如果文本框中没数据,不能保存,保存后的数据显示在你的表格中
      

  5.   

    用文本框输入数据这个我知道!
    界面别人已作好了,他直接在DataGrid1输入数据!
    如增加文本框 那就有点麻烦!