以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Index and length must refer to a location within the string. Parameter name: length (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190337) |
-- 作者:nbsugu_z -- 发布时间:2024/2/1 15:09:00 -- Index and length must refer to a location within the string. Parameter name: length Index and length must refer to a location within the string. Parameter name: length
|
-- 作者:nbsugu_z -- 发布时间:2024/2/1 15:10:00 -- 窗口菜单运行时出现提示,是什么问题 |
-- 作者:有点蓝 -- 发布时间:2024/2/1 15:13:00 -- 索引超界。比如一个字符串只有3个字符,却当5个字符来处理,处理不存在的2个字符 |
-- 作者:nbsugu_z -- 发布时间:2024/2/1 15:19:00 -- \'变量定义 Dim r1 As Integer = format(01, "00") Dim zn As Integer \'总库年份 Dim zy As Integer \'总库月份 Dim dn As Integer \'当月年份 Dim dy As Integer \'当月月份 zn = Tables("wy_gt").Compute("Max(yy)") \'提取总库最大的年份 zy = Tables("wy_gt").Compute("Max(yy1)", "yy=" & zn) \'提取总库最大年份中的最大月份 zn = Tables("wy_gt").Compute("Max(yy)") \'提取当月库最大的年份 dn = Tables("wy_gt0").Compute("Max(yy)") \'提取当月最大年份中的最大月份 dy = Tables("wy_gt0").Compute("Max(yy1)", "yy=" & dn) \'年份 + 月份以整数计算 Dim cmd As New SQLCommand Dim dt1 As Date cmd.C cmd.CommandText = "Select GetDate()" dt1 = cmd.ExecuteScalar() dt1 = dt1.Date Dim year1 As Integer = dt1.Year Dim month1 As Integer = dt1.Month Dim xtrq As String = year1 & format(month1, "00") & Format (r1, "00") Dim zny As String = zn & format(zy, "00") & Format (r1, "00") Dim dny As String = dn & format(dy, "00") & Format (r1, "00") Dim dx As Date = xtrq.SubString(0, 4) & "-" & xtrq.SubString(4, 2) & "-" & xtrq.SubString(6, 2) Dim dz As Date = zny.SubString(0, 4) & "-" & zny.SubString(4, 2) & "-" & zny.SubString(6, 2) Dim dd As Date = dny.SubString(0, 4) & "-" & dny.SubString(4, 2) & "-" & dny.SubString(6, 2) If dd = dx.AddMonths( - 1) Then Tables("cbd").AllowEdit = True DataTables("cbd").DeleteFor("") Dim dlg As New OpenFileDialog dlg.InitialDirectory = "C:\\Users\\Administrator\\Downloads" \'初始路径为桌面 dlg.Filter = "Excel文件|*.xls;*.xlsx" If dlg.ShowDialog =DialogResult.OK Then Dim t As Table = Tables("cbd") t.StopRedraw() Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) Dim newcount As Integer = 0 Dim oldcount As Integer = 0 For n As Integer = 1 To Sheet.Rows.Count -1 Dim r As DataRow = t.DataTable.Find("表地址= \'" & sheet(n, 5).text & "\'") If r Is Nothing Then r = t.DataTable.AddNew() newcount += 1 Else oldcount += 1 End If For i As Integer = 0 To sheet.Cols.Count -1 Dim cname As String = sheet(0, i).text If t.Cols.Contains(cname) Then If t.Cols(cname).IsBoolean Then If sheet(n, i).Text = 1 OrElse sheet(n, i).Text = "true" Then r(cname) = True Else r(cname) = False End If Else r(cname) = sheet(n, i).Text End If End If Next Next msgbox("新增" & newcount & " " & "更新旧数据" & oldcount) t.ResumeRedraw() End If DataTables("cbd").Save() Tables("cbd").AllowEdit=False \'以下将遍历抄表单表地址并将累计使用量填入到CPD0中的bqds(本期度数) Dim w As DataRow For Each dr As DataRow In DataTables("wy_cpd0").DataRows w = DataTables("cbd").Find("表地址= \'"& dr("表地址") & "\'") If w IsNot Nothing Then dr("bqds") = w("累计使用量") End If Next msgbox("已完成" ) DataTables("wy_cpd0").Save Else
|
-- 作者:有点蓝 -- 发布时间:2024/2/1 15:22:00 -- 应该是下面代码的问题,比如xtrq这些变量的数据字符长少于8个的时候就会出错 Dim dx As Date = xtrq.SubString(0, 4) & "-" & xtrq.SubString(4, 2) & "-" & xtrq.SubString(6, 2) Dim dz As Date = zny.SubString(0, 4) & "-" & zny.SubString(4, 2) & "-" & zny.SubString(6, 2) Dim dd As Date = dny.SubString(0, 4) & "-" & dny.SubString(4, 2) & "-" & dny.SubString(6, 2) |
-- 作者:nbsugu_z -- 发布时间:2024/8/1 10:43:00 -- For n As Integer = 1 To Sheet.Rows.Count -1 Dim r As DataRow = t.DataTable.Find("表地址= \'" & sheet(n, 5).text & "\'") If r Is Nothing Then r = t.DataTable.AddNew() newcount += 1 Else 老师,请问这个第2行的是什么意思?"表地址= \'" & sheet(n, 5).text & "\'") 里面有个“5”是什么意思
|
-- 作者:有点蓝 -- 发布时间:2024/8/1 10:59:00 -- 表示execl表格里第n行第6列:http://www.foxtable.com/webhelp/topics/1144.htm 四、获得指定位置的单元格 单元格的类型为XLS.Cell,通过行号和列号可以获得指定位置的单元格,例如 Dim Book As New XLS.Book 变量Cell引用的是第二行第三列位置的单元格。 单元格会自动创建,例如: Dim Book As New XLS.Book 变量Cell引用的是第100行第100列位置的单元格,如果不存在该单元格,则工作表自动扩展到100行100列 |