Foxtable(狐表)用户栏目专家坐堂 → [求助]求代码,根据规则自动生成字段值。


  共有12116人关注过本帖树形打印复制链接

主题:[求助]求代码,根据规则自动生成字段值。

美女呀,离线,留言给我吧!
ashi_shine
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:100 积分:831 威望:0 精华:0 注册:2011/4/11 13:28:00
  发帖心情 Post By:2011/8/29 9:07:00 [只看该作者]

提示,未将对象引用设置到对象的实例 是什么问题?

 

我检查了SELECT FCurNo,FDesc FROM {ICBillNo} WHERE  FBillID= '1030002'这句SQL,是有返回值的。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/29 9:11:00 [只看该作者]

Dim cmd As New SQLCommand
Dim BillInfo As DataTable
cmd.CommandText = "SELECT FCurNo,FDesc FROM {ICBillNo} WHERE FBillID= '1030002'"
BillInfo = cmd.ExecuteReader()
if BillInfo.DataRows.Count > 0 then
    for each dr as datarow in BillInfo
        output.show(dr("FCurNo"))
        output.show(dr("FDesc"))
    next

else

    messagebox.show("没有行")
End if

[此贴子已经被作者于2011-8-29 9:11:08编辑过]

 回到顶部
美女呀,离线,留言给我吧!
ashi_shine
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:100 积分:831 威望:0 精华:0 注册:2011/4/11 13:28:00
  发帖心情 Post By:2011/8/29 9:14:00 [只看该作者]

运行结果同上,BillInfo.DataRows.Count 应该是>0的

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/29 9:15:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
ashi_shine
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:100 积分:831 威望:0 精华:0 注册:2011/4/11 13:28:00
  发帖心情 Post By:2011/8/29 9:25:00 [只看该作者]

对对对!

加上cmd.ConnectionName 就OK了。谢谢!!!

我帮助看的不认真啊!图片点击可在新窗口打开查看


 回到顶部
美女呀,离线,留言给我吧!
ashi_shine
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:100 积分:831 威望:0 精华:0 注册:2011/4/11 13:28:00
  发帖心情 Post By:2011/8/29 10:36:00 [只看该作者]

 

Dim NewRw As Row
  NewRw=Tables("T_CC_StockBill").AddNew()
  NewRw("FID")=Tables("T_CC_StockBill").Rows(Tables("T_CC_StockBill").Rows.Count-1)("FID")+1
  NewRw("FBillNo")="XSD"+Str(Date.Today.Year)+Str(Date.Today.Month)+Str(Date.Today.Day)+Vars("CurNo")

 

这段代码报错,原因是表T_CC_StockBill先执行AddNew时默认FID值为空,导致AddNew失败,下面对FID赋值的语句也就无效了。

 

提示“列FID不允许是空值”

 

PS:

之前看一个关于列自动编号的帖子,通过_Identify列可以实现,但是我是外部数据源,帮助里说只有内部数据表才有_Identify列。是不是我的FID只能通过代码实现了?



 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/29 10:41:00 [只看该作者]

解决方法在这里的示例二:
 
http://www.foxtable.com/help/topics/0630.htm

 


 回到顶部
美女呀,离线,留言给我吧!
ashi_shine
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:100 积分:831 威望:0 精华:0 注册:2011/4/11 13:28:00
  发帖心情 Post By:2011/8/29 11:13:00 [只看该作者]

编号的问题解决!图片点击可在新窗口打开查看

 

e.DataRow("FBillNo")="XSD"+Trim(Str(Date.Today.Year))+Trim(Str(Date.Today.Month))+Trim(Str(Date.Today.Day))+"0"+Trim(Str(Vars("CurNo"))) 

 

这一句中,Date.Today.Month的结果返回是8,我需要的是08,请问如何修改呢?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/29 11:16:00 [只看该作者]

 

Format("8","00")

 

就是08


 回到顶部
美女呀,离线,留言给我吧!
ashi_shine
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:100 积分:831 威望:0 精华:0 注册:2011/4/11 13:28:00
  发帖心情 Post By:2011/8/29 11:29:00 [只看该作者]

Format(Date.Today,"yyyyMMdd") 图片点击可在新窗口打开查看

 回到顶部
总数 20 上一页 1 2