以文本方式查看主题

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

--  作者:江南小镇
--  发布时间:2019/7/15 15:50:00
--  [求助]数据库
老师,下面代码错在哪了。
cmd.CommandText = "select * f rom [员工登记表] where 职位状态 = \'正式\' and 工号 not in (" & s.trim(",") & ") "
dt = cmd.ExecuteReader()

--  作者:有点蓝
--  发布时间:2019/7/15 15:57:00
--  
工号是字符串还是整数列?

msgbox(s) 显示什么内容

--  作者:江南小镇
--  发布时间:2019/7/15 16:15:00
--  
.NET Framework 版本:2.0.50727.8800
Foxtable 版本:2017.4.22.1
错误所在事件:窗口,员工信息,AfterLoad
详细错误信息:
未将对象引用设置到对象的实例。


--  作者:有点蓝
--  发布时间:2019/7/15 16:25:00
--  
错误所在事件:窗口,员工信息,AfterLoad

贴出完整代码

--  作者:江南小镇
--  发布时间:2019/7/15 18:20:00
--  
Dim cmd As New SQLCommand
Dim dr As DataRow
Dim dt As DataTable
cmd.C
cmd.CommandText = "select * f rom [员工登记表] where 应聘信息_入职状态 = \'正式\' and 工号 not in (" & s.trim(",") & ") "
dt = cmd.ExecuteReader()

--  作者:有点蓝
--  发布时间:2019/7/15 20:29:00
--  
工号是字符串还是整数列?
没看到s在哪里定义的,在哪里赋值的?
msgbox(s) 显示什么内容。

--  作者:江南小镇
--  发布时间:2019/7/15 21:38:00
--  
老师好,下面是标签代码。工号(是字符串)

Dim cmd As New SQLCommand
Dim dr As DataRow
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT * F rom {劳动合同} where 劳动合同_到期 = false"
dt = cmd.ExecuteReader()
Dim s As String
For Each dr2 As DataRow In dt.dataRows
    s = s & "\'" & dr2("劳动合同_工号") & "\',"
Next
Tables("人事档案_人事档案Table1").Filter = "应聘信息_入职状态 = \'正式\' and 工号 not in (" & s.trim(",") & ")"
下面是窗口事件代码
cmd.CommandText = "SELECT * F rom {劳动合同} where 劳动合同_到期 = false"
dt = cmd.ExecuteReader()
Dim s As String
For Each dr2 As DataRow In dt.dataRows
    s = s & "\'" & dr2("劳动合同_工号") & "\',"
Next
cmd.CommandText = "select * f rom [员工登记表] where 应聘信息_入职状态 = \'正式\' and 工号 not in (" & s.trim(",") & ") "
dt = cmd.ExecuteReader()
e.Form.controls("人事档案Label11").text = dt.Compute("count([_Identify])")

Dim cr As String = "人事档案Label8|人事档案Label9|人事档案Label11|人事档案Label17"
For Each c As String In cr.split("|")
    If e.Form.Controls(c).text <> "0"
        e.Form.Controls(c).ForeColor = color.red
    Else
        e.Form.Controls(c).ForeColor = color.blue
    End If
Next





--  作者:有点蓝
--  发布时间:2019/7/15 22:34:00
--  
代码没有问题。出什么错?
--  作者:江南小镇
--  发布时间:2019/7/16 18:21:00
--  
老师好,打开"员工档案"窗口时报错。
.NET Framework 版本:2.0.50727.8800
Foxtable 版本:2017.4.22.1
错误所在事件:窗口,员工档案,AfterLoad
详细错误信息:
未将对象引用设置到对象的实例。
点击分组框控件也报错

.NET Framework 版本:2.0.50727.8800
Foxtable 版本:2017.4.22.1
错误所在事件:窗口,员工档案,GroupBox1,DoubleClick
详细错误信息:
未将对象引用设置到对象的实例。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:人事档案.rar
 
--  作者:有点蓝
--  发布时间:2019/7/16 20:22:00
--  
……
cmd.CommandText = "SELECT * From {劳动合同} where 劳动合同_到期 = false"
dt = cmd.ExecuteReader()
Dim s As String = ""
For Each dr2 As DataRow In dt.dataRows
    s = s & "\'" & dr2("劳动合同_工号") & "\',"
Next
If s > "" Then
    cmd.CommandText = "select * from {人事档案} where 应聘信息_职位状态 = \'正式\' and 应聘信息_工号 not in (" & s.trim(",") & ") "
    dt = cmd.ExecuteReader()
    e.Form.controls("员工档案Label8").text = dt.Compute("count([_Identify])")
End If

……