English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

小弟有一個表單中的兩個欄位用清單的方式表示
供應商 供應商產品........程式碼如下
但現再發現一個問題
供應商產品欄位 無法排序...也就是說 當我去供應商那邊新增產品資料後....在這邊選取時..新的資料都在最下面...無法排序..請問程式碼需要作何修改
## 供應商欄位新增後 有排序...但是供應商產品欄位沒排序...#
我有去供應商產品欄位看屬性..並進入資料來源中將需要的欄位排序設為遞增..結果無效....我想應該是要在下面的vba中修改語法...請會的指點一下@@
...................................................
Option Compare Database
Private Sub Form_Current()
If Me.RecordSelectors = True Then
DS = "SELECT 供應商.供應商, 供應商.[NO] FROM 供應商 " _
& "GROUP BY 供應商.供應商, 供應商.[NO] ORDER BY 供應商.供應商;"
With Me!供應商
.RowSourceType = "Table/Query"
.RowSource = DS
.ColumnCount = 2
.ColumnWidths = "2Cm;0Cm;"
End With
gs = Me!供應商.Column(1)
S3 = " SELECT 供應商產品.名稱, 供應商產品.單位, 供應商產品.單價, 供應商產品.供應商NO, 供應商產品.[NO]" _
& " FROM 供應商產品 WHERE 供應商產品.供應商NO Like " & gs & ";"
Me!廠商編號.RowSource = ""
Me!廠商編號.RowSource = S3
Me!廠商編號.Requery
End If
End Sub
.............................................................
Private Sub 廠商編號_Enter()
If IsNull(Me!供應商) = True Or Me!供應商 = "" Then Me!供應商.SetFocus
End Sub
............................................................
Private Sub 供應商_Click()
s2 = Me!供應商.Column(1)
S3 = " SELECT 供應商產品.名稱, 供應商產品.單位, 供應商產品.單價, 供應商產品.供應商NO, 供應商產品.[NO]" _
& " FROM 供應商產品 WHERE 供應商產品.供應商NO Like " & s2 & ";"

Me!廠商編號.RowSource = ""
Me!廠商編號.RowSource = S3
Me!廠商編號.Requery
End Sub
.......................................

2007-01-17 10:14:31 · 2 個解答 · 發問者 心已冷 5 in 電腦與網際網路 軟體

謝謝兩位解答...如回信所寫後面加上ORDER....並沒有作用耶..好奇怪

2007-01-17 12:35:14 · update #1

不太了解 哪裡的變數要改...VBA我還不太會 能交我一下嗎??

2007-01-17 16:49:31 · update #2

2 個解答

請比較一下這二個的差別
DS = "SELECT 供應商.供應商, 供應商.[NO] FROM 供應商 " & "GROUP BY 供應商.供應商, 供應商.[NO] ORDER BY 供應商.供應商;"
S3 = " SELECT 供應商產品.名稱, 供應商產品.單位, 供應商產品.單價, 供應商產品.供應商NO, 供應商產品.[NO]" & " FROM 供應商產品 WHERE 供應商產品.供應商NO Like " & s2 & ";"

---------------------
請注意紅色的部份, 你的供應商因為用了order by, 所以可以排序, 但是供應商產品則沒有, 所以你只要在S3的SQL指令中加入 ORDER BY就行了.
S3 = " SELECT 供應商產品.名稱, 供應商產品.單位, 供應商產品.單價, 供應商產品.供應商NO, 供應商產品.[NO]" _
& " FROM 供應商產品 WHERE 供應商產品.供應商NO Like " & s2 & " ORDER BY 供應商產品.[NO];"

以上,僅供參考


2007-01-17 17:57:22 補充:
請問你是否每個 S3 的變數都改了?

2007-01-18 13:18:06 補充:
你必須在每個S3變數裡修正, 也就是 「S3=」 這一行, 把 ORDER BY.. 的敘述加在 最後那個 ";" 的前面, 變成 " ORDER BY 供應商產品.[NO];", 不過這是對 NO 做排序, 如果你希望依 "供應商產品.名稱" 做排序的話, 請改成 " ORDER BY 供應商產品.名稱;"

2007-01-17 11:55:27 · answer #1 · answered by James Chou 7 · 0 0

改這句試試看.
gs = Me!供應商.Column(1)
S3 = " SELECT 名稱, 單位, 單價, 供應商NO, [NO]" _
& " FROM 供應商產品 WHERE 供應商NO Like " & gs & "; order by 名稱 asc "

2007-01-17 15:48:06 補充:
或改下列這一段
Private Sub 供應商_Click()
s2 = Me!供應商.Column(1)
S3 = " SELECT 名稱, 單位, 單價, 供應商NO, [NO]" _
& " FROM 供應商產品 WHERE 供應商NO Like " & s2 & " order by 名稱 asc ;"

2007-01-18 01:01:12 補充:
打開_供應商_資料表設計檢視_點選上方_檢視_屬性
打開屬性單在排序方式輸入 供應商.aaaa
aaaa是你要排序的欄位名稱.
如有問題再連繫.

2007-01-17 10:45:20 · answer #2 · answered by pop 7 · 0 0

fedest.com, questions and answers