假设现在有两组数组 Module(i) Failure(i,j) 数组数量不定
departopcap是一个变量值需要在数据库里做如下条件的SQL查询
Select [Failure Code].[Engine Type], [Failure Code].Department, [Failure Code].[Module], [Failure Code].FC, [Failure Code].OPN, V2500.PN
From [Failure Code] Left Join V2500 ON ([Failure Code].OPN = V2500.OPN) And ([Failure Code].[Module]=V2500.[Module])
Where [Failure Code].[Engine Type]="V2500" And [Failure Code].Department=departopcap And [Failure Code].[Module]=Module(i) And [Failure Code].FC=Failure(i,j)查询到的结果会满足
Module(0) Failure(0,0)或Failure(0,1)或Failure(0,2)...或Failure(0,l) '循环到Failure(0,l+1)为空值
Module(1) Failure(1,0)或Failure(1,1)或Failure(1,2)...或Failure(1,m) '循环到Failure(0,m+1)为空值
...
...
Module(i) Failure(i,0)或Failure(i,1)或Failure(i,2)...或Failure(i,n) '循环到Failure(0,n+1)为空值的所有记录条件请问这个循环语句在VB里应该怎么写呢?
departopcap是一个变量值需要在数据库里做如下条件的SQL查询
Select [Failure Code].[Engine Type], [Failure Code].Department, [Failure Code].[Module], [Failure Code].FC, [Failure Code].OPN, V2500.PN
From [Failure Code] Left Join V2500 ON ([Failure Code].OPN = V2500.OPN) And ([Failure Code].[Module]=V2500.[Module])
Where [Failure Code].[Engine Type]="V2500" And [Failure Code].Department=departopcap And [Failure Code].[Module]=Module(i) And [Failure Code].FC=Failure(i,j)查询到的结果会满足
Module(0) Failure(0,0)或Failure(0,1)或Failure(0,2)...或Failure(0,l) '循环到Failure(0,l+1)为空值
Module(1) Failure(1,0)或Failure(1,1)或Failure(1,2)...或Failure(1,m) '循环到Failure(0,m+1)为空值
...
...
Module(i) Failure(i,0)或Failure(i,1)或Failure(i,2)...或Failure(i,n) '循环到Failure(0,n+1)为空值的所有记录条件请问这个循环语句在VB里应该怎么写呢?
解决方案 »
- 怎么处理不固定空格问题
- 要做一个Combo控件,能不能把它的菜单放置到右边显示,而不是在下面显示呢????
- 如何用代码设置list的控件来源 在ACCESS中
- VB关于XML的简单问题请教
- possmessage 发送回车问题
- 帮助文档的问题
- InStr(buffer$, Chr(112)) ,请问一下此函数什么意思?返回什么值??来者有分。。
- 一个向数据表中插入数据的问题,请各位帮忙。
- 各位大虾请进!!!急急急!!!在线等待!!!
- 提一个在窗体上显示ACCESS2000库中的图片的问题,请知道的朋友办忙回答一下
- 菜鸟问题:ADO RECORDSET 数据集 操作
- 求助:怎么枚举系统中已经安装的字体
主要是那段WHERE的筛选条件怎么用一个循环添加所有的条件?
Dim sql As String, departopcap As String
departopcap = "HHHHHHH"
Dim Module(1) As String
Dim Failure(1, 2) As String
Module(0) = "xx1"
Module(1) = "xx2"
Failure(0, 0) = "yy00"
Failure(0, 1) = "yy01"
Failure(0, 2) = "yy02"
Failure(1, 0) = "yy10"
Failure(1, 1) = "yy11"
Failure(1, 2) = "yy12"sql = "Select [Failure Code].[Engine Type], [Failure Code].Department, " & _
"[Failure Code].[Module], [Failure Code].FC, [Failure Code].OPN, V2500.PN " & _
"From [Failure Code] Left Join V2500 ON ([Failure Code].OPN = V2500.OPN) " & _
"And ([Failure Code].[Module]=V2500.[Module]) Where [Failure Code].[Engine Type] = ""V2500"" " & _
"And [Failure Code].Department = '" & departopcap & "' And "
Dim i As Integer, j As Integer, tmp1 As String, tmp2 As String, sql1 As String
For i = 0 To UBound(Module)
tmp1 = tmp1 & "[Failure Code].[Module] = '" & Module(i) & "' And "
For j = 0 To UBound(Failure, 2)
tmp2 = tmp2 & "[Failure Code].FC = '" & Failure(i, j) & "' Or "
Next
tmp2 = "(" & Left(tmp2, Len(tmp2) - 4) & ")"
sql1 = sql1 & sql & tmp1 & tmp2 & " union "
tmp1 = "": tmp2 = ""
Next
sql1 = Left(sql1, Len(sql1) - 7)
Debug.Print sql1
End Sub