行番号の並べ替えに問題があります。私のコードはこのように出力されます
(801;802;803;804;805;806;807;808-814(1);808-814(2);815;;;;;;;;;;;;;;;;;840)
その区切り文字は840までループします。
Dim sqlline As DataTable = MyDB.ExecCommand("SELECT `Line Number` from `" + cboJob.Text + "` WHERE `Orig Document Begin ID`='" + mData.Rows(z).Item(0).ToString.Trim + "' ORDER BY `Line Number`", "wellsfargo").Tables(0)
For q As Integer = 0 To sqlline.Rows.Count - 1
If sqlline.Rows.Count <> 0 Then
If q = 0 Then
lNum = sqlline.Rows(q).Item(0).ToString
Else
lNum += IIf(dZ.Rows(q).Item(13).ToString <> "", ";" + sqlline.Rows(q).Item(0).ToString, ";")
End If
'lNum += IIf(sqlline.Rows(q).Item(0).ToString <> "", ";" + sqlline.Rows(q).Item(0).ToString, "")
End If
Next
しかし、私は私の出力がこのようになることを望んでいます。
(801;802;803;804;805;806;807;815;;;;;;;;;;;;;;;;;;;;;840;808-814(1);808-814(2))
したがって、すべての行番号が最後になります。
今..編集私は、単一の行番号の最後に空白の区切り文字を置くために、このコードを持っています:
Dim sCont As String = ""
If dZ.Rows.Count < 40 Then
Dim iCont As Integer = 40 - dZ.Rows.Count
For c As Integer = 0 To iCont - 1
If c = 0 Then
sCont = ";"
Else
sCont += ";"
End If
Next
'Loop then Concatinate strings for each field value.
ElseIf dZ.Rows.Count = 40 Then
'Loop as is...
End If
Dim sVal As String()
If dZ.Rows.Count < 40 Then
sVal = (OrgDocbeg + "■" + _
OrgDocend + "■" + _
BEGDOC + "■" + _
ENDDOC + "■" + _
LoanNum + "■" + _
PCount + "■" + _
Path + "■" + _
FNum + "■" + _
sDate + "■" + _
StrConv(LNF, VbStrConv.ProperCase) + "■" + _
lNum + sCont + "■" + _
sDesc + sCont + "■" + _
StrConv(Amount, VbStrConv.ProperCase).Replace("Poc", "POC").Replace(".00.00", "") + sCont + "■" + _
sPay.Replace("^", "").Replace(" Of ", " of ").Replace(" And ", " and ").Replace(" And/or", " and/or").Replace(" By ", " by ").Replace(" 2Nd ", " 2nd ").Replace(" 3Rd ", " 3rd ") + sCont + "■" + _
sBorrow.Replace("$.00", "$0.00") + sCont + "■" + _
sSell + sCont + "■" + _
ProsBor + sCont + "■" + _
ProSell + sCont).Split("■")
Else
sVal = (OrgDocbeg + "■" + _
OrgDocend + "■" + _
BEGDOC + "■" + _
ENDDOC + "■" + _
LoanNum + "■" + _
PCount + "■" + _
Path + "■" + _
FNum + "■" + _
sDate + "■" + _
StrConv(LNF, VbStrConv.ProperCase) + "■" + _
lNum + "■" + _
sDesc + "■" + _
sPay.Replace("^", "").Replace(" Of ", " of ").Replace(" And ", " and ").Replace(" And/or", " and/or").Replace(" By ", " by ").Replace(" 2Nd ", " 2nd ").Replace(" 3Rd ", " 3rd ") + "■" + _
StrConv(Amount, VbStrConv.ProperCase).Replace("Poc", "POC").Replace("$.", "$0.") + "■" + _
sBorrow.Replace("$.", "$0.") + "■" + _
sSell.Replace("$.", "$0.") + "■" + _
ProsBor.Replace("$.", "$0.") + "■" + _
ProSell.Replace("$.", "$0.")).Split("■")
End If
しかし、私の出力は間違っています:
801;802;803;804;;;;;;;;808 - 817(1);808 - 817(2);808 - 817(3);808 - 817(4);808 - 817(5);808 - 817(6);;;;;;;;;;;;;;;;;;;;;;;
行番号に範囲がある場合、出力は次のようになります(840までの区切り文字が必要です)
801;802;803;804;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;808 - 817(1);808 - 817(2);808 - 817(3);808 - 817(4);808 - 817(5);808 - 817(6)
しかし、範囲がない場合、正しい出力は次のようになります
801;802;803;804