以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  合并数据不会用按钮控制程序  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146682)

--  作者:王冬浜
--  发布时间:2020/2/29 10:01:00
--  合并数据不会用按钮控制程序
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:对话框按钮问题.zip

我想用对话框控制数据合并,但不能达到效果,详见文档,请大师指点,谢谢。
--  作者:有点蓝
--  发布时间:2020/2/29 10:11:00
--  

代码调换位置即可

……

            dr("金额") = sheet(n,9).text  \'所有行n,第10列填写

        End If

    Next

    MessageBox.Show("本次成功合并了" & newcount & "条记录" ,"提示!") \'提示

End If

t.ResumeRedraw() \'恢复绘制表


--  作者:王冬浜
--  发布时间:2020/2/29 10:46:00
--  

  MessageBox.Show("本次成功合并了" & newcount & "条记录" ,"提示!",MessageBoxButtons.OKCancel) \'提示
老师,虽然,单击“确定”可以合并数据,但是单击“取消”按钮,现在也是合并数据,我要的是单击“取消”按钮,退出。这怎么办呢?

 


--  作者:有点蓝
--  发布时间:2020/2/29 10:51:00
--  
意思是再加个提示框,确定是否导入?

Dim t As Table = Tables("基本信息表")
Dim newcount As Integer = 0 \'新增行为0
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    If MessageBox.Show("确定要导入这个文件?" &  dlg.FileName,"提示!",MessageBoxButtons.OKCancel) = DialogResult.OK
        t.StopRedraw() \'停止绘制表
        Dim Book As New XLS.Book(dlg.FileName) \'定义一个新的工作本,含ygxx的所有文件
        Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用第一个工作表
        For n As Integer = 1 To sheet.Rows.Count - 1 \'遍历第1个工作表的第2至最后一行
            If sheet(n,0).Text.trim() > "" \'姓名列有值\'
                Dim dr As DataRow = DataTables("基本信息表").AddNew \'在基本信息表中添加行
                newcount += 1 \'新增行累加记数
                dr("姓名") = sheet(n,0).Text \'所有行n,第1列填写
                dr("性别") = sheet(n,1).text \'所有行n,第2列填写
                dr("身份证号") = sheet(n,2).text \'所有行n,第3列填写
                dr("电话号码") = sheet(n,3).text \'所有行n,第4列填写
                dr("地址") = sheet(n,4).text \'所有行n,第5列填写
                dr("银行卡号") = sheet(n,5).text \'所有行n,第6列填写
                dr("备注") = sheet(n,6).text \'所有行n,第7列填写
                dr("基数") = sheet(n,7).text \'所有行n,第8列填写
                dr("比例") = sheet(n,8).text  \'所有行n,第9列填写
                dr("金额") = sheet(n,9).text  \'所有行n,第10列填写
            End If
        Next
        t.ResumeRedraw() \'恢复绘制表
        MessageBox.Show("本次成功合并了" & newcount & "条记录" ,"提示!") \'提示
    End If
End If


--  作者:王冬浜
--  发布时间:2020/2/29 11:04:00
--  

我是说,在后面出现:

 MessageBox.Show("本次成功合并了" & newcount & "条记录" ,"提示!",MessageBoxButtons.OKCancel) \'提示
代码执行到此时,对话框会出现“确定”,“取消”两个按钮,单击确定,就合并数据;不想合并的话,就单击“取消”按钮,这时能控制吗?

--  作者:有点蓝
--  发布时间:2020/2/29 11:11:00
--  
不应该在后面出现,因为数据已经导入。就好比您搭计程车,难道到终点了再和司机说“我不想来了,再退回去”?
--  作者:王冬浜
--  发布时间:2020/2/29 11:22:00
--  

明白了,谢谢指教!!!