Foxtable(狐表)用户栏目专家坐堂 → 这段代码在AppendLoad追加的时候为什么报错“未将对象应用到实例”?


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

主题:这段代码在AppendLoad追加的时候为什么报错“未将对象应用到实例”?

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5184 威望:0 精华:0 注册:2017/9/1 23:28:00
这段代码在AppendLoad追加的时候为什么报错“未将对象应用到实例”?  发帖心情 Post By:2023/1/31 5:20:00 [只看该作者]

Dim x As String = Tables("入库表_table1").Current("采购单号")
   Dim dr As DataRow
    dr = DataTables("采购单").Find("[采购单号] = '" & x & "'")
If dr IsNot Nothing Then
    Dim wz As Integer = Tables("采购单").FindRow(dr)
    If wz >= 0 Then
        Tables("采购单").Position = wz
   Forms("采购单_表单").show()
    End If
    Else

    If dr Is Nothing Then
        Dim F As String = "采购单号 = " & dr("采购单号")
           DataTables("采购单").AppendLoad("[采购单号] = '" & dr("采购单号") & "'")
    If DataTables("采购明细").Find(F) Is Nothing Then '如果对应的订单明细没有加载过
      DataTables("采购明细").AppendLoad(F) '则追载此订单的订单明细
        End If
    Dim wz1 As Integer = Tables("采购单").FindRow(dr)
    If wz1 >= 0 Then
        Tables("采购单").Position = wz1
   Forms("采购单_表单").show()
    End If
End If
End If


1、确定存在这条记录,使用msgbox可以正确的返回单号
2、确定选择的记录没有加载,查过多次了。
[此贴子已经被作者于2023/1/31 5:21:40编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/31 9:09:00 [只看该作者]

代码有很多语法以及逻辑问题

Dim x As String = Tables("入库表_table1").Current("采购单号")
Dim dr As DataRow
dr = DataTables("采购单").Find("[采购单号] = '" & x & "'")
If dr IsNot Nothing Then
    Dim wz As Integer = Tables("采购单").FindRow(dr)
    If wz >= 0 Then
        Tables("采购单").Position = wz
        Forms("采购单_表单").show()
    End If
Else
    Dim F As String = "采购单号 = '" & x & "'"
    Dim drs As List(Of DataRow) = DataTables("采购单").AppendLoad("[采购单号] = '" & x & "'")
    If drs.Count < 0 Then
        Dim wz1 As Integer = Tables("采购单").FindRow(drs(0))
        If wz1 >= 0 Then
            Tables("采购单").Position = wz1
            Forms("采购单_表单").show()
        End If
    End If
End If

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/31 9:15:00 [只看该作者]

简洁一点可以这样

Dim x As String = Tables("入库表_table1").Current("采购单号")
Dim dr As DataRow
Dim F As String = "采购单号 = '" & x & "'"
dr = DataTables("采购单").Find(F)
If dr Is Nothing Then
    Dim drs As List(Of DataRow) = DataTables("采购单").AppendLoad(F)
    If drs.Count = 0 Then
        MsgBox("没有这个单据!")
        Return
    End If
    dr = drs(0)
End If

Dim wz As Integer = Tables("采购单").FindRow(dr)
If wz >= 0 Then
    Tables("采购单").Position = wz
    Forms("采购单_表单").show()
End If

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5184 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2023/3/10 13:35:00 [只看该作者]

蓝老师,这段appendload在加载历史记录之后,会发生一个比较奇怪的问题,首先,表格是窗口中的表。我双击必须appendload的记录,会出现:第一次双击没有任何反应,第二次双击会指向datatables的第一条记录,第三次双击才会显示正确的记录。我猜测是“datatables更新了,但是tables没有更新”,然后我把数据表切换到采购单,发现果然是这样,第一次双击,历史记录加载进来,但是指针并没有指向追加的那条记录,而是指向datatable的第一条记录,第二次双击,打开的是datatable的第一条记录,直到第三次双击窗口中的tables的记录才会正确的指向appendload的记录。请问老师这样要怎么改代码?
[此贴子已经被作者于2023/3/10 13:36:37编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/10 13:37:00 [只看该作者]

请上传实例测试

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5184 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2023/3/11 1:31:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.foxdb

[此贴子已经被作者于2023/3/11 1:31:37编辑过]

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5184 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2023/3/11 1:33:00 [只看该作者]

数据库压缩包
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.rar


[此贴子已经被作者于2023/3/11 1:33:04编辑过]

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5184 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2023/3/13 13:36:00 [只看该作者]

顶一下,蓝老师是不是把我忘记了?图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/13 14:00:00 [只看该作者]

数据库文件不全,少了ldf文件,重新发一下

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5184 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2023/3/13 14:28:00 [只看该作者]

蓝老师,补上了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test_log.rar



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