此程序是结合fpspread控件进行编写.这是一个*.bas标准模块的部分代码,Public Sub SetGridStyle3(ByRef SS As fpSpread, Optional ByVal Show3DAppearence As Boolean)
Dim FStartTrans As Boolean
Dim Conn As String
' Dim Cn As ADODB.Connection
Dim Cn As New ADODB.Connection
Dim rsTemp As ADODB.Recordset
Dim i As Integer
Dim a() As Integer
Dim j As Integer
On Error GoTo Err
FStartTrans = False
Conn = "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=AIS20090413124017;Data Source=JINDEEE"
With Cn
.ConnectionString = Conn
.Open
.CursorLocation = adUseClient
'开始事务
.BeginTrans
FStartTrans = True
.Execute "Create Table #T (Fid Int identity(1,1)," & _
"FBillNo Varchar(50), " & _
"FDate DateTime, " & _
"FCustNumber Varchar(100), " & _
"FCustName Varchar(100), " & _
"FEmp Varchar(100), " & _
"FDescription VarChar(500))"
.Execute "Insert Into #T(FBillNo,FDate,FCustNumber,FCustName,FEmp,FDescription) " & _
"select fbillno 单据编号,fdate 日期,cust.fnumber 客户编码,cust.fname 客户名称,emp.fname 业务员,fbigtext 详细描述 " & _
"from t_BOS220000003 a " & _
"inner join t_item cust on a.fcust=cust.fitemid " & _
"inner join t_item emp on a.femp=emp.fitemid " & _
"where a.fcust='" & lngCustCust & "' and a.femp='" & lngEmpEmp & "' Order by a.FDate"
Set rsTemp = .Execute("Select Fid as '标识值',FBillNo as '单据编号',FDate as '日期',FCustNumber as '客户编码',FCustName as '客户名称',FEmp as '业务员',FDescription as '详细描述' " & _
"From #T Where FDate = '" & BegTime & "' Order By Fid ")
.Execute " Drop Table #T "
.CommitTrans
FStartTrans = False
End With
With SS
If rsTemp.RecordCount > 0 Then
ReDim a(rsTemp.RecordCount) As Integer
ReDim IntArray(i) As Integer
For i = 1 To rsTemp.RecordCount
a(i) = rsTemp.Fields("标识值")
.Row = a(i)
For j = 1 To frmSelMO_List.SS.MaxCols
.Col = j
.BackColor = vbRed
.SelBackColor = vbGrayText
.SelForeColor = vbWhite '选中格、行前景颜色
.GrayAreaBackColor = vbWhite '死区颜色
Next
rsTemp.MoveNext
Next
Else
......
......
Err:
Set rsTemp = Nothing
If FStartTrans = True Then
Cn.RollbackTrans
Cn.Close
End If
MsgBox Err.Description, vbCritical, "金蝶提示"
End Sub
我需要把红字体的数组取出来,以达到其他的Sub过程可以使用此数组的元素.如何编写?
Dim FStartTrans As Boolean
Dim Conn As String
' Dim Cn As ADODB.Connection
Dim Cn As New ADODB.Connection
Dim rsTemp As ADODB.Recordset
Dim i As Integer
Dim a() As Integer
Dim j As Integer
On Error GoTo Err
FStartTrans = False
Conn = "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=AIS20090413124017;Data Source=JINDEEE"
With Cn
.ConnectionString = Conn
.Open
.CursorLocation = adUseClient
'开始事务
.BeginTrans
FStartTrans = True
.Execute "Create Table #T (Fid Int identity(1,1)," & _
"FBillNo Varchar(50), " & _
"FDate DateTime, " & _
"FCustNumber Varchar(100), " & _
"FCustName Varchar(100), " & _
"FEmp Varchar(100), " & _
"FDescription VarChar(500))"
.Execute "Insert Into #T(FBillNo,FDate,FCustNumber,FCustName,FEmp,FDescription) " & _
"select fbillno 单据编号,fdate 日期,cust.fnumber 客户编码,cust.fname 客户名称,emp.fname 业务员,fbigtext 详细描述 " & _
"from t_BOS220000003 a " & _
"inner join t_item cust on a.fcust=cust.fitemid " & _
"inner join t_item emp on a.femp=emp.fitemid " & _
"where a.fcust='" & lngCustCust & "' and a.femp='" & lngEmpEmp & "' Order by a.FDate"
Set rsTemp = .Execute("Select Fid as '标识值',FBillNo as '单据编号',FDate as '日期',FCustNumber as '客户编码',FCustName as '客户名称',FEmp as '业务员',FDescription as '详细描述' " & _
"From #T Where FDate = '" & BegTime & "' Order By Fid ")
.Execute " Drop Table #T "
.CommitTrans
FStartTrans = False
End With
With SS
If rsTemp.RecordCount > 0 Then
ReDim a(rsTemp.RecordCount) As Integer
ReDim IntArray(i) As Integer
For i = 1 To rsTemp.RecordCount
a(i) = rsTemp.Fields("标识值")
.Row = a(i)
For j = 1 To frmSelMO_List.SS.MaxCols
.Col = j
.BackColor = vbRed
.SelBackColor = vbGrayText
.SelForeColor = vbWhite '选中格、行前景颜色
.GrayAreaBackColor = vbWhite '死区颜色
Next
rsTemp.MoveNext
Next
Else
......
......
Err:
Set rsTemp = Nothing
If FStartTrans = True Then
Cn.RollbackTrans
Cn.Close
End If
MsgBox Err.Description, vbCritical, "金蝶提示"
End Sub
我需要把红字体的数组取出来,以达到其他的Sub过程可以使用此数组的元素.如何编写?
解决方案 »
- 菜鸟请教:vb程序与射频卡通过hid通信问题
- 有偿请熟练程序员,写个学生管理信息的小程序!
- 请教用VB来做BT的服务端和客户端问题。。。。急
- 小菜应聘时的一道题!希望大家接触一下!
- 怎样打印ole控件中的对象???
- VB2008生成的exe只能在Vista和WIN7上使用。请问如何使它兼容XP
- MediaPlayer控件的问题
- 急急急:如何在VB程序中实现将ZIP文件解压开来 斑主一定要帮我啊!
- 在vb中如何在一个窗体中调用另个一个窗体,且把该窗体放在一个容器控件(如frame)中,
- 再次求救一个问题:谁有好的(没有BUG的)RICHTEXTBOX控件?解决了我再给160分!
- 有这样的文本数据,我想程序界面上的文本框里输入一个帐号,然后可以查出这个帐号对应的查询笔数,取现笔数,以及交易金额。用哪种方式效率比较高
- 新手请教VB问题
Public Sub SetGridStyle3(ByRef SS As fpSpread, Optional ByVal Show3DAppearence As Boolean,ParamArray a() as Integer)
这样满足你的要求?
我找到了解决办法
第一步,Private a() as Integer
Option Base 1
第二步,For Intk=LBound(a) To UBound(a)
MsgBox a(IntK)
可以得到我要的结果