Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
[求助]  发帖心情 Post By:2013/2/20 17:56:00 [显示全部帖子]

Dim r As dialogresult
messagebox.show("没有锁定,是否锁定?","注意",messageboxbuttons.yesnocancel,messageboxicon.warning)
If r=dialogresult.yes Then
messagebox.show("已锁定")
Else
    messagebox.show("不锁定")
End If

 

 

在命令窗口输入以上代码,无论点击“是”、“否”及“取消”按钮,弹出的对话框都是“不锁定”

请教专家,这是为什么?

该怎么办?


 回到顶部
帅哥哟,离线,有人找我吗?
东坡一剑
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/11 17:33:00 [显示全部帖子]

果然是少些了一个等于号。非常感谢!

现在还有一个问题:

我在一个销售日志表中用代码生成了一个订单号,我想在订单号生成的同时,立即自动打开订单表,并且在订单表的订单号列生成此订单号。请问代码该怎么写?我只学到“表事件”。有劳了!

 

[此贴子已经被作者于2013-3-11 17:35:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
东坡一剑
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/12 9:52:00 [显示全部帖子]

我现在想:

1、当销售日志生成订单号后自动切换到销售单,并在销售单的最后一行自动填入订单号、导购员和客户名称的内容,光标标定于产品条码,输入条码后,标定于数量,确认后标定于下一行的产品条码。

2、订单号不同的行显示不同的颜色。

3、销售单状态列如果显示的是“结束”,则输入金额后,自动统计订单号的总金额。

4、在销售单中,如果取消列为“true”,则在订单号相同的情况下,

     删除倒数第一行

     解锁倒数第二行

为配合学习我做了一个学习项目,可能漏洞百出,望不吝赐教。

从开始学习以来,你给了我很大的帮助,希望以后有机会好好谢谢你!

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

[此贴子已经被作者于2013-3-12 9:53:55编辑过]

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/12 13:23:00 [显示全部帖子]

我希望看到谁在什么时候修改了姓名,于是在afteredit事件中编写了如下代码:

 

If e.Col.Name = "姓名" Then
    e.Row("修改记录") = User.Name & Date.Now

End If

 

但是,这样在修改记录中显示的只是最近一次的信息。

 

我需要一个列表,罗列出关于姓名的所有修改记录,最好还能包含历次的修改值。

请问该怎么办?有劳!

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


 回到顶部
帅哥哟,离线,有人找我吗?
东坡一剑
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/13 10:17:00 [显示全部帖子]

If e.DataRow("审核") = False Then  '未审核通过的行

    If e.DataRow.Locked  = False '如果此行目前未锁定,也就是准备锁定此行    ***

        Messagebox.show("不能锁定未审核通过的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)

        e.Cancel = True

    End If

ElseIf e.DataRow("审核") = True Then '已经审核通过的行

   If e.DataRow.Locked  = True '如果此行已锁定,也就是准备取消锁定此行  ***

        If User.Group <> "经理" Then

            Messagebox.show("只有经理才能解锁已经审核通过的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)

            e.Cancel = True

        End If

    End If

End If

以上这段代码是我从帮助文件 表事件/DataRowLockedChanging中复制的,用***标明的语句 if 之后没有跟 then ,不明白为什么,能讲讲吗?

 

 


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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/13 10:44:00 [显示全部帖子]

关联表与事件

关联表之间的数据和操作,有时是相互依存的,某一方进行的操作,经常需要在另一方进行条件判断。
在子表的事件中,我们可以通过GetParentRow获得父行,在父表的事件中,可以通过GetChildRows获得全部子行。

示例一

假定订单和订单明细表已经建立关联,订单表有个客户等级列,订单明细表有个折扣列,要求只有客户等级为VIP的时候,才允许折扣超过10%。
为此可以在订单明细表的DataColChanging事件中设置代码:

 

If e.DataCol.Name = "折扣" Then
    If e.NewValue > 0.1 Then
        Dim pr As DataRow = e.DataRow.GetParentRow("订单")
        If pr IsNot Nothing Then         ***
            If pr("客户等级") <> "VIP" Then
                MessageBox.show("非VIP客户的折扣不能超过10%", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
                e.Cancel = True
            End If
        End If
    End
If
End
If

 

不明白***为什么一定要判断pr是否为nothing


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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/13 12:28:00 [显示全部帖子]

If e.DataCol.Name = "姓名" Then
    Dim val As String = User.Name & Date.Now & "[" & e.OldValue & "] To [" & e.NewValue & "]"
    If e.DataRow.IsNull("修改记录") Then
        e.DataRow("修改记录")  = val
    Else
        e.DataRow("修改记录")  = e.DataRow("修改记录") & vbcrlf & val
    End If
End If

 

谢谢!

这个非常漂亮!

[此贴子已经被作者于2013-3-13 12:42:26编辑过]

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/15 0:33:00 [显示全部帖子]

***是我用来标注位置的。后来我也试过了,没有then也能运转。感谢你的回答!

只是现在又有一个问题:

我想在表格中自动删除行,使得每个内容相同的行只留下一行,不知该怎么编写代码?

请教!


 回到顶部
帅哥哟,离线,有人找我吗?
东坡一剑
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/15 8:54:00 [显示全部帖子]

原来是这样,谢谢!

现在还有一个问题:

我想在一个表格中(很多行)将指定列内容相同或全部列内容相同的行只保留一行,其余的删除,为此,编写prepareedit事件代码,代码如下:

 

 

Select Case e.Col.Name
 Case "货号"
 Dim lst As new List(Of Row)
  For Each c As Col In e.Table.Cols
   For Each r As Row In e.Table.Rows
           If e.Row(c) = r(c) Then
                lst.add(r)
                For i As Integer = 1 To lst.Count - 1
                    lst(i).delete()
                Next
           End If
       Next
  Next
End Select

 

但是这个代码是错误的。

请教:

能帮忙指出原因吗?

正确的代码应该怎么写?

[此贴子已经被作者于2013-3-15 8:58:40编辑过]

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/15 9:02:00 [显示全部帖子]

 

[此贴子已经被作者于2013-3-15 9:57:10编辑过]

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