Dim s, s1, s2, s3
Select Case Len(cbo_sort1.Text) <> 0
Case Trim(cbo_sort1.Text) = "类别"
s = "item_clsno"
Case Trim(cbo_sort1.Text) = "店内码"
s = "item_no"
Case Trim(cbo_sort1.Text) = "商品名称"
s = "item_name"
Case Trim(cbo_sort1.Text) = "账面数"
s = "stock_qty"
Case Trim(cbo_sort1.Text) = "实盘数"
s = "check_qty"
Case Trim(cbo_sort1.Text) = "盈亏数"
s = "balance_qty"
Case Trim(cbo_sort1.Text) = "进价"
s = "in_price"
Case Trim(cbo_sort1.Text) = "售价"
s = "sale_price"
Case Trim(cbo_sort1.Text) = "进价金额"
s = "in_amount"
Case Trim(cbo_sort1.Text) = "售价金额"
s = "sale_amount"
End Select
NextSelect Case Len(cbo_sort2.Text) <> 0
Case Trim(cbo_sort2.Text) = "类别"
s1 = "item_clsno"
Case Trim(cbo_sort2.Text) = "店内码"
s1 = "item_no"
Case Trim(cbo_sort2.Text) = "商品名称"
s1 = "item_name"
Case Trim(cbo_sort2.Text) = "账面数"
s1 = "stock_qty"
Case Trim(cbo_sort2.Text) = "实盘数"
s1 = "check_qty"
Case Trim(cbo_sort2.Text) = "盈亏数"
s1 = "balance_qty"
Case Trim(cbo_sort2.Text) = "进价"
s1 = "in_price"
Case Trim(cbo_sort2.Text) = "售价"
s = "sale_price"
Case Trim(cbo_sort2.Text) = "进价金额"
s1 = "in_amount"
Case Trim(cbo_sort2.Text) = "售价金额"
s1 = "sale_amount"
End SelectSelect Case Len(cbo_sort3.Text) <> 0
Case Trim(cbo_sort3.Text) = "类别"
s2 = "item_clsno"
Case Trim(cbo_sort3.Text) = "店内码"
s2 = "item_no"
Case Trim(cbo_sort3.Text) = "商品名称"
s2 = "item_name"
Case Trim(cbo_sort3.Text) = "账面数"
s2 = "stock_qty"
Case Trim(cbo_sort3.Text) = "实盘数"
s2 = "check_qty"
Case Trim(cbo_sort3.Text) = "盈亏数"
s2 = "balance_qty"
Case Trim(cbo_sort3.Text) = "进价"
s2 = "in_price"
Case Trim(cbo_sort3.Text) = "售价"
s2 = "sale_price"
Case Trim(cbo_sort3.Text) = "进价金额"
s2 = "in_amount"
Case Trim(cbo_sort3.Text) = "售价金额"
s2 = "sale_amount"
End SelectSelect Case Len(cbo_sort4.Text) <> 0
Case Trim(cbo_sort4.Text) = "类别"
s3 = "item_clsno"
Case Trim(cbo_sort4.Text) = "店内码"
s3 = "item_no"
Case Trim(cbo_sort4.Text) = "商品名称"
s3 = "item_name"
Case Trim(cbo_sort4.Text) = "账面数"
s3 = "stock_qty"
Case Trim(cbo_sort4.Text) = "实盘数"
s3 = "check_qty"
Case Trim(cbo_sort4.Text) = "盈亏数"
s3 = "balance_qty"
Case Trim(cbo_sort4.Text) = "进价"
s3 = "in_price"
Case Trim(cbo_sort4.Text) = "售价"
s3 = "sale_price"
Case Trim(cbo_sort4.Text) = "进价金额"
s3 = "in_amount"
Case Trim(cbo_sort4.Text) = "售价金额"
s3 = "sale_amount"
End SelectMsgBox s + "," + s1 + "," + s2 + "," + s31、如何通过数组及FOR语句简化以上代码?
2、如何使 combbox 无选项时 变量值也为空?
3、如何不通过反复的IF 语句实现,当其中一个变量值为空时,有以下可能的结果:
当 S 为空 ,显示结果为 MsgBox s1 + "," + s2 + "," + s3
当 S1 为空, 显示结果为 MsgBox s + "," + s2 + "," + s3
当 S2 为空, 显示结果为 MsgBox s + "," + s1 + "," + s3
当 S3 为空, 显示结果为 MsgBox s + "," + s1 + "," + s2
当都有值时, 显示结果为 MsgBox s + "," + s1 + "," + s2 + "," + s3
Select Case Len(cbo_sort1.Text) <> 0
Case Trim(cbo_sort1.Text) = "类别"
s = "item_clsno"
Case Trim(cbo_sort1.Text) = "店内码"
s = "item_no"
Case Trim(cbo_sort1.Text) = "商品名称"
s = "item_name"
Case Trim(cbo_sort1.Text) = "账面数"
s = "stock_qty"
Case Trim(cbo_sort1.Text) = "实盘数"
s = "check_qty"
Case Trim(cbo_sort1.Text) = "盈亏数"
s = "balance_qty"
Case Trim(cbo_sort1.Text) = "进价"
s = "in_price"
Case Trim(cbo_sort1.Text) = "售价"
s = "sale_price"
Case Trim(cbo_sort1.Text) = "进价金额"
s = "in_amount"
Case Trim(cbo_sort1.Text) = "售价金额"
s = "sale_amount"
End Select
NextSelect Case Len(cbo_sort2.Text) <> 0
Case Trim(cbo_sort2.Text) = "类别"
s1 = "item_clsno"
Case Trim(cbo_sort2.Text) = "店内码"
s1 = "item_no"
Case Trim(cbo_sort2.Text) = "商品名称"
s1 = "item_name"
Case Trim(cbo_sort2.Text) = "账面数"
s1 = "stock_qty"
Case Trim(cbo_sort2.Text) = "实盘数"
s1 = "check_qty"
Case Trim(cbo_sort2.Text) = "盈亏数"
s1 = "balance_qty"
Case Trim(cbo_sort2.Text) = "进价"
s1 = "in_price"
Case Trim(cbo_sort2.Text) = "售价"
s = "sale_price"
Case Trim(cbo_sort2.Text) = "进价金额"
s1 = "in_amount"
Case Trim(cbo_sort2.Text) = "售价金额"
s1 = "sale_amount"
End SelectSelect Case Len(cbo_sort3.Text) <> 0
Case Trim(cbo_sort3.Text) = "类别"
s2 = "item_clsno"
Case Trim(cbo_sort3.Text) = "店内码"
s2 = "item_no"
Case Trim(cbo_sort3.Text) = "商品名称"
s2 = "item_name"
Case Trim(cbo_sort3.Text) = "账面数"
s2 = "stock_qty"
Case Trim(cbo_sort3.Text) = "实盘数"
s2 = "check_qty"
Case Trim(cbo_sort3.Text) = "盈亏数"
s2 = "balance_qty"
Case Trim(cbo_sort3.Text) = "进价"
s2 = "in_price"
Case Trim(cbo_sort3.Text) = "售价"
s2 = "sale_price"
Case Trim(cbo_sort3.Text) = "进价金额"
s2 = "in_amount"
Case Trim(cbo_sort3.Text) = "售价金额"
s2 = "sale_amount"
End SelectSelect Case Len(cbo_sort4.Text) <> 0
Case Trim(cbo_sort4.Text) = "类别"
s3 = "item_clsno"
Case Trim(cbo_sort4.Text) = "店内码"
s3 = "item_no"
Case Trim(cbo_sort4.Text) = "商品名称"
s3 = "item_name"
Case Trim(cbo_sort4.Text) = "账面数"
s3 = "stock_qty"
Case Trim(cbo_sort4.Text) = "实盘数"
s3 = "check_qty"
Case Trim(cbo_sort4.Text) = "盈亏数"
s3 = "balance_qty"
Case Trim(cbo_sort4.Text) = "进价"
s3 = "in_price"
Case Trim(cbo_sort4.Text) = "售价"
s3 = "sale_price"
Case Trim(cbo_sort4.Text) = "进价金额"
s3 = "in_amount"
Case Trim(cbo_sort4.Text) = "售价金额"
s3 = "sale_amount"
End SelectMsgBox s + "," + s1 + "," + s2 + "," + s31、如何通过数组及FOR语句简化以上代码?
2、如何使 combbox 无选项时 变量值也为空?
3、如何不通过反复的IF 语句实现,当其中一个变量值为空时,有以下可能的结果:
当 S 为空 ,显示结果为 MsgBox s1 + "," + s2 + "," + s3
当 S1 为空, 显示结果为 MsgBox s + "," + s2 + "," + s3
当 S2 为空, 显示结果为 MsgBox s + "," + s1 + "," + s3
当 S3 为空, 显示结果为 MsgBox s + "," + s1 + "," + s2
当都有值时, 显示结果为 MsgBox s + "," + s1 + "," + s2 + "," + s3
Dim i As Long
Dim strText(3) As String
For i = 0 To 3
Select Case Trim(cbo_sort(i).Text)
Case "类别"
strText(i) = "item_clsno"
Case "店内码"
strText(i) = "item_no"
Case "商品名称"
strText(i) = "item_name"
Case "账面数"
strText(i) = "stock_qty"
Case "实盘数"
strText(i) = "check_qty"
Case "盈亏数"
strText(i) = "balance_qty"
Case "进价"
strText(i) = "in_price"
Case "售价"
strText(i) = "sale_price"
Case "进价金额"
strText(i) = "in_amount"
Case "售价金额"
strText(i) = "sale_amount"
End Select
Next
MsgBox strText(0) + "," + strText(1) + "," + strText(2) + "," + strText(3)
'所有combobox的sorted都“不要”设置为true
'注意itm元素与s1元素的对应关系
'因为我用combobox的listindex组结果,
'所有注意listindex与itm元素位置的对应关系Private Sub Command1_Click()
Dim s, s1(9), i%
s1(0) = "item_clsno": s1(1) = "item_no":
s1(2) = "item_name": s1(3) = "stock_qty":
s1(4) = "check_qty": s1(5) = "balance_qty":
s1(6) = "in_price": s1(7) = "sale_price"
s1(8) = "in_amount": s1(9) = "sale_amount"
For i = 1 To 4
If Me("cbo_sort" & i).Text <> "" Then
s = s & s1(Me("cbo_sort" & i).ListIndex) & ","
End If
Next
If s <> "" Then s = Left(s, Len(s) - 1)
MsgBox s
End SubPrivate Sub Form_Load()
Dim i%, j%, itm$(9)
itm(0) = "类别": itm(1) = "店内码"
itm(2) = "商品名称": itm(3) = "账面数"
itm(4) = "实盘数": itm(5) = "盈亏数"
itm(6) = "进价": itm(7) = "售价"
itm(8) = "进价金额": itm(9) = "售价金额"
For i = 0 To 9
If i > 0 And i <= 4 Then Me("cbo_sort" & i).Text = ""
For j = 1 To 4
Me("cbo_sort" & j).AddItem itm(i)
Next j, i
End Sub
select *
from pd_check
order by item_no desc,item_name, item_clno desc也就是每个Combbox 后面都跟一个升降序的判断。
'默认每组option应该选中升序,
'假设option1-option8
'option1和option2一组,
'option3和option4一组
'......Private Sub Command1_Click()
Dim s, s1(9), s2, i%
s1(0) = "item_clsno": s1(1) = "item_no":
s1(2) = "item_name": s1(3) = "stock_qty":
s1(4) = "check_qty": s1(5) = "balance_qty":
s1(6) = "in_price": s1(7) = "sale_price"
s1(8) = "in_amount": s1(9) = "sale_amount"
For i = 1 To 4
If Me("cbo_sort" & i).Text <> "" Then
If Me("option" & (2 * i - 1)).Value Then
s2 = s1(Me("cbo_sort" & i).ListIndex) & " " & "asc"
Else
s2 = s1(Me("cbo_sort" & i).ListIndex) & " " & "desc"
End If
s = s & s2 & ","
End If
Next
If s <> "" Then s = Left(s, Len(s) - 1)
MsgBox s
End SubPrivate Sub Form_Load()
Dim i%, j%, itm$(9)
itm(0) = "类别": itm(1) = "店内码"
itm(2) = "商品名称": itm(3) = "账面数"
itm(4) = "实盘数": itm(5) = "盈亏数"
itm(6) = "进价": itm(7) = "售价"
itm(8) = "进价金额": itm(9) = "售价金额"
For i = 0 To 9
If i > 0 And i <= 4 Then
Me("cbo_sort" & i).Text = ""
Me("option" & (2 * i - 1)).Value = True
End If
For j = 1 To 4
Me("cbo_sort" & j).AddItem itm(i)
Next j, i
End Sub
店内码
商品名称
账面数
实盘数
盈亏数
进价
售价
进价金额
售价金额
类别
店内码
商品名称
账面数
实盘数
盈亏数
进价
售价
进价金额
售价金额2、添加一新项目 该如何添加