Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

请帮我改一下

843151504  发表于:2009-06-13 09:54:54  
复制

我的意思是想,如果子窗体中没数据,退出时主窗不保存数据
我的代码总出错,请我改一下,谢!

 

Private Sub Form_Unload(Cancel As Integer)
If IsNull([子窗体1].[Form]![姓名]) Then


'帮我上句改为If Me.村 <> Null AND IsNull([子窗体1].[Form]![姓名]) Then
意思就是主窗体中的“村”的文本框不为空值,并且子窗体1中的“姓名”是空值

        MsgBox "子窗没输入,请清除主窗的值", vbOKOnly, ""
        DoCmd.RunCommand acCmdUndo
        End If
End Sub

 

Top
善裕 发表于:2009-06-13 11:43:33

例子上传比较好改

 



843151504 发表于:2009-06-13 14:50:36

不要例子吧,

就是:如果  ""(主窗体的文本框)不为空,并且 "姓名"(子窗体的文本框)是空值  的条件语句怎么写???

我写的是下面这个,但没反映

If Me.村 <> Null AND IsNull([子窗体1].[Form]![姓名]) Then



善裕 发表于:2009-06-13 21:24:08

if isnull(me.村)=false and isnull([form]![子窗体1]![姓名]) then       

试一下,如果不对,再自己小调整一下,



843151504 发表于:2009-06-14 09:19:28

谢谢了,是我原来没理解isnull(me.村)=false 在窗体中应这么用.

另外能不能再教我一下,子窗体中的首条记录如何表示?

If Me.村 <> Null AND IsNull([子窗体1].[Form]! (在这儿加上首条记录) [姓名]) Then

 

 

就是子窗体中的首条记录[姓名]是空值

 



843151504 发表于:2009-06-14 09:34:47

 

if isnull(me.村)=false and isnull([form]![子窗体1]!(这儿的[姓名]是子窗体的首条记录应如何表示)[姓名]) then       



善裕 发表于:2009-06-14 13:19:22

if isnull(me.村)=false and isnull([form]![子窗体1]![姓名] where me.Recordset.AbsolutePosition = 0) then  

不知道会不会对了,就是条件为第一条记录 ,你可以试一下   



不务实 发表于:2009-06-14 14:23:02

不对,这样用语法错误



善裕 发表于:2009-06-14 16:30:20

可以把它发过来我看看,



843151504 发表于:2009-06-14 17:23:08
好的,太感谢你了.点击下载此附件

843151504 发表于:2009-06-15 08:28:11

yxcsy

我发了



善裕 发表于:2009-06-15 12:09:33

我看不懂你要这样做的意图呀,



善裕 发表于:2009-06-15 12:16:28

你加我QQ280062995,如果我在的话,我回复你,你这个设计的意图我想搞明白,再有这个不是很难的,你不要把它搞的复杂化了



善裕 发表于:2009-06-16 07:13:07

对不起,我不明白,你为什么凭证号要分开,不在同一个表,你的录入当心的就是按保存时,有的内容没输入就保存吧,那么只要在主窗体保存按钮加入一个判断就可以,不用把内容给分开(数据源被你分开了,我的理解).



843151504 发表于:2009-06-16 08:30:07

谢谢你看了,

如果是一张表,防止没输完记录就会保存,(虽然我不会在保存按钮中加入判断,但我只要设一个必填字段且不充许空值就可以不保存).

 

你问为什么分为两张表,这个思路不用怀疑的,例中凭证号虽然只有两个字段,但实际中有很多字段,如验收单,一个号,有日期、单位、经手人、等等,它们对应的多条产品明细记录。只用一张表,字段太多,且重复的值也太多。你说是吧。

没别的目的,就是防止凭证号的下级内容(就是如主窗输入了记录,但子窗没输记录的话,主窗的记录则不要保存,)



843151504 发表于:2009-07-19 09:03:14
保存是判断子窗体的是否有记录,没有则删除主窗体的记录

不务实 发表于:2009-07-19 09:09:16
用DCount判断

总记录:16篇  页次:1/1 9 1 :