Foxtable(狐表)用户栏目专家坐堂 → 用access作为外部数据源没有提示,用SQL作为外部数据源,有截图提示,为什么?


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

主题:用access作为外部数据源没有提示,用SQL作为外部数据源,有截图提示,为什么?

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/21 10:23:00 [显示全部帖子]

这个和数据源无关。

在子表输入数据的时候,父表选定行的关联列必须已经输入数据。


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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/21 10:54:00 [显示全部帖子]

出现提示的时候,请确认父表的“单据编号”是否没有输入内容,这不会有别的原因的。

 


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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/21 11:35:00 [显示全部帖子]

不要被表面现象迷惑,错误提示是不会撒谎的,先看看错误提示说的是不是事实,然后再去解决问题,不要想当然,这样太被动。

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/22 8:48:00 [显示全部帖子]

贴出你增加行的代码。

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/22 8:55:00 [显示全部帖子]

从你的代码没有看到给单据编号列设置内容的代码,而错误提示的就是这个。

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/22 9:26:00 [显示全部帖子]

不要纠结于数据源,你11楼的代码,并没有设置单据编号的内容。

我也看不懂这样的代码:

 

vars("关联表").Rows.AddNew() '关联表增加一行

[此贴子已经被作者于2010-12-22 9:29:17编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/22 9:34:00 [显示全部帖子]

以下是引用lihe60在2010-12-22 9:29:00的发言:
单据类型是空的,是怎么回事

 

你应该学会一些基本的调试技巧,也应该明白代码不会凭空无效。

 

既然单据类型列为空,而你给单据类型列赋值的代码为:

 

dr("单据类型")=vars("单据类型")

 

那么说明Vars("单据类型")为空,为了验证,可以在前面插入一行:

 

MessageBox.Show(vars("单据类型"))

dr("单据类型")=vars("单据类型")

 

如果确定了vars("单据类型")为空,就去找该变量为空的原因,也就是找出给该变量赋值的代码,看看怎么回事。

 

代码是环环相扣的,一切都是有因果的,此处不结果,就应该去找上一处的因。

[此贴子已经被作者于2010-12-22 9:36:46编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/22 9:44:00 [显示全部帖子]

在DataRowAdding事件中加入一行:

 

e.DataRow("单据编号") = Rand.NextString(8)


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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/22 9:54:00 [显示全部帖子]

我没有见过这样的问题,无法解释的,这么测试一下看看:

 

Dim dr As Row= vars("父表t").rows.AddNew() '父表增加一行
MessageBox.Show( dr("单据类型") & "|" & vars("单据类型"))
dr("单据类型")=vars("单据类型")

MessageBox.Show( dr("单据类型") & "|" & vars("单据类型"))
dr("日期")=vars("日期")


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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/22 10:01:00 [显示全部帖子]

两个MessageBox显示的都是这样? 无法理解。

 回到顶部
总数 13 1 2 下一页