控制保存问题

heiqiqiou 2004-11-03 07:57:52
我有如下程序
sele 购货表
locate for alltrim(品名)=alltrim(thisform.text15.value)
if found() and 购货日期=thisform.text11.value and allt(公司名称)=allt(thisform.text14.value )and allt(规 格)=allt(thisform.text1.value)
messagebox("该信息已经存在",64,"信息窗口")
thisform.text15.value=''
thisform.text15.setfocus()
else
go bottom
insert into 购货表(单价,NODG,送货单号,公司名称,品名,规格,数量,购货日期,交货日期,金额,代号,付款日期) values(gm,yt,sm,sh,fk,gg,sl,bm,sg,je,pm,rq)
messagebox ("添加成功",64,"信息窗口")
其中购货日期的controlsource=购货表.购货日期,字段类型是日期型
达到的目的是如果购货表中有品名,购货日期,公司名称,规格都相同的提示该信息存在

不知道为什么它就是没有控制好,只要输入就会保存,没有运行if found()
...全文
95 13 打赏 收藏 举报
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
heiqiqiou 2004-11-04
  • 打赏
  • 举报
回复
我的日期是这样的11/04/2004,表示2004年11月4号,怎么把日期分开成三个文本
LAIYANGPJ 2004-11-04
  • 打赏
  • 举报
回复
你在THISFORM.TEXT12.VALUE里是怎样输入日期的?比方说:11-04-2004代表2004年11月04日
其实这个日期你最好分开三个文本框写.

heiqiqiou 2004-11-04
  • 打赏
  • 举报
回复
没有用的,我的程序现在是sele 采购表

locate for alltrim(规格)=alltrim(thisform.text1.value)
if found() and alltrim(申购部门)=alltrim(thisform.text11.value) and alltrim(品名)=alltrim(thisform.text15.value) and dtoc(申购日期)= alltrim(thisform.text12.value)
messagebox("该信息存在",64,"信息窗口")
thisform.text1.value=''
thisform.text1.setfocus()

else
go bottom
insert into 采购表(规格,单位,数量,供应商名,品名,申购部门,报价,用途,申购人,申购日期,单号,备注,送货日期,付款日期,金额) values(gg,dw,sl,gy,pm,bm,bj,yt,sgr,sg,dh,bz,sh,fk,je)
messagebox ("添加成功",64,"信息窗口")
我把dtoc(申购日期)=alltrim(thisform.text12.value)去掉如出现规格,供应商,品名相同的就会有提示,只要加上了申购日期就不行了我也去掉了text12的controlsource
十豆三 2004-11-04
  • 打赏
  • 举报
回复
你的“规 格”中间有空格,把它去掉!!!
heiqiqiou 2004-11-04
  • 打赏
  • 举报
回复
没有办法还是没有用,我把购货日期的controlsource去掉了,thisform.text11.value输入11/04/04和11/04/2004 都有试过还是没有控制住它照常保存了
LAIYANGPJ 2004-11-04
  • 打赏
  • 举报
回复
其中购货日期的controlsource=购货表.购货日期,字段类型是日期型
*************
你不要把数据环境里的字段直接拖进,另建一个文本框.
另外:购货日期=thisform.text11.value改为:
DTOC(购货日期)=thisform.text11.value &&注意这里文本框的输入格式要对.

heiqiqiou 2004-11-04
  • 打赏
  • 举报
回复
今天又变了,比如说开始有输入购货日期为11/04/2004的品名,接着我又输入一遍提示"该品名信息已经存在",我就将购货日期改为11/05/2004,它自动的将上面一个的购货日期该为11/05/2004,又提示"该品名信息已经存在"程序一点都没有变.为什么??????????
LAIYANGPJ 2004-11-03
  • 打赏
  • 举报
回复
locate for alltrim(品名)=alltrim(thisform.text15.value)
你先故意找一个能使:购货日期=thisform.text11.value的品名
这之后你查一下,此时DTOC(购货日期)与DTOC(THISFORM.TEXT1.VALUE)是不是一样的?
看是不是你的日期格式与你输入的日期格式不同?
LAIYANGPJ 2004-11-03
  • 打赏
  • 举报
回复
你这样改一下: DTOC(购货日期)=DTOC(thisform.text11.value)
heiqiqiou 2004-11-03
  • 打赏
  • 举报
回复
是啊,它的controlsource=购货表.购货日期,怎么设置text的类型啊
LAIYANGPJ 2004-11-03
  • 打赏
  • 举报
回复
那你的THISFORM.TEXT1.VALUE的类型是日期型的?
heiqiqiou 2004-11-03
  • 打赏
  • 举报
回复
就是加上了购货日期就不可以,跳过去了
LAIYANGPJ 2004-11-03
  • 打赏
  • 举报
回复
它不是没有运行FOUND()而是没有运行if found() and 购货日期=thisform.text11.value and allt(公司名称)=allt(thisform.text14.value )and allt(规 格)=allt(thisform.text1.value)
你看看是不是后面的那一项根本就不可能找到?最好单个测试.
相关推荐
发帖
VFP

2574

社区成员

VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
帖子事件
创建了帖子
2004-11-03 07:57
社区公告
暂无公告