我有我轉換成SQL下面的VBA代碼...在SQL中使用頂部1,而不是循環
Do While Not sRst1.EOF
sRst1.MoveLast
sRst1.MoveFirst
If (sRst1!Field1 = "FileName") Then
Exit Do
End If
sCtr = sCtr + 1
sRst1.MoveNext
Loop
所以基本上我需要抓住的第一條記錄,其中字段1等於文件名,其中如果我沒有弄錯,我可以通過選擇TOP(1)where field1 =「FileName」來完成。另外,我需要返回記錄到達該記錄所需的記錄數。我怎麼能這樣做?
要計算您需要的行數,直到找到第一個匹配爲止,這取決於您遍歷行的順序。如果您沒有明確設置,SQL不保證任何特定的順序。你想要以哪種順序遍歷行? – FrankPl
實際上從來沒有在原始應用程序中指定的順序,記錄集在臨時表中打開,然後光標移動到第一條記錄。 – codingManiac
所以,你只是幸運的,如果你在幾次調用中使用這個方法得到相同的號碼。或者,也許遊標使用了「ORDER BY」? – FrankPl