以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 问个小函数如何描述。。。。。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=50107) |
-- 作者:ido -- 发布时间:2014/4/29 15:20:00 -- 问个小函数如何描述。。。。。 Dim Val As String If InputValue(Val, "请输入名称", "请输入名称:") Then If Val >"" Then Functions.Execute("tblName",Val) \'函数没写好.
end if end if ......... ......... ......... \'函数 ,这个归递要如何写? 输入文字之前检测一下是否存在同名表. 如果存在继续跳出inputValues,直到输入 DataTables.Contains(Val) = False Dim Val As String = Args(1) If DataTables.Contains(Val) = True Then If InputValue(Val, "请输入名称", "请输入名称:") Then Functions.Execute("tblName",Val) Return Nothing End If End If |
-- 作者:Bin -- 发布时间:2014/4/29 15:24:00 -- 不用写递归,用 WHile循环即可 |
-- 作者:有点甜 -- 发布时间:2014/4/29 15:27:00 -- 即便用递归,测试没什么问题。
Dim Val As String = Args(0)
If DataTables.Contains(Val) = True Then
If InputValue(Val, "请输入名称", "请输入名称:") Then
Functions.Execute("tblName",Val)
Return Nothing
End If
End If |
-- 作者:Bin -- 发布时间:2014/4/29 15:30:00 -- Dim Val As String = Args(1) Do While DataTables.Contains(Val) = false If InputValue(Val, "请输入名称", "请输入名称:") Then End If Loop
|
-- 作者:ido -- 发布时间:2014/4/29 15:32:00 -- 我用我写的那个,去测试会提示超出数姐。 我还以为是datatable输入新名本来会自动检测的。所以代码同复了。。提示错误呢。谢谢上面的大侠 |
-- 作者:ido -- 发布时间:2014/4/29 15:34:00 -- 回复版版 真的???怎么我测试就过不了。会提示错误。 |
-- 作者:有点甜 -- 发布时间:2014/4/29 15:45:00 -- 以下是引用ido在2014-4-29 15:34:00的发言:
真的???怎么我测试就过不了。会提示错误。
这句代码
Dim Val As String = Args(0) |
-- 作者:blackzhu -- 发布时间:2014/4/29 15:48:00 -- Dim Val As String = Args(0) If DataTables.Contains(Val) = False Then If InputValue(Val, "请输入名称", "请输入名称:") Then Functions.Execute("tblName",Val) Return Nothing End If Else msgbox("已经存在相同表名") End If 甜版的可以执行 但是甜版的应该这边写错了 If DataTables.Contains(Val) = True 应该为False
[此贴子已经被作者于2014-4-29 15:49:15编辑过]
|
-- 作者:ido -- 发布时间:2014/4/29 17:58:00 -- Dim Val As String If InputValue(Val,"输入临时表名!!","请输入:") Then If Val >"" Then \'输入:“表A” 表A已存在 Functions.Execute("tblgetName",Val) \'函数发现同名,再输入:表B 传递.结果Val的值是:“表B” msgbox(Val &"1") \'这里最后的结果,还是第一次输入的“表A”。。 Dim dtb As New DataTableBuilder(Val) \'生成临时表 dtb.AddDef("No",Gettype(Integer)) dtb.AddDef("Name",Gettype(String)) dtb.AddDef("Name1", Gettype(String)) dtb.AddDef("Control", Gettype(Boolean)) dtb.Build() end if end if \'---发现问题了,值不传递。 Dim Val As String = Args(0) If DataTables.Contains(Val) Then msgbox("已经存在相同表名!!!!!") If InputValue(Val, "请输入名称", "请输入名称:") Then ‘输入:“表B” Functions.Execute("tblgetName",Val) Return Nothing End If End If msgbox(Val) ‘传递出来的值还是"表B" |
-- 作者:有点甜 -- 发布时间:2014/4/29 18:03:00 -- 呃,你的返回参数
Dim Val As String = Args(0)
If DataTables.Contains(Val) = False Then
If InputValue(Val, "请输入名称", "请输入名称:") Then
return Functions.Execute("tblName",Val)
End If
Else
return val
End If
----------------------
调用
val = Functions.Execute("tblName",Val)
msgbox(val)
|