|
▼マサ さん:
こんにちは。
>得意先データの表示順序が昇順になっていません。
元々、Access (に限らずデータベース) において、並び順というものは存在しません。
Microsoft サポートページより MDB のレコードの並び順について
http://support.microsoft.com/default.aspx?scid=kb;ja;834927
現在規則通りにならんでいるデータも、ある日突然狂ってしまう場合があります。
>得意先コード:テキスト型 インデックス(重複なし)
>テーブルを表示した順序
該当のテーブルをデザインビューで開き、
ツールバーの [表示] → [インデックス] でインデックスの状態を確認されてみてください。
「並び替え順序」という項目を指定しているため、
テーブルの表示においては並び順が保証されています。
ところが、先に当方が提示させて頂いたコードには何も指定せずにテーブルを開いているために、
並び順に関しては何も保証がされない事になってしまいます。
そこで Recordset を Open する前に並び順について明記してみましょう。
Private Sub 次へ_Click()
'要参照 Microsoft DAO x.x Object Library
Dim RS As DAO.Recordset
Dim strSQL As String
Dim strCode As String
strSQL = "SELECT * FROM テーブル名 ORDER BY 得意先コード"
Set RS = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)
strCode = Me.txt得意先コード.Value
RS.FindFirst "得意先コード = '" & strCode & "'"
RS.MoveNext
If Not RS.EOF Then strCode = RS![得意先コード]
Call xxx(strCode)
RS.Close
Set RS = Nothing
End Sub
|
|