以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]父表与子表同步加载,加载子表报错。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=30303)

--  作者:智友软件工作室
--  发布时间:2013/3/25 15:14:00
--  [求助]父表与子表同步加载,加载子表报错。
主表的AfterLoad事件:
\'加载售出配件明细
If  DataTables("维修工单").DataRows.Count = 0 Then \'如果订单表没有数据
    DataTables("售出配件").LoadFilter = "工单编号 Is Null" \'不加载订单明细
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("维修工单").DataRows
        ids = ids & "," & dr("工单编号")
    Next
    ids= ids.Trim(",")
    DataTables("售出配件").LoadFilter = "工单编号 In (" & ids & ")"
End If
DataTables("售出配件").Load()
报错内容:
.NET Framework 版本:2.0.50727.6400
Foxtable 版本:2012.11.29.1
错误所在事件:
详细错误信息:
System.Data.OleDb.OleDbException: Invalid column name \'GLY130317999成永兵\'.
Invalid column name \'GLY130317998成永兵\'.
Invalid column name \'GLY130317997成永兵\'.
Invalid column name \'GLY130317996成永兵\'.
Invalid column name \'GLY130317995成永兵\'.
Invalid column name \'GLY130317994成永兵\'.
Invalid column name \'GLY130317993成永兵\'.
Invalid column name \'GLY130317992成永兵\'.
Invalid column name \'GLY130317991成永兵\'.
Invalid column name \'GLY130317990成永兵\'.
Invalid column name \'GLY130317989成永兵\'.
Invalid column name \'GLY130317988成永兵\'.
Invalid column name \'GLY130317987成永兵\'.
Invalid column name \'GLY130317986成永兵\'.
Invalid column name \'GLY130317985成永兵\'.
Invalid column name \'GLY130317984成永兵\'.
Invalid column name \'GLY130317983成永兵\'.
Invalid column name \'GLY130317982成永兵\'.
Invalid column name \'GLY130317981成永兵\'.
Invalid column name \'GLY130317980成永兵\'.
Invalid column name \'GLY130317979成永兵\'.
Invalid column name \'GLY130317978成永兵\'.
Invalid column name \'GLY130317977成永兵\'.
Invalid column name \'GLY130317976成永兵\'.
Invalid column name \'GLY130317975成永兵\'.
Invalid column name \'GLY130317974成永兵\'.
Invalid column name \'GLY130317973成永兵\'.
Invalid column name \'GLY130317972成永兵\'.
Invalid column name \'GLY130317971成永兵\'.
Invalid column name \'GLY130317970成永兵\'.
Invalid column name \'GLY130317969成永兵\'.
Invalid column name \'GLY130317968成永兵\'.
Invalid column name \'GLY130317967成永兵\'.
Invalid column name \'GLY130317966成永兵\'.
Invalid column name \'GLY130317965成永兵\'.
Invalid column name \'GLY130317964成永兵\'.
Invalid column name \'GLY130317963成永兵\'.
Invalid column name \'GLY130317962成永兵\'.
Invalid column name \'GLY130317961成永兵\'.
Invalid column name \'GLY130317960成永兵\'.
Invalid column name \'GLY130317959成永兵\'.
Invalid column name \'GLY130317958成永兵\'.
Invalid column name \'GLY130317957成永兵\'.
Invalid column name \'GLY130317956成永兵\'.
Invalid column name \'GLY130317955成永兵\'.
Invalid column name \'GLY130317954成永兵\'.
Invalid column name \'GLY130317953成永兵\'.
Invalid column name \'GLY130317952成永兵\'.
Invalid column name \'GLY130317951成永兵\'.
Invalid column name \'GLY130317950成永兵\'.
Invalid column name \'GLY130317949成永兵\'.
Invalid column name \'GLY130317948成永兵\'.
Invalid column name \'GLY130317947成永兵\'.
Invalid column name \'GLY130317946成永兵\'.
Invalid column name \'GLY130317945成永兵\'.
Invalid column name \'GLY130317944成永兵\'.
Invalid column name \'GLY130317943成永兵\'.
Invalid column name \'GLY130317942成永兵\'.
Invalid column name \'GLY130317941成永兵\'.
Invalid column name \'GLY130317940成永兵\'.
Invalid column name \'GLY130317939成永兵\'.
Invalid column name \'GLY130317938成永兵\'.
Invalid column name \'GLY130317937成永兵\'.
Invalid column name \'GLY130317936成永兵\'.
Invalid column name \'GLY130317935成永兵\'.
Invalid column name \'GLY130317934成永兵\'.
Invalid column name \'GLY130317933成永兵\'.
Invalid column name \'GLY130317932成永兵\'.
Invalid column name \'GLY130317931成永兵\'.
Invalid column name \'GLY130317930成永兵\'.
Invalid column name \'GLY130317929成永兵\'.
Invalid column name \'GLY130317928成永兵\'.
Invalid column name \'GLY130317927成永兵\'.
Invalid column name \'GLY130317926成永兵\'.
Invalid column name \'GLY130317925成永兵\'.
Invalid column name \'GLY130317924成永兵\'.
Invalid column name \'GLY130317923成永兵\'.
Invalid column name \'GLY130317922成永兵\'.
Invalid column name \'GLY130317921成永兵\'.
Invalid column name \'GLY130317920成永兵\'.
Invalid column name \'GLY130317919成永兵\'.
Invalid column name \'GLY130317918成永兵\'.
Invalid column name \'GLY130317917成永兵\'.
Invalid column name \'GLY130317916成永兵\'.
Invalid column name \'GLY130317915成永兵\'.
Invalid column name \'GLY130317088成永兵\'.
Invalid column name \'WD130317001蔡斌域\'.
Invalid column name \'WD130317002蔡斌域\'.
Invalid column name \'GLY130317089成永兵\'.
Invalid column name \'ZB130325001沈洁\'.
   在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
   在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
   在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
   在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   在 System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
   在 System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   在 Foxtable.DataTable.Load(Boolean Ol1l10O1)
