VB代碼為:
If TraceabilityFlg = 1 Then
TMsgTxt = TraceabilityRCheck()
If Len(TMsgTxt) <> 0 Then
MsgBox grdMain.Columns("CD").Value & "號未設定、" _
& vbCrLf & "請設定", vbInformation + vbOKOnly + vbDefaultButton1
Exit Sub
End If
TMsgTxt = TraceabilityZCheck()
If Len(TMsgTxt) <> 0 Then
MsgBox grdMain.Columns("CD").Value & "號未設定、" _
& vbCrLf & "請設定", vbInformation + vbOKOnly + vbDefaultButton1
Exit Sub
End If
End If
這里的grdMain.Columns("CD")應該是表格控制元件TDGrid的某一行的列名為"CD"的資料,那么指的是哪一行的CD?
uj5u.com熱心網友回復:
當前行.Row 屬性?
uj5u.com熱心網友回復:
是這個grdMain.Columns("CD"),這個代表的是什么?當前列?
uj5u.com熱心網友回復:
使用 Columns(index) 可回傳一個 Column 物件。全部顯示
回傳集合中的物件
請參閱特性
Item 屬性回傳集合中的單個物件。下例將變數 firstBook 設定為代表第一個作業簿的 Workbook 物件。
Set FirstBook = Workbooks.Item(1)
Item 屬性是大多數集合的默認屬性,因此通過省略 Item 關鍵字,可將相同的陳述句簡化。
Set FirstBook = Workbooks(1)
有關特定集合的詳細資訊,請參閱該集合或該集合的 Item 屬性的“幫助”主題。
命名物件
雖然通常可用 Item 屬性指定一個整數值,但使用物件的名稱可能更為方便。在將名稱與 Item 屬性配合使用前,必須先為物件命名。命名物件最常用的方法是設定物件的 Name 屬性。下例在活動作業簿中創建了一個命名作業表,然后用名稱參考該作業表。
ActiveWorkbook.Worksheets.Add.Name = "A New Sheet"
With Worksheets("A New Sheet")
.Range("A5:A10").Formula = "=RAND()"
End With
預定義索引值
有些集合有預定義的索引值,可用于回傳單個物件。每一個預定義索引值用一個常量表示。例如,可用 Borders 集合的 Item 屬性指定 XlBordersIndex 常量,以回傳單個邊框。
下例將 Sheet1 中單元格區域 A1:G1 的底部邊框設定為雙線。
Worksheets("Sheet1").Range("A1:A1"). _
Borders.Item(xlEdgeBottom).LineStyle = xlDouble
uj5u.com熱心網友回復:
您好,您指的全部顯示名就相當于這個grdMain.Columns("CD").Value是名字為"CD"的這一列的全部資料嗎?比如說CD這一列是5行資料,分別是101,102,103,104,105.那么grdMain.Columns("CD")是這個列的集合嗎?grdMain.Columns("CD")相當于101,102,103,104,105嗎?那么.Value又代表什么呢?
uj5u.com熱心網友回復:
注釋掉所有On Error Resume Next陳述句,在VBA IDE中運行,出錯后點擊除錯或設斷點后點擊運行,游標會停在出錯或命中斷點的那條陳述句處,此時可以在立即視窗中使用?變數名
或
?函式名(函式引數)
或
程序名(引數)
輔助除錯。
uj5u.com熱心網友回復:
這個是10年前的程式員開發的程式,開發的人也不在公司了。VB程式已經不能運行了,只有代碼,現在是把這個VB版本改成C#版本,因此需要知道這個意思,不能除錯。
uj5u.com熱心網友回復:
不能除錯的源代碼還叫源代碼嗎?
uj5u.com熱心網友回復:
.Row 屬性指定當前的行號(從0起始).Columns("CD").Value 存取當前行的 CD 列單元的值。
其中 CD 可以是系結記錄的欄位名、也可以是列標題文本;至于是哪種引數,你得自己分析了。
uj5u.com熱心網友回復:
您好,您說的當前行是肯定得有個什么事件之類的觸發才會產生當前行吧?比如說點擊了滑鼠左鍵之類的,我這個也確實是點擊了一個按鈕呼叫到了這里的代碼,但是代碼里的這種寫法讓我不知道取得是哪一行的CD,如果說是點擊了某一行TDBGrid的某一行呼叫了這個代碼我能理解,那樣的話這一行應該指的是點擊的這一行的CD,但是我這里并不是點擊TDBGrid呼叫的這個代碼。您那邊有相關的使用.Columns("XXX")例子可以給出一段代碼嗎?
uj5u.com熱心網友回復:
像這種去回圈的我能理解:

但是直接寫.Columns("CD").Value這個寫法很顯然是取名字叫做CD的那一列的value,這個value是一個值不是多個值,那么一個值的話是哪一行的值就困惑了,這里又沒有回圈。
uj5u.com熱心網友回復:
如下代碼的Exit Do讓我明白了,其實那個.Columns("CD").Value取得是方法TraceabilityZCheck() 中的ChkStr,這個值是單個的值,取到就跳出回圈了。謝謝!
Private Function TraceabilityZCheck() As String
Dim m_rs As ADODB.Recordset
Dim ChkStr As String
On Error GoTo Err_Handler
TraceabilityZCheck = ""
ChkStr = ""
Set m_rs = m_rsDirect.Clone(adLockReadOnly)
Do Until m_rs.EOF = True
If (m_rs.Fields("數量").Value <> "") _
And (IsNull(m_rs.Fields("重量").Value) Or m_rs.Fields("重量").Value = "") _
Then
ChkStr = ChkStr + CStr(m_rs.Fields("CD"))
Exit Do
End If
m_rs.MoveNext
Loop
Call ReleaseRecordset(m_rs)
TraceabilityZCheck = ChkStr
Exit Function
End Function 'TraceabilityZCheck
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/65402.html
標籤:VB基礎類
