以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- Access转SQL数据库后报错 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=152708) |
-- 作者:237756360 -- 发布时间:2020/7/19 22:34:00 -- Access转SQL数据库后报错 蓝板辛苦了!求助!我将Access数据库转SQL数据库后提示我:“未将对象引用设置到对象的实例。” 请问是哪里出错了呢! Dim ddr As DataRow Dim dd As String = MainTable.NameTables("录入窗体_table1").DataSource = DataTables("电参日报") ddr = DataTables(dd).SQLFind("录入日期","录入日期 Desc") Dim ss As Date = ddr("录入日期") DataTables(dd).LoadFilter = "录入日期 = \'"& ss &"\'" DataTables(dd).Load Tables("录入窗体_table1").AutoSizeCols() DataTables("电参日报").AllowEdit =False |
-- 作者:有点蓝 -- 发布时间:2020/7/19 22:46:00 -- 和数据库没有关系:http://www.foxtable.com/webhelp/topics/2911.htm,仔细看示例三说明 |
-- 作者:237756360 -- 发布时间:2020/7/20 18:03:00 -- 回复:(有点蓝)和数据库没有关系:http://www.foxta... 谢谢,蓝板 |
-- 作者:237756360 -- 发布时间:2020/7/20 20:28:00 -- ![]() ![]() 老师,求助!上面的例三我看过了,可是不是这个问题。您看同样的代码,内部数据表有输出。SQL数据表就报错!
![]() [此贴子已经被作者于2020/7/21 10:05:11编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/7/21 8:45:00 -- 到底看懂什么? 示例三 通常应该在代码中判断是否找到了符合条件的行,然后再运行后续的代码. 例如要找出最近一次订购产品数量超过1000的订单,并显示订单的日期和客户: Dim dr As DataRow dr = DataTables("订单").SQLFind("数量 > 1000","日期 Desc") If dr IsNot Nothing Then \'如果找到的话 Output.Show("日期:" & dr("日期")) Output.Show("客户:" & dr("客户")) End If 如果我们不加上判断,直接: Dim dr As DataRow dr = DataTables("订单").SQLFind("数量 > 1000","日期 Desc") Output.Show("日期:" & dr("日期")) Output.Show("客户:" & dr("客户")) 一旦订单表并不存在订购数量超过1000的订单,那么Find方法返回Nothing,导致后续代码运行出错. |
-- 作者:237756360 -- 发布时间:2020/7/21 10:04:00 -- 回复:(有点蓝)到底看懂什么?示例三通常应该在代码... 老师‘可能我没表达明白,您看这两个图,一个是内建表,一个是SQL表,相同代码,一个能找到值,一个找不到,我也按照例三加上判断语句了。 Dim dd As String = MainTable.Name
Dim ddr As DataRow ddr = DataTables(dd).SQLFind("录入日期","录入日期 Desc") If ddr IsNot Nothing Then Dim ss As Date = ddr("录入日期") Output.Show(ss) Else Output.Show("未找到") End If |
-- 作者:有点蓝 -- 发布时间:2020/7/21 10:09:00 -- SQLFind(Filter,Sort,Index) 如果不需要条件 ddr = DataTables(dd).SQLFind("","录入日期 Desc") |