以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118068)

--  作者:nxqtxwz
--  发布时间:2018/4/24 12:29:00
--  求助
我想选中表A中的一条记录,双击这条记录后自动把表A的A、B、C三列分别写入表B的E、D、U三列中,请问代码怎么写呢。
--  作者:有点甜
--  发布时间:2018/4/24 12:35:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/2292.htm

 


--  作者:nxqtxwz
--  发布时间:2018/4/24 16:21:00
--  

把下面的代码放在DoubleClick中怎么写?

If e.Selected Then  \'如果选择了值
    Dim tbl As  Table =  Tables("录入窗口_Table1")
     If tbl.Current  IsNot  Nothing  Then
         e.Form.DropDownBox.Value = tbl.Current("书名")
          Tables("借书登记").Current("图书编号") = tbl.Current("图书编号")
         Tables("借书登记").Current("作者") = tbl.Current("作者")
         \'Tables("订单").Current("其它列3") = tbl.Current("其它列3")
        If e.Form.DropTable IsNot Nothing Then \'如果是通过表下拉的
            e.Form.DropTable.FinishEditing()
         Else  \'如果是通过窗口下拉的
            e.Form.DropDownBox.WriteValue()
         End If
    End  If
End  If


--  作者:有点甜
--  发布时间:2018/4/24 16:26:00
--  
Dim tbl As  Table =  Tables("录入窗口_Table1")
If tbl.Current  IsNot  Nothing  Then
    e.Form.DropDownBox.Value = tbl.Current("书名")
    Tables("借书登记").Current("图书编号") = tbl.Current("图书编号")
    Tables("借书登记").Current("作者") = tbl.Current("作者")
    \'Tables("订单").Current("其它列3") = tbl.Current("其它列3")
    If e.Form.DropTable IsNot Nothing Then \'如果是通过表下拉的
        e.Form.DropTable.FinishEditing()
    Else  \'如果是通过窗口下拉的
        e.Form.DropDownBox.WriteValue()
    End If
End  If
e.form.DropDownBox.CloseDropdown

--  作者:nxqtxwz
--  发布时间:2018/4/24 17:29:00
--  
以下是引用有点甜在2018/4/24 16:26:00的发言:
Dim tbl As  Table =  Tables("录入窗口_Table1")
If tbl.Current  IsNot  Nothing  Then
    e.Form.DropDownBox.Value = tbl.Current("书名")
    Tables("借书登记").Current("图书编号") = tbl.Current("图书编号")
    Tables("借书登记").Current("作者") = tbl.Current("作者")
    \'Tables("订单").Current("其它列3") = tbl.Current("其它列3")
    If e.Form.DropTable IsNot Nothing Then \'如果是通过表下拉的
        e.Form.DropTable.FinishEditing()
    Else  \'如果是通过窗口下拉的
        e.Form.DropDownBox.WriteValue()
    End If
End  If
e.form.DropDownBox.CloseDropdown

有这一段代码出错,搞不清是什么原因。

 

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.3.9.1
错误所在事件:图书目录,DoubleClick
详细错误信息:
未将对象引用设置到对象的实例。


--  作者:有点甜
--  发布时间:2018/4/24 17:42:00
--  

加入msgbox定位出错位置。

 

如果自己不会调试,上传实例测试。


--  作者:nxqtxwz
--  发布时间:2018/4/24 17:45:00
--  

把下面的代码放在DoubleClick中怎么写?

 

Dim tbl As  Table =  Tables("录入窗口_Table1")
If tbl.Current  IsNot  Nothing  Then
    Dim nma() As String = {"书名","图书编号","出版地","出版者"} \'A表数据来源列
    Dim  nmb()  As  String = {"书名","图书编号","出版地","出版者"} \'B表数据接收列
    Dim  dr  As DataRow = DataTables("借书登记").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End  If


--  作者:nxqtxwz
--  发布时间:2018/4/24 17:54:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学校图书.zip


--  作者:有点甜
--  发布时间:2018/4/24 18:06:00
--  

1、没有数据库无法测试;

 

2、请自行加入msgbox调试;

 

3、7楼问题,代码改成

 

Dim tbl As  Table =  Tables("录入窗口_Table1")
If tbl.Current  IsNot  Nothing  Then
    Dim nma() As String = {"书名","图书编号","出版地","出版者"} \'A表数据来源列
    Dim  nmb()  As  String = {"书名","图书编号","出版地","出版者"} \'B表数据接收列
    Dim  dr  As DataRow = DataTables("借书登记").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.Row(nma(i))
    Next
End  If


--  作者:nxqtxwz
--  发布时间:2018/4/24 18:26:00
--  

老师,下面这段代码成功,但有一个问题,我是想让它写在当前记录中,但它确是每次新增加一个记录。能不能让它写在“借书登记”的当前记录中呢。

Dim tbl As  Table =  Tables("录入窗口_Table1")
If tbl.Current  IsNot  Nothing  Then
    Dim nma() As String = {"书名","图书编号","出版地","出版者"} \'A表数据来源列
    Dim  nmb()  As  String = {"书名","图书编号","出版地","出版者"} \'B表数据接收列
    Dim  dr  As DataRow = DataTables("借书登记").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.Row(nma(i))
    Next
End  If