请问什么原因呢?

--  作者:狐狸爸爸
--  发布时间:2013/3/25 15:29:00
--  

你的工单编号是字符型的吧?  如果是字符型,应该:

 

If  DataTables("维修工单").DataRows.Count = 0 Then \'如果订单表没有数据
    DataTables("售出配件").LoadFilter = "工单编号 Is Null" \'不加载订单明细
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("维修工单").DataRows
        ids = ids & ",\'" & dr("工单编号") & "\'"
    Next
    ids= ids.Trim(",")
    DataTables("售出配件").LoadFilter = "工单编号 In (" & ids & ")"
End If
DataTables("售出配件").Load()


--  作者:晕了快扶我
--  发布时间:2013/3/25 15:30:00
--  
   ids = ids & ",\'" & dr("工单编号") & "\'" 
    Next
    ids= ids.Trim(",")
    DataTables("售出配件").LoadFilter = "工单编号 In (" & ids & ")"

--  作者:智友软件工作室
--  发布时间:2013/3/25 15:41:00
--  
以下是引用狐狸爸爸在2013-3-25 15:29:00的发言:

你的工单编号是字符型的吧?  如果是字符型,应该:

 

If  DataTables("维修工单").DataRows.Count = 0 Then \'如果订单表没有数据
    DataTables("售出配件").LoadFilter = "工单编号 Is Null" \'不加载订单明细
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("维修工单").DataRows
        ids = ids & ",\'" & dr("工单编号") & "\'"
    Next
    ids= ids.Trim(",")
    DataTables("售出配件").LoadFilter = "工单编号 In (" & ids & ")"
End If
DataTables("售出配件").Load()

谢谢 确实是,帮助文档是按照整数型做的吗?